arranger: now we're talkin
Some checks are pending
/ build (push) Waiting to run

This commit is contained in:
🪞👃🪞 2025-05-17 20:58:02 +03:00
parent eb0547dc37
commit 2858b01bd4
12 changed files with 379 additions and 391 deletions

View file

@ -2,9 +2,9 @@ use crate::*;
impl Arrangement {
pub fn view_inputs <'a> (&'a self, theme: ItemTheme) -> impl Content<TuiOut> + 'a {
let mut h = 1u16;
let mut h = 0;
for track in self.tracks().iter() {
h = h.max(track.sequencer.midi_ins.len() as u16);
h = h.max(self.midi_ins.len() as u16);
}
let h = h + 1;
self.view_track_row_section(
@ -153,12 +153,22 @@ pub trait TracksView:
fn view_track_names (&self, theme: ItemTheme) -> impl Content<TuiOut> {
self.view_track_row_section(
theme,
button_3("t", "rack ", if let Some(track) = self.selection().track() {
format!("{track}/{}", self.tracks().len())
} else {
format!("{}", self.tracks().len())
}, false),
button_2("T", "+", false),
Bsp::s(
button_3("t", "rack ", if let Some(track) = self.selection().track() {
format!("{track}/{}", self.tracks().len())
} else {
format!("{}", self.tracks().len())
}, false),
button_3("s", "cene ", if let Some(scene) = self.selection().scene() {
format!("{scene}/{}", self.scenes().len())
} else {
format!("{}", self.scenes().len())
}, false)
),
Bsp::s(
button_2("T", "+", false),
button_2("S", "+", false),
),
Tui::bg(theme.darker.rgb, Fixed::y(2, Fill::x(
Stack::east(move|add: &mut dyn FnMut(&dyn Render<TuiOut>)|{
for (index, track, x1, x2) in self.tracks_with_sizes() {
@ -256,7 +266,7 @@ pub trait ScenesView:
self.scenes().iter().enumerate().skip(self.scene_scroll()).map_while(move|(s, scene)|{
let active = editing && selected_track.is_some() && selected_scene == Some(s);
let height = if active { larger } else { height };
if y + height < self.clips_size().h() {
if y + height <= self.clips_size().h() {
let data = (s, scene, y, y + height);
y += height;
Some(data)