From 8be313932e1fe90b5b74968412737db7cb22573c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 25 Sep 2016 15:02:47 -0500 Subject: [PATCH] use new canvas meter in push2 track mix layout --- libs/surfaces/push2/track_mix.cc | 19 +++++++++---------- libs/surfaces/push2/track_mix.h | 5 +++-- libs/surfaces/push2/wscript | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libs/surfaces/push2/track_mix.cc b/libs/surfaces/push2/track_mix.cc index 72f2954d09..6bfd3c5f04 100644 --- a/libs/surfaces/push2/track_mix.cc +++ b/libs/surfaces/push2/track_mix.cc @@ -50,14 +50,16 @@ #include "gtkmm2ext/gui_thread.h" #include "gtkmm2ext/rgb_macros.h" +#include "canvas/box.h" #include "canvas/line.h" +#include "canvas/meter.h" #include "canvas/rectangle.h" #include "canvas/text.h" #include "canvas.h" #include "knob.h" +#include "level_meter.h" #include "menu.h" -#include "meter.h" #include "push2.h" #include "track_mix.h" #include "utils.h" @@ -140,7 +142,7 @@ TrackMixLayout::TrackMixLayout (Push2& p, Session& s) name_text->set_font_description (fd); name_text->set_position (Duple (10 + (4*Push2Canvas::inter_button_spacing()), 2)); - meter = new Meter (this, 24, 32, Meter::Horizontal, 200); + meter = new LevelMeter (p2, this, 200, ArdourCanvas::Meter::Horizontal); meter->set_position (Duple (10 + (4 * Push2Canvas::inter_button_spacing()), 50)); ControlProtocol::StripableSelectionChanged.connect (selection_connection, invalidator (*this), boost::bind (&TrackMixLayout::selection_changed, this), &p2); @@ -426,6 +428,10 @@ TrackMixLayout::set_stripable (boost::shared_ptr s) solo_iso_change (); solo_safe_change (); monitoring_change (); + + meter->set_meter (stripable->peak_meter ().get()); + } else { + meter->set_meter (0); } } @@ -507,12 +513,5 @@ TrackMixLayout::update_meters () return; } - boost::shared_ptr peak_meter = stripable->peak_meter (); - - if (!peak_meter) { - return; - } - - const float mpeak = peak_meter->meter_level (0, MeterPeak); - meter->set (DSP::log_meter (mpeak)); + meter->update_meters (); } diff --git a/libs/surfaces/push2/track_mix.h b/libs/surfaces/push2/track_mix.h index ffc20aca55..8ba95344b0 100644 --- a/libs/surfaces/push2/track_mix.h +++ b/libs/surfaces/push2/track_mix.h @@ -32,12 +32,13 @@ namespace ArdourCanvas { class Rectangle; class Text; class Line; + class VBox; } namespace ArdourSurface { class Push2Knob; -class Meter; +class LevelMeter; class TrackMixLayout : public Push2Layout { @@ -73,7 +74,7 @@ class TrackMixLayout : public Push2Layout uint8_t selection_color; Push2Knob* knobs[8]; - Meter* meter; + LevelMeter* meter; void stripable_property_change (PBD::PropertyChange const& what_changed); void simple_control_change (boost::shared_ptr ac, Push2::ButtonID bid); diff --git a/libs/surfaces/push2/wscript b/libs/surfaces/push2/wscript index 5d8bb83361..a29ccd4492 100644 --- a/libs/surfaces/push2/wscript +++ b/libs/surfaces/push2/wscript @@ -26,12 +26,12 @@ def build(bld): interface.cc midi_byte_array.cc leds.cc + level_meter.cc gui.cc knob.cc layout.cc mode.cc menu.cc - meter.cc mix.cc scale.cc splash.cc -- 2.30.2