tek/src/mixer/_tui.rs
unspeaker d6bf840a1f wip: running interface in separate or combined mode
also disassociating render functions from state structs
2024-07-04 01:36:30 +03:00

39 lines
1.1 KiB
Rust

use super::Mixer;
impl<W: Write> Input<TUI<W>, bool> for Mixer {
fn handle (&mut self, engine: &mut TUI<W>) -> Result<Option<bool>> {
Ok(None)
}
}
impl<W: Write> Output<TUI<W>, [u16;2]> for Mixer {
fn render (&self, envine: &mut TUI<W>) -> Result<Option<[u16;2]>> {
let tracks_table = Columns::new()
.add(titles)
.add(input_meters)
.add(gains)
.add(gain_meters)
.add(pres)
.add(pre_meters)
.add(levels)
.add(pans)
.add(pan_meters)
.add(posts)
.add(routes)
Rows::new()
.add(Columns::new()
.add(Rows::new()
.add("[Arrows]".bold())
.add("Navigate"))
.add(Rows::new()
.add("[+/-]".bold())
.add("Adjust"))
.add(Rows::new()
.add("[Ins/Del]".bold())
.add("Add/remove track")))
.add(tracks_table)
.render(engine)
}
}