diff --git a/crates/tek_core/src/command.rs b/crates/tek_core/src/command.rs index 000f9921..a71c9d0d 100644 --- a/crates/tek_core/src/command.rs +++ b/crates/tek_core/src/command.rs @@ -26,7 +26,7 @@ pub trait Command: Sized { } pub trait HandleKey + 'static>: Sized { - const HANDLE_KEY_MAP: &'static [(KeyEvent, C)]; + const HANDLE_KEY_MAP: &'static [(KeyEvent, C)]; // FIXME: needs to be method fn match_key (key: &KeyEvent) -> Option<&'static C> { for (binding, command) in Self::HANDLE_KEY_MAP.iter() { if key == binding { diff --git a/crates/tek_sequencer/src/arranger_cmd.rs b/crates/tek_sequencer/src/arranger_cmd.rs index 7ff8b09a..e199762d 100644 --- a/crates/tek_sequencer/src/arranger_cmd.rs +++ b/crates/tek_sequencer/src/arranger_cmd.rs @@ -1,4 +1,42 @@ use crate::*; + +#[derive(Clone, PartialEq)] +enum ArrangerCommand { + FocusNext, + FocusPrev, + FocusUp, + FocusDown, + FocusLeft, + FocusRight, + Transport(TransportCommand), + Phrase(PhrasePoolCommand), + Editor(PhraseEditorCommand), + Arrangement(ArrangementCommand), +} + +#[derive(Clone, PartialEq)] +enum ArrangementCommand { + ToggleViewMode, + Delete, + Activate, + Increment, + Decrement, + ZoomIn, + ZoomOut, + MoveBack, + MoveForward, + RandomColor, + Put, + Get, + AddScene, + AddTrack, + ToggleLoop, + GoUp, + GoDown, + GoLeft, + GoRight, +} + /// Handle top-level events in standalone arranger. impl Handle for Arranger { fn handle (&mut self, from: &TuiInput) -> Perhaps { diff --git a/crates/tek_sequencer/src/sequencer_cmd.rs b/crates/tek_sequencer/src/sequencer_cmd.rs index b8a0cf55..9b7fc686 100644 --- a/crates/tek_sequencer/src/sequencer_cmd.rs +++ b/crates/tek_sequencer/src/sequencer_cmd.rs @@ -11,7 +11,6 @@ enum SequencerCommand { Transport(TransportCommand), Phrase(PhrasePoolCommand), Editor(PhraseEditorCommand), - // TODO: 1-8 seek markers that by default start every 8th of the phrase } #[derive(Clone, PartialEq)] pub enum PhrasePoolCommand { @@ -50,6 +49,7 @@ pub enum PhraseLengthCommand { } #[derive(Clone, PartialEq)] pub enum PhraseEditorCommand { + // TODO: 1-9 seek markers that by default start every 8th of the phrase ToggleDirection, EnterEditMode, ExitEditMode,