From 4a9e9132f3a6b8de6978b45222db354f579963e2 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Wed, 14 May 2025 20:44:25 +0300 Subject: [PATCH] compact sample list --- crates/app/src/view.rs | 2 +- crates/device/src/pool/pool_view.rs | 2 +- crates/device/src/sampler/sampler_view.rs | 10 +++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/crates/app/src/view.rs b/crates/app/src/view.rs index f7209be3..bda57ddb 100644 --- a/crates/app/src/view.rs +++ b/crates/app/src/view.rs @@ -87,7 +87,7 @@ impl App { )) } pub fn view_samples_keys (&self) -> impl Content + use<'_> { - self.project.sampler().map(|s|s.view_list(false, self.editor().unwrap())) + self.project.sampler().map(|s|s.view_list(true, self.editor().unwrap())) } pub fn view_samples_grid (&self) -> impl Content + use<'_> { self.project.sampler().map(|s|s.view_grid()) diff --git a/crates/device/src/pool/pool_view.rs b/crates/device/src/pool/pool_view.rs index 29e4aa01..39d868aa 100644 --- a/crates/device/src/pool/pool_view.rs +++ b/crates/device/src/pool/pool_view.rs @@ -8,7 +8,7 @@ content!(TuiOut: |self: PoolView<'a>| { //let on_bg = |x|x;//Bsp::b(Repeat(" "), Tui::bg(color.darkest.rgb, x)); //let border = |x|x;//Outer(Style::default().fg(color.dark.rgb).bg(color.darkest.rgb)).enclose(x); let height = pool.clips.read().unwrap().len() as u16; - Fixed::x(20, Fill::y(Align::c(Map::new( + Fixed::x(20, Fill::y(Align::n(Map::new( ||pool.clips().clone().into_iter(), move|clip: Arc>, i: usize|{ let item_height = 1; diff --git a/crates/device/src/sampler/sampler_view.rs b/crates/device/src/sampler/sampler_view.rs index cf2192f5..45f91a78 100644 --- a/crates/device/src/sampler/sampler_view.rs +++ b/crates/device/src/sampler/sampler_view.rs @@ -59,7 +59,7 @@ impl Sampler { let note_lo = editor.get_note_lo(); let note_pt = editor.get_note_pos(); let note_hi = editor.get_note_hi(); - Fixed::x(12, Map::south( + Fixed::x(if compact { 4 } else { 12 }, Map::south( 1, move||(note_lo..=note_hi).rev(), move|note, _index| { @@ -234,7 +234,7 @@ fn draw_info (sample: Option<&Arc>>) -> impl Content + us } fn draw_info_v (sample: Option<&Arc>>) -> impl Content + use<'_> { - When(sample.is_some(), Thunk::new(move||{ + Either(sample.is_some(), Thunk::new(move||{ let sample = sample.unwrap().read().unwrap(); let theme = sample.color; Fixed::x(20, col!( @@ -245,7 +245,11 @@ fn draw_info_v (sample: Option<&Arc>>) -> impl Content + Fill::x(Align::w(FieldH(theme, "Trans ", "0 "))), Fill::x(Align::w(FieldH(theme, "Gain ", format!("{}", sample.gain)))), )) - })) + }), Thunk::new(move||Tui::fg(Red, col!( + "× No sample.", + "Press record", + "or import.", + )))) } fn draw_status (sample: Option<&Arc>>) -> impl Content {