fix time trait usage

This commit is contained in:
🪞👃🪞 2024-11-01 15:27:06 +02:00
parent dc38fd3d52
commit 799228e366
7 changed files with 36 additions and 47 deletions

View file

@ -24,36 +24,30 @@ impl TransportToolbar<Tui> {
Ok(Some(true))
}
fn handle_bpm (&mut self, from: &TuiInput) -> Perhaps<bool> {
let bpm = self.clock.timebase.bpm();
let bpm = self.clock.timebase.bpm().get();
match from.event() {
key!(KeyCode::Char(',')) => { self.clock.timebase.set_bpm(bpm - 1.0); },
key!(KeyCode::Char('.')) => { self.clock.timebase.set_bpm(bpm + 1.0); },
key!(KeyCode::Char('<')) => { self.clock.timebase.set_bpm(bpm - 0.001); },
key!(KeyCode::Char('>')) => { self.clock.timebase.set_bpm(bpm + 0.001); },
key!(KeyCode::Char(',')) => { self.clock.timebase.bpm.set(bpm - 1.0); },
key!(KeyCode::Char('.')) => { self.clock.timebase.bpm.set(bpm + 1.0); },
key!(KeyCode::Char('<')) => { self.clock.timebase.bpm.set(bpm - 0.001); },
key!(KeyCode::Char('>')) => { self.clock.timebase.bpm.set(bpm + 0.001); },
_ => return Ok(None)
}
Ok(Some(true))
}
fn handle_quant (&mut self, from: &TuiInput) -> Perhaps<bool> {
let quant = self.clock.quant().get() as usize;
match from.event() {
key!(KeyCode::Char(',')) => {
self.clock.set_quant(prev_note_length(self.clock.quant()));
},
key!(KeyCode::Char('.')) => {
self.clock.set_quant(next_note_length(self.clock.quant()));
},
key!(KeyCode::Char(',')) => { self.clock.quant.set(prev_note_length(quant) as f64); },
key!(KeyCode::Char('.')) => { self.clock.quant.set(next_note_length(quant) as f64); },
_ => return Ok(None)
}
return Ok(Some(true))
}
fn handle_sync (&mut self, from: &TuiInput) -> Perhaps<bool> {
let sync = self.clock.sync().get() as usize;
match from.event() {
key!(KeyCode::Char(',')) => {
self.clock.set_quant(prev_note_length(self.clock.sync()));
},
key!(KeyCode::Char('.')) => {
self.clock.set_quant(next_note_length(self.clock.sync()));
},
key!(KeyCode::Char(',')) => { self.clock.quant.set(prev_note_length(sync) as f64); },
key!(KeyCode::Char('.')) => { self.clock.quant.set(next_note_length(sync) as f64); },
_ => return Ok(None)
}
return Ok(Some(true))