diff --git a/crates/tek_sequencer/src/arranger_cmd.rs b/crates/tek_sequencer/src/arranger_cmd.rs index c5dad34d..3bac036d 100644 --- a/crates/tek_sequencer/src/arranger_cmd.rs +++ b/crates/tek_sequencer/src/arranger_cmd.rs @@ -32,10 +32,10 @@ impl Handle for Arranger { key!(KeyCode::Down) => { self.focus_down(); }, key!(KeyCode::Left) => { self.focus_left(); }, key!(KeyCode::Right) => { self.focus_right(); }, - // Put selected phrase at position - key!(KeyCode::Char('s')) => { self.arrangement.phrase_put(); }, - // Select phrase at current position - key!(KeyCode::Char('g')) => { self.arrangement.phrase_get(); }, + key!(KeyCode::Char('e')) => { + self.editor.phrase = self.arrangement.phrase().clone(); + self.focus_cursor = (1, 2); + } // Global play/pause binding key!(KeyCode::Char(' ')) => match self.transport { Some(ref mut transport) => { transport.write().unwrap().toggle_play()?; }, @@ -50,15 +50,20 @@ impl Handle for Arranger { impl Handle for Arrangement { fn handle (&mut self, from: &TuiInput) -> Perhaps { match from.event() { - key!(KeyCode::Char('`')) => { self.mode.to_next(); }, - key!(KeyCode::Delete) => { self.delete(); }, - key!(KeyCode::Char('.')) => { self.increment(); }, - key!(KeyCode::Char(',')) => { self.decrement(); }, - // TODO: next/prev scene - key!(KeyCode::Enter) => { self.activate(); }, + key!(KeyCode::Char('`')) => { self.mode.to_next(); }, + key!(KeyCode::Delete) => { self.delete(); }, + key!(KeyCode::Enter) => { self.activate(); }, + key!(KeyCode::Char('.')) => { self.increment(); }, + key!(KeyCode::Char(',')) => { self.decrement(); }, + //key!(KeyCode::Char('<')) => { self.move_back(); }, + //key!(KeyCode::Char('>')) => { self.move_forward(); }, + // Put selected phrase at position + key!(KeyCode::Char('s')) => { self.phrase_put(); }, + // Select phrase at current position + key!(KeyCode::Char('g')) => { self.phrase_get(); }, key!(Ctrl-KeyCode::Char('a')) => { self.scene_add(None, None)?; }, key!(Ctrl-KeyCode::Char('t')) => { self.track_add(None, None)?; }, - key!(KeyCode::Char('n')) => { todo!("rename selected"); }, + key!(KeyCode::Char('n')) => { todo!("rename selected"); }, key!(KeyCode::Char('l')) => if let Some(phrase) = self.phrase() { phrase.write().unwrap().toggle_loop() },