mirror of
https://codeberg.org/unspeaker/tek.git
synced 2026-07-17 15:56:57 +02:00
restruct: 65e
This commit is contained in:
parent
ae347eeef7
commit
b3e9cde8a1
4 changed files with 38 additions and 49 deletions
|
|
@ -202,28 +202,28 @@ pub fn view_io_ports <'a, T: PortsSizes<'a>> (
|
|||
})
|
||||
}
|
||||
|
||||
pub fn view_scenes_clips (
|
||||
scenes: impl ScenesSizes<'_>,
|
||||
tracks: impl TracksSizes<'_>,
|
||||
pub fn view_scenes_clips <'a> (
|
||||
scenes: impl ScenesSizes<'a>,
|
||||
tracks: impl TracksSizes<'a>,
|
||||
select: &Selection,
|
||||
editor: Option<&MidiEditor>,
|
||||
size: &Size,
|
||||
is_editing: bool,
|
||||
) -> impl Draw<Tui> {
|
||||
size.of(wh_full(above(wh_full(origin_se(fg(Green, format!("{}x{}", size.w(), size.h())))),
|
||||
thunk(|to: &mut Tui|{
|
||||
thunk(move |to: &mut Tui|{
|
||||
for (index, track, _, _) in tracks {
|
||||
let clips = view_track_clips(scenes, select, editor, index, track, is_editing);
|
||||
let clips = view_track_clips(&scenes, select, editor, index, track, is_editing);
|
||||
w_exact(track.width as u16, h_full(clips)).draw(to);
|
||||
}
|
||||
Ok(XYWH(0, 0, 0, 0))
|
||||
}))))
|
||||
}
|
||||
|
||||
pub fn view_track_clips (
|
||||
scenes: impl ScenesSizes<'_>,
|
||||
pub fn view_track_clips <'a> (
|
||||
scenes: &impl ScenesSizes<'a>,
|
||||
select: &Selection,
|
||||
editor: &Option<MidiEditor>,
|
||||
editor: Option<&MidiEditor>,
|
||||
index: usize,
|
||||
track: &Track,
|
||||
is_editing: bool,
|
||||
|
|
@ -320,7 +320,7 @@ pub fn view_track_names (
|
|||
pub fn view_track_outputs (
|
||||
theme: ItemTheme,
|
||||
tracks: impl TracksSizes<'_>,
|
||||
midi_outs: impl Iterator<Item = ()>,
|
||||
midi_outs: impl Iterator<Item = &MidiOutput>,
|
||||
) -> impl Draw<Tui> {
|
||||
view_track_row_section(theme,
|
||||
south(w_full(origin_w(button_2("o", "utput", false))),
|
||||
|
|
@ -345,14 +345,14 @@ pub fn view_track_outputs (
|
|||
}
|
||||
|
||||
pub fn view_track_inputs (
|
||||
theme: ItemTheme,
|
||||
theme: ItemTheme,
|
||||
tracks: impl TracksSizes<'_>,
|
||||
h: u16,
|
||||
height: u16,
|
||||
) -> impl Draw<Tui> {
|
||||
view_track_row_section(theme, button_2("i", "nput", false), button_2("I", "+", false),
|
||||
bg(theme.darker.term, origin_w(thunk(move|to: &mut Tui|{
|
||||
for (index, track, _x1, _x2) in tracks {
|
||||
wh_exact(Some(track_width(index, track)), Some(h + 1),
|
||||
wh_exact(Some(track_width(index, track)), Some(height + 1),
|
||||
origin_nw(south(
|
||||
bg(track.color.base.term,
|
||||
w_full(origin_w(east!(
|
||||
|
|
@ -370,18 +370,21 @@ pub fn view_track_inputs (
|
|||
}
|
||||
|
||||
pub fn view_scenes_names (
|
||||
scenes: &impl ScenesSizes<'_>
|
||||
scenes: impl ScenesSizes<'_>,
|
||||
select: &Selection,
|
||||
editor: Option<&MidiEditor>,
|
||||
editing: bool,
|
||||
) -> impl Draw<Tui> {
|
||||
w_exact(20, thunk(|to: &mut Tui|{
|
||||
w_exact(20, thunk(move |to: &mut Tui|{
|
||||
for (index, scene, ..) in scenes {
|
||||
view_scene_name(index, scene).draw(to);
|
||||
view_scene_name(select, editor, index, scene, editing).draw(to);
|
||||
}
|
||||
Ok(XYWH(1, 1, 1, 1))
|
||||
}))
|
||||
}
|
||||
|
||||
pub fn view_scene_name (
|
||||
select: Option<&Selection>,
|
||||
select: &Selection,
|
||||
editor: Option<&MidiEditor>,
|
||||
index: usize,
|
||||
scene: &Scene,
|
||||
|
|
@ -422,8 +425,9 @@ pub fn view_audio_outs_status (theme: ItemTheme, track: Option<&Track>) -> impl
|
|||
track.map(move|track|view_ports_status(theme, "Audio outs:", &track.audio_outs()))
|
||||
}
|
||||
|
||||
pub fn view_track_per (
|
||||
tracks: impl TracksSizes<'_>
|
||||
pub fn view_track_per <'a, T: Draw<Tui> + 'a, U: TracksSizes<'a>> (
|
||||
tracks: impl Fn() -> U + Send + Sync + 'a,
|
||||
callback: impl Fn(usize, &'a Track)->T + Send + Sync + 'a
|
||||
) -> impl Draw<Tui> {
|
||||
iter_east(tracks, move|(index, track, x1, x2): (usize, &Track, usize, usize), _|{
|
||||
w_exact((x2 - x1) as u16, fg_bg(
|
||||
|
|
@ -437,12 +441,9 @@ pub fn view_per_track () -> impl Draw<Tui> {}
|
|||
|
||||
pub fn view_per_track_top () -> impl Draw<Tui> {}
|
||||
|
||||
pub fn view_inputs (
|
||||
tracks: impl TracksSizes<'_>,
|
||||
midi_ins: &[MidiIn],
|
||||
) -> impl Draw<Tui> {
|
||||
let header = h_exact(1, view_inputs_header(tracks));
|
||||
south(header, thunk(|to: &mut Tui|{
|
||||
pub fn view_inputs (tracks: impl TracksSizes<'_>, midi_ins: &[MidiInput]) -> impl Draw<Tui> {
|
||||
let header = h_exact(1, view_inputs_header(tracks, midi_ins));
|
||||
south(header, thunk(move |to: &mut Tui|{
|
||||
for (index, port) in midi_ins.iter().enumerate() {
|
||||
x_push(index as u16 * 10, h_exact(1, view_inputs_row(tracks, port))).draw(to);
|
||||
}
|
||||
|
|
@ -450,10 +451,7 @@ pub fn view_inputs (
|
|||
}))
|
||||
}
|
||||
|
||||
pub fn view_inputs_header (
|
||||
tracks: impl TracksSizes<'_>,
|
||||
midi_ins: &[MidiIn],
|
||||
) -> impl Draw<Tui> {
|
||||
pub fn view_inputs_header (tracks: impl TracksSizes<'_>, midi_ins: &[MidiInput]) -> impl Draw<Tui> {
|
||||
east(w_exact(20, origin_w(button_3("i", "nput ", format!("{}", midi_ins.len()), false))),
|
||||
west(w_exact(4, button_2("I", "+", false)), thunk(move|to: &mut Tui|{
|
||||
for (_index, track, x1, _x2) in tracks {
|
||||
|
|
@ -468,10 +466,7 @@ pub fn view_inputs_header (
|
|||
})))
|
||||
}
|
||||
|
||||
pub fn view_inputs_row (
|
||||
tracks: impl TracksSizes<'_>,
|
||||
port: ()
|
||||
) -> impl Draw<Tui> {
|
||||
pub fn view_inputs_row (tracks: impl TracksSizes<'_>, port: &MidiInput) -> impl Draw<Tui> {
|
||||
east(w_exact(20, origin_w(east(" ● ", bold(true, fg(Rgb(255,255,255), port.port_name()))))),
|
||||
west(w_exact(4, ()), thunk(move|to: &mut Tui|{
|
||||
for (_index, track, _x1, _x2) in tracks {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue