diff --git a/midi/edn/midi_keys.edn b/midi/edn/midi-keys.edn similarity index 100% rename from midi/edn/midi_keys.edn rename to midi/edn/midi-keys.edn diff --git a/midi/edn/midi-view.edn b/midi/edn/midi-view.edn new file mode 100644 index 00000000..e69de29b diff --git a/midi/edn/piano-view-h.edn b/midi/edn/piano-view-h.edn new file mode 100644 index 00000000..e69de29b diff --git a/midi/edn/piano-view-v.edn b/midi/edn/piano-view-v.edn new file mode 100644 index 00000000..e69de29b diff --git a/midi/edn/pool_keys.edn b/midi/edn/pool-keys.edn similarity index 100% rename from midi/edn/pool_keys.edn rename to midi/edn/pool-keys.edn diff --git a/midi/src/midi_editor.rs b/midi/src/midi_editor.rs index 3e93d694..ef2693de 100644 --- a/midi/src/midi_editor.rs +++ b/midi/src/midi_editor.rs @@ -14,8 +14,9 @@ pub trait HasEditor { } /// Contains state for viewing and editing a clip pub struct MidiEditor { - pub mode: PianoHorizontal, - pub size: Measure + pub mode: PianoHorizontal, + pub size: Measure, + pub keymap: EdnKeymap, } from!(|clip: &Arc>|MidiEditor = { let model = Self::from(Some(clip.clone())); @@ -30,9 +31,14 @@ from!(|clip: Option>>|MidiEditor = { }); impl Default for MidiEditor { fn default () -> Self { - let mode = PianoHorizontal::new(None); - mode.redraw(); - Self { mode, size: Measure::new() } + Self { + mode: PianoHorizontal::new(None), + size: Measure::new(), + keymap: EdnKeymap( + EdnItem::::read_all(include_str!("../edn/midi-keys.edn")) + .expect("failed to load keymap for MidiEditor") + ) + } } } has_size!(|self: MidiEditor|&self.size); diff --git a/plugin/edn/plugin-keys.edn b/plugin/edn/plugin-keys.edn new file mode 100644 index 00000000..e69de29b diff --git a/plugin/edn/plugin-view.edn b/plugin/edn/plugin-view.edn new file mode 100644 index 00000000..e69de29b diff --git a/tek/edn/arranger_keys.edn b/tek/edn/arranger-keys.edn similarity index 100% rename from tek/edn/arranger_keys.edn rename to tek/edn/arranger-keys.edn diff --git a/tek/edn/arranger.edn b/tek/edn/arranger-view.edn similarity index 100% rename from tek/edn/arranger.edn rename to tek/edn/arranger-view.edn diff --git a/tek/edn/groovebox.edn b/tek/edn/groovebox-view.edn similarity index 100% rename from tek/edn/groovebox.edn rename to tek/edn/groovebox-view.edn diff --git a/tek/edn/sequencer.edn b/tek/edn/sequencer-view.edn similarity index 100% rename from tek/edn/sequencer.edn rename to tek/edn/sequencer-view.edn diff --git a/tek/src/model.rs b/tek/src/model.rs index 1887de52..f594c6e4 100644 --- a/tek/src/model.rs +++ b/tek/src/model.rs @@ -33,7 +33,7 @@ impl App { midi_tos: &[PortConnection], ) -> Self { Self { - edn: include_str!("../edn/sequencer.edn").to_string(), + edn: include_str!("../edn/sequencer-view.edn").to_string(), jack: jack.clone(), pool: Some(pool), editor: Some(editor), @@ -56,7 +56,7 @@ impl App { audio_tos: &[&[PortConnection]], ) -> Self { Self { - edn: include_str!("../edn/groovebox.edn").to_string(), + edn: include_str!("../edn/groovebox-view.edn").to_string(), sampler: Some(sampler), ..Self::sequencer( jack, pool, editor, @@ -78,7 +78,7 @@ impl App { track_width: usize, ) -> Self { let mut arranger = Self { - edn: include_str!("../edn/arranger.edn").to_string(), + edn: include_str!("../edn/arranger-view.edn").to_string(), ..Self::groovebox( jack, pool, editor, None, midi_froms, midi_tos,