edit phrase from arrangement

This commit is contained in:
🪞👃🪞 2024-10-16 12:58:43 +03:00
parent d29dd56198
commit eac8986548

View file

@ -32,10 +32,10 @@ impl Handle<Tui> for Arranger<Tui> {
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<Tui> for Arranger<Tui> {
impl Handle<Tui> for Arrangement<Tui> {
fn handle (&mut self, from: &TuiInput) -> Perhaps<bool> {
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()
},