diff --git a/src/midi/shared/timer.rs b/src/midi/shared/timer.rs index 4d80344..5e27ade 100644 --- a/src/midi/shared/timer.rs +++ b/src/midi/shared/timer.rs @@ -120,10 +120,14 @@ impl TimeKeeper { } pub fn seek(&mut self, time: Duration) { - self.current_state = TimerState::Running { - continue_time: Instant::now(), - time_offset: time, - }; + if self.current_state.is_paused() { + self.current_state = TimerState::Paused { time_offset: time }; + } else { + self.current_state = TimerState::Running { + continue_time: Instant::now(), + time_offset: time, + }; + } self.notify_listeners(true); } }