wip: more api refactor

This commit is contained in:
🪞👃🪞 2025-05-08 02:54:26 +03:00
parent 04af945ea0
commit a6100ab1d6
3 changed files with 13 additions and 24 deletions

View file

@ -214,6 +214,18 @@ impl MidiEditor {
#[tengri_proc::command(Tek)]
impl TekCommand {
fn toggle_help (&self, state: &mut Tek, value: Option<bool>) -> Option<Self> {
//(ToggleHelp [] cmd!(app.toggle_dialog(Some(Dialog::Help))))
None
}
fn toggle_menu (&self, state: &mut Tek, value: Option<bool>) -> Option<Self> {
//(ToggleMenu [] cmd!(app.toggle_dialog(Some(Dialog::Menu))))
None
}
fn toggle_edit (&self, state: &mut Tek, value: Option<bool>) -> Option<Self> {
//(Edit [value: Option<bool>] 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<usize>] cmd_todo!("\n\rtodo: zoom {z:?}"))
//(Edit [value: Option<bool>] cmd!(app.toggle_editor(value)))
//(Launch [] cmd!(app.launch()))
//(Select [s: Selection] cmd!(app.select(s)))
//(StopAll [] cmd!(app.stop_all())))

View file

@ -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<TuiOut> + use<'_> {
"nil"
}
#[tengri::view(":status")]
fn view_status (&self) -> impl Content<TuiOut> + 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<TuiOut> + 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<TuiOut> + use<'_> {
ArrangerView::new(self)
}
#[tengri::view(":pool")]
fn view_pool (&self) -> impl Content<TuiOut> + use<'_> {
self.pool().map(|p|Fixed::x(self.w_sidebar(), PoolView(self.is_editing(), p)))
}
#[tengri::view(":editor")]
fn view_editor (&self) -> impl Content<TuiOut> + 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<TuiOut> + use<'_> {
self.sampler().map(|s|s.view_list(false, self.editor().unwrap()))
}
#[tengri::view(":samples-grid")]
fn view_samples_grid (&self) -> impl Content<TuiOut> + use<'_> {
self.sampler().map(|s|s.view_grid())
}
#[tengri::view(":sample-viewer")]
fn view_sample_viewer (&self) -> impl Content<TuiOut> + use<'_> {
self.sampler().map(|s|s.view_sample(self.editor().unwrap().note_pos()))
}
#[tengri::view(":dialog")]
fn view_dialog (&self) -> impl Content<TuiOut> + use<'_> {
When::new(self.dialog.is_some(), Bsp::b(
Fill::xy(Tui::fg_bg(Rgb(64,64,64), Rgb(32,32,32), "")),

2
deps/tengri vendored

@ -1 +1 @@
Subproject commit 7df7cb839c14c0e010ce36519c75ffacc0e76c18
Subproject commit fa10f7d4d36924beae83d2136d180c2006508ae9