summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-09-25 15:02:47 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:32 -0500
commit8be313932e1fe90b5b74968412737db7cb22573c (patch)
treef3866809de543e60a2634f6d67814e028b74f297 /libs
parent56af59953fb612bac7272bd855ebe1911d4b4eb2 (diff)
use new canvas meter in push2 track mix layout
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/push2/track_mix.cc19
-rw-r--r--libs/surfaces/push2/track_mix.h5
-rw-r--r--libs/surfaces/push2/wscript2
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<Stripable> 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<PeakMeter> 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<ARDOUR::AutomationControl> 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