arranger/sequencer control

This commit is contained in:
🪞👃🪞 2024-08-18 20:01:09 +03:00
parent a533951fc6
commit 52e9613d52
6 changed files with 243 additions and 209 deletions

View file

@ -1,6 +1,24 @@
use crate::*;
handle!(Arranger |self, e| handle_keymap(self, e, KEYMAP_ARRANGER));
handle!(Arranger |self, e| {
match e {
AppEvent::Input(Event::Key(k)) => {
if k.code == KeyCode::Tab {
self.focus_sequencer = !self.focus_sequencer;
Ok(true)
} else if self.focus_sequencer {
if let Some(sequencer) = self.sequencer_mut() {
handle_keymap(sequencer, e, KEYMAP_SEQUENCER)
} else {
Ok(false)
}
} else {
handle_keymap(self, e, KEYMAP_ARRANGER)
}
},
_ => Ok(false),
}
});
/// Key bindings for arranger section.
pub const KEYMAP_ARRANGER: &'static [KeyBinding<Arranger>] = keymap!(Arranger {