groovebox: add slots for output meters

This commit is contained in:
🪞👃🪞 2025-05-11 00:40:53 +03:00
parent 7690549bdc
commit 7bc37e7659
4 changed files with 20 additions and 10 deletions

View file

@ -6,11 +6,12 @@
(bsp/a :view-dialog
(bsp/s (fixed/y 1 :view-transport)
(bsp/n (fixed/y 1 :view-status)
(bsp/w :view-meters-output
(bsp/e :view-meters-input
(bsp/n (fixed/y 5 :view-sample-viewer)
(bsp/w (fixed/x :w-sidebar :view-pool)
(bsp/e :view-meters-input
(bsp/e :view-samples-keys
(fill/y :view-editor)))))))))
(fill/y :view-editor))))))))))
(keys
(layer-if :focus-pool-import "./keys_pool_file.edn")

View file

@ -59,6 +59,9 @@ impl App {
pub fn view_meters_input (&self) -> impl Content<TuiOut> + use<'_> {
self.sampler().map(|s|s.view_meters_input())
}
pub fn view_meters_output (&self) -> impl Content<TuiOut> + use<'_> {
self.sampler().map(|s|s.view_meters_output())
}
}
impl App {

View file

@ -52,8 +52,8 @@ impl Default for Sampler {
Self {
midi_in: None,
audio_ins: vec![],
input_meters: vec![0.0;2],
output_meters: vec![0.0;2],
input_meters: vec![f32::MIN;2],
output_meters: vec![f32::MIN;2],
audio_outs: vec![],
name: "tek_sampler".to_string(),
mapped: [const { None };128],

View file

@ -108,6 +108,12 @@ impl Sampler {
Fill::y(Meter(*value))
})))
}
pub fn view_meters_output (&self) -> impl Content<TuiOut> + use<'_> {
Tui::bg(Black, Fixed::x(2, Map::east(1, ||self.output_meters.iter(), |value, _index|{
Fill::y(Meter(*value))
})))
}
}
fn draw_list_item (sample: &Option<Arc<RwLock<Sample>>>) -> String {