mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
wip: more api refactor
This commit is contained in:
parent
04af945ea0
commit
a6100ab1d6
3 changed files with 13 additions and 24 deletions
|
|
@ -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())))
|
||||
|
|
|
|||
|
|
@ -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
2
deps/tengri
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 7df7cb839c14c0e010ce36519c75ffacc0e76c18
|
||||
Subproject commit fa10f7d4d36924beae83d2136d180c2006508ae9
|
||||
Loading…
Add table
Add a link
Reference in a new issue