reset transport position on stop

This commit is contained in:
🪞👃🪞 2024-10-21 22:59:33 +03:00
parent 7aad6d1678
commit 61992ab2a2

View file

@ -7,12 +7,12 @@ impl<E: Engine> Audio for TransportToolbar<E> {
}
impl<E: Engine> TransportToolbar<E> {
pub fn update (&mut self, scope: &ProcessScope) -> (bool, usize, usize, usize, usize, f64) {
let times = scope.cycle_times().unwrap();
let times = scope.cycle_times().unwrap();
let CycleTimes { current_frames, current_usecs, next_usecs, period_usecs } = times;
let chunk_size = scope.n_frames() as usize;
let transport = self.transport.as_ref().unwrap().query().unwrap();
self.frame = transport.pos.frame() as usize;
let mut reset = false;
let transport = self.transport.as_ref().unwrap().query().unwrap();
self.frame = transport.pos.frame() as usize;
let mut reset = false;
if self.playing != Some(transport.state) {
match transport.state {
TransportState::Rolling => {
@ -26,8 +26,11 @@ impl<E: Engine> TransportToolbar<E> {
}
}
self.playing = Some(transport.state);
if self.playing == Some(TransportState::Stopped) {
self.started = None;
}
match self.started {
Some((frames, usecs)) => {
Some((_, usecs)) => {
self.usecs = current_usecs as usize - usecs;
},
None => {