mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
refactor inputs/outputs views into monolithic exprst
This commit is contained in:
parent
58433c0402
commit
deeaaa0b8b
2 changed files with 52 additions and 52 deletions
102
tek/src/view.rs
102
tek/src/view.rs
|
|
@ -391,33 +391,35 @@ impl Tek {
|
|||
|
||||
// INPUTS /////////////////////////////////////////////////////////////////////////////////////
|
||||
fn view_inputs (&self) -> impl Content<TuiOut> + use<'_> {
|
||||
let fg = Tui::g(224);
|
||||
let key = " I";
|
||||
let label = "midi ins";
|
||||
let count = self.midi_ins.len();
|
||||
let heading = Fill::x(Align::w(self.button3(key, label, format!("{count}"))));
|
||||
let rows = self.io_ports(fg, Tui::g(32), ||self.inputs_sizes());
|
||||
let columns = self.per_track_top(move|t, track|{
|
||||
let rec = track.player.recording;
|
||||
let mon = track.player.monitoring;
|
||||
let rec = if rec { White } else { track.color.darkest.rgb };
|
||||
let mon = if mon { White } else { track.color.darkest.rgb };
|
||||
let bg = if self.selected().track() == Some(t+1) { track.color.light.rgb } else { track.color.base.rgb };
|
||||
let bg2 = if t > 0 { self.tracks()[t - 1].color.base.rgb } else { Reset };
|
||||
Self::wrap(bg, fg, Tui::bold(true, Fill::x(Bsp::e(
|
||||
Tui::fg_bg(rec, bg, "Rec "),
|
||||
Tui::fg_bg(rec, bg, "Mon ")))))});
|
||||
let toggles = self.per_track_top(move|t, track|self.io_connections(
|
||||
track.color.dark.rgb, track.color.darker.rgb, ||self.inputs_sizes()));
|
||||
//let toggles = Map::new(||self.inputs_sizes(), move|(index, name, conn, y, y2), _|
|
||||
//map_south(y as u16, (y2-y) as u16, Self::wrap(bg, fg, Fill::x(Bsp::e(
|
||||
//Tui::fg_bg(rec, bg, format!("{y} {y2} {name}")),
|
||||
//Tui::fg_bg(mon, bg, "M▞▞▞▞"))))));
|
||||
//Bsp::a(Fill::y(Align::n(headers)), Fill::y(Align::n(toggles)))});
|
||||
let fg = Tui::g(224);
|
||||
let key = " I";
|
||||
let label = "midi ins";
|
||||
let count = self.midi_ins.len();
|
||||
Bsp::s(
|
||||
Bsp::s(
|
||||
self.row_top(self.w(), 1, heading, columns),
|
||||
self.row_top(self.w(), self.h_inputs() - 1, rows, toggles),
|
||||
self.row_top(self.w(), 1,
|
||||
Fill::x(Align::w(self.button3(key, label, format!("{count}")))),
|
||||
self.per_track_top(move|t, track|{
|
||||
let rec = track.player.recording;
|
||||
let mon = track.player.monitoring;
|
||||
let rec = if rec { White } else { track.color.darkest.rgb };
|
||||
let mon = if mon { White } else { track.color.darkest.rgb };
|
||||
let bg = if self.selected().track() == Some(t+1) {
|
||||
track.color.light.rgb
|
||||
} else {
|
||||
track.color.base.rgb
|
||||
};
|
||||
let bg2 = if t > 0 { self.tracks()[t - 1].color.base.rgb } else { Reset };
|
||||
Self::wrap(bg, fg, Tui::bold(true, Fill::x(Bsp::e(
|
||||
Tui::fg_bg(rec, bg, "Rec "),
|
||||
Tui::fg_bg(rec, bg, "Mon ")))))})),
|
||||
self.row_top(self.w(), self.h_inputs() - 1,
|
||||
self.io_ports(fg, Tui::g(32), ||self.inputs_sizes()),
|
||||
self.per_track_top(move|t, track|self.io_connections(
|
||||
track.color.dark.rgb,
|
||||
track.color.darker.rgb,
|
||||
||self.inputs_sizes()
|
||||
))),
|
||||
),
|
||||
self.view_clips_into()
|
||||
)
|
||||
|
|
@ -425,34 +427,32 @@ impl Tek {
|
|||
|
||||
// OUTPUTS ////////////////////////////////////////////////////////////////////////////////////
|
||||
fn view_outputs (&self) -> impl Content<TuiOut> + use<'_> {
|
||||
let fg = Tui::g(224);
|
||||
let key = " O";
|
||||
let label = "midi outs";
|
||||
let count = self.midi_outs.len();
|
||||
let heading = Fill::x(Align::w(self.button3(key, label, format!("{count}"))));
|
||||
let rows = self.io_ports(fg, Tui::g(32), ||self.outputs_sizes());
|
||||
let columns = self.per_track_top(move|t, track|{
|
||||
let mute = false;
|
||||
let solo = false;
|
||||
let mute = if mute { White } else { track.color.darkest.rgb };
|
||||
let solo = if solo { White } else { track.color.darkest.rgb };
|
||||
let bg = if self.selected().track() == Some(t+1) { track.color.light.rgb } else { track.color.base.rgb };
|
||||
let bg2 = if t > 0 { self.tracks()[t - 1].color.base.rgb } else { Reset };
|
||||
Self::wrap(bg, fg, Tui::bold(true, Fill::x(Bsp::e(
|
||||
Tui::fg_bg(mute, bg, "Play "),
|
||||
Tui::fg_bg(solo, bg, "Solo ")))))});
|
||||
let toggles = self.per_track_top(move|t, track|self.io_connections(
|
||||
track.color.dark.rgb, track.color.darker.rgb, ||self.outputs_sizes()));
|
||||
//Map::new(||self.outputs_sizes(), move|(index, name, conn, y, y2), _|
|
||||
//map_south(y as u16, (y2-y) as u16, Self::wrap(bg, fg, Fill::x(Bsp::e(
|
||||
//Tui::fg_bg(mute, bg, "P▞▞▞▞"),
|
||||
//Tui::fg_bg(solo, bg, "S▞▞▞▞"))))));
|
||||
//Bsp::a(Fill::y(Align::n(headers)), Fill::y(Align::n(toggles)))});
|
||||
let fg = Tui::g(224);
|
||||
let key = " O";
|
||||
let label = "midi outs";
|
||||
let count = self.midi_outs.len();
|
||||
Align::n(Bsp::s(
|
||||
Bsp::s(self.view_clips_next(), self.view_clips_from()),
|
||||
Bsp::s(
|
||||
self.row_top(self.w(), 1, heading, columns),
|
||||
self.row_top(self.w(), self.h_outputs() - 1, rows, toggles),
|
||||
self.view_clips_next(),
|
||||
self.view_clips_from(),
|
||||
),
|
||||
Bsp::s(
|
||||
self.row_top(self.w(), 1,
|
||||
Fill::x(Align::w(self.button3(key, label, format!("{count}")))),
|
||||
self.per_track_top(move|t, track|{
|
||||
let mute = false;
|
||||
let solo = false;
|
||||
let mute = if mute { White } else { track.color.darkest.rgb };
|
||||
let solo = if solo { White } else { track.color.darkest.rgb };
|
||||
let bg = if self.selected().track() == Some(t+1) { track.color.light.rgb } else { track.color.base.rgb };
|
||||
let bg2 = if t > 0 { self.tracks()[t - 1].color.base.rgb } else { Reset };
|
||||
Self::wrap(bg, fg, Tui::bold(true, Fill::x(Bsp::e(
|
||||
Tui::fg_bg(mute, bg, "Play "),
|
||||
Tui::fg_bg(solo, bg, "Solo ")))))})),
|
||||
self.row_top(self.w(), self.h_outputs() - 1,
|
||||
self.io_ports(fg, Tui::g(32), ||self.outputs_sizes()),
|
||||
self.per_track_top(move|t, track|self.io_connections(
|
||||
track.color.dark.rgb, track.color.darker.rgb, ||self.outputs_sizes()))),
|
||||
)
|
||||
))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
(bsp/s
|
||||
(bsp/n
|
||||
(fixed/y 1 :toolbar)
|
||||
(fill/xy (align/c (bsp/a (fill/xy (align/e :pool))
|
||||
(bsp/a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue