mirror of
https://codeberg.org/unspeaker/tek.git
synced 2026-10-08 18:56:42 +02:00
This commit is contained in:
parent
f57ca9af84
commit
f743d9fb4d
7 changed files with 104 additions and 98 deletions
|
|
@ -369,26 +369,16 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
|
||||
/// Draw name of each track
|
||||
fn view_track_names (&self, theme: ItemTheme) -> impl Draw<Tui> {
|
||||
let selected = self.selection();
|
||||
let btn1t = button_3("t", "rack ", east(
|
||||
selected.track().map(|track|east(track, "/")),
|
||||
self.tracks().len()
|
||||
), false);
|
||||
let btn1s = button_3("s", "cene ", east(
|
||||
selected.scene().map(|scene|east(scene, "/")),
|
||||
self.scenes().len()
|
||||
), false);
|
||||
let btn1t = self.view_track_count();
|
||||
let btn1s = self.view_scene_count();
|
||||
let btns1 = south(btn1t, btn1s);
|
||||
let btns2 = south(
|
||||
button_2("T", "+", false),
|
||||
button_2("S", "+", false),
|
||||
);
|
||||
let btns2 = south(self.view_track_add(), self.view_scene_add());
|
||||
view_track_row_section(theme,
|
||||
btns1,
|
||||
btns2,
|
||||
bg(theme.darker.term,
|
||||
iter_east(||self.tracks_with_sizes().map(|(index, track, _x1, _x2)|{
|
||||
let b = if selected.track() == Some(index) {
|
||||
let b = if self.selection().track() == Some(index) {
|
||||
track.color.light.term
|
||||
} else {
|
||||
track.color.base.term
|
||||
|
|
@ -409,20 +399,6 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
}))))
|
||||
}
|
||||
|
||||
fn view_track_output_count (&self) -> impl Draw<Tui> {
|
||||
south(button_2("o", "utput", false).align_w().full_w(),
|
||||
draw(|to: &mut Tui|{
|
||||
for port in self.midi_outs().iter() {
|
||||
let _ = port.port_name().align_w().full_w().draw(to)?;
|
||||
}
|
||||
Ok(Some(XYWH(0, 0, 0, 0)))
|
||||
}))
|
||||
}
|
||||
|
||||
fn view_track_output_add (&self) -> impl Draw<Tui> {
|
||||
button_2("O", "+", false)
|
||||
}
|
||||
|
||||
/// Draw outputs per track
|
||||
fn view_track_outputs <'a> (&'a self, theme: ItemTheme, _h: u16) -> impl Draw<Tui> {
|
||||
view_track_row_section(theme,
|
||||
|
|
@ -441,14 +417,6 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
}))))
|
||||
}
|
||||
|
||||
fn view_track_input_count (&self) -> impl Draw<Tui> {
|
||||
button_2("i", "nput", false)
|
||||
}
|
||||
|
||||
fn view_track_input_add (&self) -> impl Draw<Tui> {
|
||||
button_2("I", "+", false)
|
||||
}
|
||||
|
||||
/// Draw inputs per track
|
||||
fn view_track_inputs <'a> (&'a self, theme: ItemTheme) -> impl Draw<Tui> {
|
||||
let mut height = 0u16;
|
||||
|
|
@ -479,8 +447,8 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
|
||||
fn view_track_devices (&self, theme: ItemTheme) -> impl Draw<Tui> {
|
||||
let height = self.tracks_devices_height();
|
||||
let btn1 = button_3("d", "evice", self.track().map(|t|t.devices.len()).unwrap_or(0), false);
|
||||
let btn2 = button_2("D", "+", false);
|
||||
let btn1 = button_3("d", "evice", self.track().map(|t|t.devices.len()).unwrap_or(0), false).min_h(2);
|
||||
let btn2 = self.view_track_device_add();
|
||||
view_track_row_section(theme, btn1, btn2, iter_east(move||self.tracks_with_sizes()
|
||||
.enumerate()
|
||||
.map(move|(index, (_, track, _x1, _x2))|bg(
|
||||
|
|
@ -508,7 +476,7 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
|
||||
fn view_inputs (&self, _theme: ItemTheme) -> impl Draw<Tui> + '_ {
|
||||
let title_1 = button_3("i", "nput ", self.midi_ins().len(), false).align_w().exact_wh(20, 1);
|
||||
let title_2 = button_2("I", "+", false).exact_wh(4, 1);
|
||||
let title_2 = self.view_track_input_add().exact_wh(4, 1);
|
||||
east(title_1, west(title_2, draw(move|to: &mut Tui|{
|
||||
for (_index, track, x1, _x2) in self.tracks_with_sizes() {
|
||||
let _ = south(
|
||||
|
|
@ -553,10 +521,8 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
fn view_outputs (&self, theme: ItemTheme) -> impl Draw<Tui> {
|
||||
let height = self.outputs_height();
|
||||
let list = south(
|
||||
button_3(
|
||||
"o", "utput", self.midi_outs().len(), false
|
||||
).align_w().full_w().exact_h(1),
|
||||
draw(|to: &mut Tui|{
|
||||
button_3("o", "utput", self.midi_outs().len(), false).align_w().full_w().exact_h(1),
|
||||
bg(Color::Rgb(0, 0, 0), draw(|to: &mut Tui|{
|
||||
for (_index, port) in self.midi_outs().iter().enumerate() {
|
||||
east(
|
||||
east(
|
||||
|
|
@ -578,9 +544,9 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
}
|
||||
}
|
||||
todo!();
|
||||
}).align_nw().full_wh().exact_h(height - 1)
|
||||
})).align_nw().full_wh().exact_h(height - 1).min_h(1)
|
||||
);
|
||||
view_track_row_section(theme, list, button_2("O", "+", false),
|
||||
view_track_row_section(theme, list, self.view_track_output_add(),
|
||||
bg(theme.darker.term, draw(|to: &mut Tui|{
|
||||
for (index, track, _x1, _x2) in self.tracks_with_sizes() {
|
||||
let _ = draw(|to: &mut Tui|{
|
||||
|
|
@ -604,6 +570,54 @@ pub trait TracksView: HasTracks + ScenesView + HasMidiIns + HasMidiOuts + HasTra
|
|||
}).align_w().full_w())).exact_h(height)
|
||||
}
|
||||
|
||||
fn view_track_count (&self) -> impl Draw<Tui> {
|
||||
button_3("t", "rack ", east(
|
||||
self.selection().track().map(|track|east(track, "/")),
|
||||
self.tracks().len()
|
||||
), false)
|
||||
}
|
||||
|
||||
fn view_scene_count (&self) -> impl Draw<Tui> {
|
||||
button_3("s", "cene ", east(
|
||||
self.selection().scene().map(|scene|east(scene, "/")),
|
||||
self.scenes().len()
|
||||
), false)
|
||||
}
|
||||
|
||||
fn view_track_add (&self) -> impl Draw<Tui> {
|
||||
button_2("T", "+", false)
|
||||
}
|
||||
|
||||
fn view_scene_add (&self) -> impl Draw<Tui> {
|
||||
button_2("S", "+", false)
|
||||
}
|
||||
|
||||
fn view_track_input_count (&self) -> impl Draw<Tui> {
|
||||
button_2("i", "nput", false)
|
||||
}
|
||||
|
||||
fn view_track_output_count (&self) -> impl Draw<Tui> {
|
||||
button_3("o", "utput", 0, false)
|
||||
//draw(|to: &mut Tui|{
|
||||
//for port in self.midi_outs().iter() {
|
||||
//let _ = port.port_name().align_w().full_w().draw(to)?;
|
||||
//}
|
||||
//Ok(Some(XYWH(0, 0, 0, 0)))
|
||||
//})),
|
||||
}
|
||||
|
||||
fn view_track_output_add (&self) -> impl Draw<Tui> {
|
||||
button_2("O", "+", false)
|
||||
}
|
||||
|
||||
fn view_track_input_add (&self) -> impl Draw<Tui> {
|
||||
button_2("I", "+", false)
|
||||
}
|
||||
|
||||
fn view_track_device_add (&self) -> impl Draw<Tui> {
|
||||
button_2("D", "+", false)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
pub trait HasTrackScroll {
|
||||
|
|
@ -654,10 +668,14 @@ fn view_track_row_section <'a> (
|
|||
button_add: impl Draw<Tui>,
|
||||
content: impl Draw<Tui>,
|
||||
) -> impl Draw<Tui> {
|
||||
west(
|
||||
button_add.align_nw().exact_w(4).full_h(),
|
||||
east(
|
||||
button.align_nw().full_h().exact_w(16),
|
||||
bar(
|
||||
Split::West,
|
||||
4u16,
|
||||
button_add.align_ne().full_wh(),
|
||||
bar(
|
||||
Split::East,
|
||||
20u16,
|
||||
button.full_wh().align_nw(),
|
||||
content.align_c().full_wh()
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue