mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 04:06:45 +01:00
46 lines
2.1 KiB
Rust
46 lines
2.1 KiB
Rust
use crate::*;
|
|
impl Tek {
|
|
pub fn view_inputs (&self) -> impl Content<TuiOut> + use<'_> {
|
|
let fg = Tui::g(224);
|
|
Bsp::s(
|
|
Bsp::s(
|
|
self.row_top(self.w(), 1,
|
|
Fill::x(Align::w(Bsp::e(
|
|
self.button3(" i", "midi ins", format!("{}", self.midi_ins.len())),
|
|
self.button2(" I", "add midi in"),
|
|
))),
|
|
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(mon, 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()
|
|
)
|
|
}
|
|
fn view_clips_into (&self) -> impl Content<TuiOut> + use<'_> {
|
|
let w = (self.size.w() as u16).saturating_sub(2 * self.w_sidebar());
|
|
self.row_top(w, 2,
|
|
Bsp::s(Align::e("Input:"), Align::e("Into:")),
|
|
self.per_track_top(|_, _|Tui::bg(Reset, Align::c(Bsp::s(
|
|
OctaveVertical::default(),
|
|
" ------ "
|
|
)))))
|
|
}
|
|
}
|