mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
groovebox: add slots for output meters
This commit is contained in:
parent
7690549bdc
commit
7bc37e7659
4 changed files with 20 additions and 10 deletions
|
|
@ -3,14 +3,15 @@
|
||||||
(info "A sequencer with built-in sampler.")
|
(info "A sequencer with built-in sampler.")
|
||||||
|
|
||||||
(view
|
(view
|
||||||
(bsp/a :view-dialog
|
(bsp/a :view-dialog
|
||||||
(bsp/s (fixed/y 1 :view-transport)
|
(bsp/s (fixed/y 1 :view-transport)
|
||||||
(bsp/n (fixed/y 1 :view-status)
|
(bsp/n (fixed/y 1 :view-status)
|
||||||
(bsp/n (fixed/y 5 :view-sample-viewer)
|
(bsp/w :view-meters-output
|
||||||
(bsp/w (fixed/x :w-sidebar :view-pool)
|
(bsp/e :view-meters-input
|
||||||
(bsp/e :view-meters-input
|
(bsp/n (fixed/y 5 :view-sample-viewer)
|
||||||
(bsp/e :view-samples-keys
|
(bsp/w (fixed/x :w-sidebar :view-pool)
|
||||||
(fill/y :view-editor)))))))))
|
(bsp/e :view-samples-keys
|
||||||
|
(fill/y :view-editor))))))))))
|
||||||
|
|
||||||
(keys
|
(keys
|
||||||
(layer-if :focus-pool-import "./keys_pool_file.edn")
|
(layer-if :focus-pool-import "./keys_pool_file.edn")
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,9 @@ impl App {
|
||||||
pub fn view_meters_input (&self) -> impl Content<TuiOut> + use<'_> {
|
pub fn view_meters_input (&self) -> impl Content<TuiOut> + use<'_> {
|
||||||
self.sampler().map(|s|s.view_meters_input())
|
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 {
|
impl App {
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@ impl Default for Sampler {
|
||||||
Self {
|
Self {
|
||||||
midi_in: None,
|
midi_in: None,
|
||||||
audio_ins: vec![],
|
audio_ins: vec![],
|
||||||
input_meters: vec![0.0;2],
|
input_meters: vec![f32::MIN;2],
|
||||||
output_meters: vec![0.0;2],
|
output_meters: vec![f32::MIN;2],
|
||||||
audio_outs: vec![],
|
audio_outs: vec![],
|
||||||
name: "tek_sampler".to_string(),
|
name: "tek_sampler".to_string(),
|
||||||
mapped: [const { None };128],
|
mapped: [const { None };128],
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,12 @@ impl Sampler {
|
||||||
Fill::y(Meter(*value))
|
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 {
|
fn draw_list_item (sample: &Option<Arc<RwLock<Sample>>>) -> String {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue