diff --git a/crates/app/src/api.rs b/crates/app/src/api.rs index 0a15ee56..157fd843 100644 --- a/crates/app/src/api.rs +++ b/crates/app/src/api.rs @@ -214,6 +214,18 @@ impl MidiEditor { #[tengri_proc::command(Tek)] impl TekCommand { + fn toggle_help (&self, state: &mut Tek, value: Option) -> Option { + //(ToggleHelp [] cmd!(app.toggle_dialog(Some(Dialog::Help)))) + None + } + fn toggle_menu (&self, state: &mut Tek, value: Option) -> Option { + //(ToggleMenu [] cmd!(app.toggle_dialog(Some(Dialog::Menu)))) + None + } + fn toggle_edit (&self, state: &mut Tek, value: Option) -> Option { + //(Edit [value: Option] cmd!(app.toggle_editor(value))) + None + } //(Sampler [cmd: SamplerCommand] app.sampler_mut().map(|s|cmd.delegate(s, Self::Sampler)).transpose()?.flatten()) //(Scene [cmd: SceneCommand] cmd.delegate(app, Self::Scene)?) //(Track [cmd: TrackCommand] cmd.delegate(app, Self::Track)?) @@ -225,13 +237,10 @@ impl TekCommand { //(Message [cmd: MessageCommand] cmd.delegate(app, Self::Message)?) //(Editor [cmd: MidiEditCommand] delegate_to_editor(app, cmd)?) //(Pool [cmd: PoolCommand] delegate_to_pool(app, cmd)?) - //(ToggleHelp [] cmd!(app.toggle_dialog(Some(Dialog::Help)))) - //(ToggleMenu [] cmd!(app.toggle_dialog(Some(Dialog::Menu)))) //(Color [p: ItemTheme] app.set_color(Some(p)).map(Self::Color)) //(Enqueue [c: MaybeClip] cmd_todo!("\n\rtodo: enqueue {c:?}")) //(History [d: isize] cmd_todo!("\n\rtodo: history {d:?}")) //(Zoom [z: Option] cmd_todo!("\n\rtodo: zoom {z:?}")) - //(Edit [value: Option] cmd!(app.toggle_editor(value))) //(Launch [] cmd!(app.launch())) //(Select [s: Selection] cmd!(app.select(s))) //(StopAll [] cmd!(app.stop_all()))) diff --git a/crates/app/src/view.rs b/crates/app/src/view.rs index 164065b3..8b251e7e 100644 --- a/crates/app/src/view.rs +++ b/crates/app/src/view.rs @@ -4,13 +4,9 @@ pub(crate) use ::tengri::tui::ratatui::prelude::Position; #[tengri_proc::view(TuiOut)] impl Tek { - - #[tengri::view(":nil")] fn view_nil (&self) -> impl Content + use<'_> { "nil" } - - #[tengri::view(":status")] fn view_status (&self) -> impl Content + use<'_> { self.update_clock(); let cache = self.view_cache.read().unwrap(); @@ -19,8 +15,6 @@ impl Tek { cache.sr.view.clone(), cache.buf.view.clone(), cache.lat.view.clone(), ) } - - #[tengri::view(":transport")] fn view_transport (&self) -> impl Content + use<'_> { self.update_clock(); let cache = self.view_cache.read().unwrap(); @@ -29,38 +23,24 @@ impl Tek { cache.bpm.view.clone(), cache.beat.view.clone(), cache.time.view.clone(), ) } - - #[tengri::view(":arranger")] fn view_arranger (&self) -> impl Content + use<'_> { ArrangerView::new(self) } - - #[tengri::view(":pool")] fn view_pool (&self) -> impl Content + use<'_> { self.pool().map(|p|Fixed::x(self.w_sidebar(), PoolView(self.is_editing(), p))) } - - #[tengri::view(":editor")] fn view_editor (&self) -> impl Content + use<'_> { self.editor().map(|e|Bsp::n(Bsp::e(e.clip_status(), e.edit_status()), e)) } - - #[tengri::view(":samples-keys")] fn view_samples_keys (&self) -> impl Content + use<'_> { self.sampler().map(|s|s.view_list(false, self.editor().unwrap())) } - - #[tengri::view(":samples-grid")] fn view_samples_grid (&self) -> impl Content + use<'_> { self.sampler().map(|s|s.view_grid()) } - - #[tengri::view(":sample-viewer")] fn view_sample_viewer (&self) -> impl Content + use<'_> { self.sampler().map(|s|s.view_sample(self.editor().unwrap().note_pos())) } - - #[tengri::view(":dialog")] fn view_dialog (&self) -> impl Content + use<'_> { When::new(self.dialog.is_some(), Bsp::b( Fill::xy(Tui::fg_bg(Rgb(64,64,64), Rgb(32,32,32), "")), diff --git a/deps/tengri b/deps/tengri index 7df7cb83..fa10f7d4 160000 --- a/deps/tengri +++ b/deps/tengri @@ -1 +1 @@ -Subproject commit 7df7cb839c14c0e010ce36519c75ffacc0e76c18 +Subproject commit fa10f7d4d36924beae83d2136d180c2006508ae9