From 3f1a2fee8016d27b34ca1fbbc558b05cf3f9e962 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Sat, 17 May 2025 12:29:41 +0300 Subject: [PATCH] some more highlighting and new place for editor status --- config/config_arranger.edn | 5 ++--- crates/device/src/arranger/arranger_view.rs | 10 +++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/config/config_arranger.edn b/config/config_arranger.edn index 1c97d326..2b67db1c 100644 --- a/config/config_arranger.edn +++ b/config/config_arranger.edn @@ -21,11 +21,10 @@ (bsp/s (fixed/y 8 (bsp/e (fixed/x 20 (fill/y (align/n (bsp/s :view-status-v - (bsp/s (bsp/s :view-audio-ins-status :view-audio-outs-status) - :view-editor-status))))) + (bsp/s :view-audio-ins-status :view-audio-outs-status))))) (fill/xy (align/n (bsp/s :view-arranger-track-names (bsp/s :view-arranger-track-outputs (bsp/s :view-arranger-track-devices :view-arranger-track-inputs))))))) (fill/xy (bsp/e - (fixed/x 20 (align/nw :view-arranger-scenes-names)) + (bsp/n (max/y 9 :view-editor-status) (fixed/x 20 (align/nw :view-arranger-scenes-names))) :view-arranger-scenes-clips))))) diff --git a/crates/device/src/arranger/arranger_view.rs b/crates/device/src/arranger/arranger_view.rs index b45b09ed..ac132a9f 100644 --- a/crates/device/src/arranger/arranger_view.rs +++ b/crates/device/src/arranger/arranger_view.rs @@ -325,12 +325,16 @@ pub trait ScenesView: HasSelection + HasSceneScroll + Send + Sync { fn view_scenes_names (&self) -> impl Content { Stack::south(move|add: &mut dyn FnMut(&dyn Render)|{ for (index, scene) in self.scenes().iter().enumerate().skip(self.scene_scroll()) { - add(&Self::view_scene_name(index, scene)); + add(&self.view_scene_name(index, scene)); } }) } - fn view_scene_name (index: usize, scene: &Scene) -> impl Content { - Fixed::xy(20, 2, Tui::bg(scene.color.dark.rgb, Align::nw(Bsp::e( + fn view_scene_name (&self, index: usize, scene: &Scene) -> impl Content { + Fixed::xy(20, 2, Tui::bg(if self.selection().scene() == Some(index) { + scene.color.light.rgb + } else { + scene.color.base.rgb + }, Align::nw(Bsp::e( format!(" {index:2} "), Tui::fg(Rgb(255, 255, 255), Tui::bold(true, format!("{}", scene.name)))))))