wip: layered keymaps
Some checks failed
/ build (push) Has been cancelled

This commit is contained in:
🪞👃🪞 2025-04-28 23:43:12 +03:00
parent 5696cbbebb
commit 2fd7d7b39f
18 changed files with 355 additions and 360 deletions

View file

@ -6,19 +6,6 @@ macro_rules! ns { ($C:ty, $s:expr, $a:expr, $W:expr) => { <$C>::try_from_expr($s
macro_rules! cmd { ($cmd:expr) => {{ $cmd; None }}; }
macro_rules! cmd_todo { ($msg:literal) => {{ println!($msg); None }}; }
view!(TuiOut: |self: Tek| self.size.of(View(self, self.view)); {
":nil" => Box::new("nil"),
":modal" => self.view_modal(),
":status" => self.view_status(),
":transport" => self.view_transport(),
":arranger" => self.view_arranger(),
":pool" => self.view_pool(),
":editor" => self.editor().map(|e|Bsp::n(Bsp::e(e.clip_status(), e.edit_status()), e)),
":samples-keys" => self.sampler().map(|s|s.view_list(false, self.editor().unwrap())),
":samples-grid" => self.sampler().map(|s|s.view_grid()),
":sample-viewer" => self.sampler().map(|s|s.view_sample(self.editor().unwrap().note_pos())),
});
expose!([self: Tek]
([bool])
([isize])
@ -45,6 +32,13 @@ expose!([self: Tek]
(":track-next" self.selected.track_next(self.tracks.len()))
(":track-prev" self.selected.track_prev())));
handle!(TuiIn: |self: Tek, input|Ok(if let Some(command) = self.keys.command(self, input) {
let undo = command.execute(self)?;
Some(true)
} else {
None
}));
impose!([app: Tek]
(TekCommand:
("menu" [] Some(Self::ToggleMenu))