From 738495030216840b8be8d5914eca822d0508a9f2 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Thu, 14 Nov 2024 15:23:09 +0100 Subject: [PATCH] wip: refactor pt.25: 15 errors --- crates/tek_tui/src/tui_arranger_cmd.rs | 1 + crates/tek_tui/src/tui_transport_cmd.rs | 52 ++++++++++--------------- 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/crates/tek_tui/src/tui_arranger_cmd.rs b/crates/tek_tui/src/tui_arranger_cmd.rs index df945438..39562edf 100644 --- a/crates/tek_tui/src/tui_arranger_cmd.rs +++ b/crates/tek_tui/src/tui_arranger_cmd.rs @@ -188,6 +188,7 @@ impl Command> for ArrangerViewCommand { }, Self::Select(selected) => { view.selected = selected; + Ok(None) }, Self::Edit(command) => { return Ok(command.execute(&mut view.model)?.map(Self::Edit)) diff --git a/crates/tek_tui/src/tui_transport_cmd.rs b/crates/tek_tui/src/tui_transport_cmd.rs index 867be8e9..78c08d04 100644 --- a/crates/tek_tui/src/tui_transport_cmd.rs +++ b/crates/tek_tui/src/tui_transport_cmd.rs @@ -17,37 +17,37 @@ impl InputToCommand> for TransportViewCommand { use TransportViewFocus as Focus; use FocusCommand as FocusCmd; use TransportCommand as Cmd; - let model = view.model.read().unwrap(); + let clock = view.model.clock(); Some(match input.event() { key!(KeyCode::Left) => Self::Focus(FocusCmd::Prev), key!(KeyCode::Right) => Self::Focus(FocusCmd::Next), key!(KeyCode::Char('.')) => Self::Transport(match view.focus { - Focus::Bpm => Cmd::SetBpm(model.clock.timebase().bpm.get() + 1.0), - Focus::Quant => Cmd::SetQuant(next_note_length(model.clock.quant.get()as usize)as f64), - Focus::Sync => Cmd::SetSync(next_note_length(model.clock.sync.get()as usize)as f64+1.), + Focus::Bpm => Cmd::SetBpm(clock.timebase().bpm.get() + 1.0), + Focus::Quant => Cmd::SetQuant(next_note_length(clock.quant.get()as usize)as f64), + Focus::Sync => Cmd::SetSync(next_note_length(clock.sync.get()as usize)as f64+1.), Focus::PlayPause => {todo!()}, Focus::Clock => {todo!()} }), key!(KeyCode::Char(',')) => Self::Transport(match view.focus { - Focus::Bpm => Cmd::SetBpm(model.clock.timebase().bpm.get() - 1.0), - Focus::Quant => Cmd::SetQuant(prev_note_length(model.clock.quant.get()as usize)as f64), - Focus::Sync => Cmd::SetSync(prev_note_length(model.clock.sync.get()as usize)as f64+1.), + Focus::Bpm => Cmd::SetBpm(clock.timebase().bpm.get() - 1.0), + Focus::Quant => Cmd::SetQuant(prev_note_length(clock.quant.get()as usize)as f64), + Focus::Sync => Cmd::SetSync(prev_note_length(clock.sync.get()as usize)as f64+1.), Focus::PlayPause => {todo!()}, Focus::Clock => {todo!()} }), key!(KeyCode::Char('>')) => Self::Transport(match view.focus { - Focus::Bpm => Cmd::SetBpm(model.clock.timebase().bpm.get() + 0.001), - Focus::Quant => Cmd::SetQuant(next_note_length(model.clock.quant.get()as usize)as f64), - Focus::Sync => Cmd::SetSync(next_note_length(model.clock.sync.get()as usize)as f64+1.), + Focus::Bpm => Cmd::SetBpm(clock.timebase().bpm.get() + 0.001), + Focus::Quant => Cmd::SetQuant(next_note_length(clock.quant.get()as usize)as f64), + Focus::Sync => Cmd::SetSync(next_note_length(clock.sync.get()as usize)as f64+1.), Focus::PlayPause => {todo!()}, Focus::Clock => {todo!()} }), key!(KeyCode::Char('<')) => Self::Transport(match view.focus { - Focus::Bpm => Cmd::SetBpm(model.clock.timebase().bpm.get() - 0.001), - Focus::Quant => Cmd::SetQuant(prev_note_length(model.clock.quant.get()as usize)as f64), - Focus::Sync => Cmd::SetSync(prev_note_length(model.clock.sync.get()as usize)as f64+1.), + Focus::Bpm => Cmd::SetBpm(clock.timebase().bpm.get() - 0.001), + Focus::Quant => Cmd::SetQuant(prev_note_length(clock.quant.get()as usize)as f64), + Focus::Sync => Cmd::SetSync(prev_note_length(clock.sync.get()as usize)as f64+1.), Focus::PlayPause => {todo!()}, Focus::Clock => {todo!()} }), @@ -59,34 +59,22 @@ impl InputToCommand> for TransportViewCommand { impl Command> for TransportViewCommand { fn execute (self, view: &mut TransportView) -> Perhaps { - let model = view.model.read().unwrap(); + let clock = view.model.clock(); Ok(Some(match self { Self::Focus(command) => Self::Focus({ use FocusCommand::*; match command { - Next => { - todo!() - }, - Prev => { - todo!() - }, - _ => { - todo!() - } + Next => { todo!() }, + Prev => { todo!() }, + _ => { todo!() } } }), Self::Transport(command) => Self::Transport({ use TransportCommand::*; match command { - SetBpm(bpm) => SetBpm( - model.clock.timebase().bpm.set(bpm) - ), - SetQuant(quant) => SetQuant( - model.clock.quant.set(quant) - ), - SetSync(sync) => SetSync( - model.clock.sync.set(sync) - ), + SetBpm(bpm) => SetBpm(clock.timebase().bpm.set(bpm)), + SetQuant(quant) => SetQuant(clock.quant.set(quant)), + SetSync(sync) => SetSync(clock.sync.set(sync)), _ => { todo!() }