summaryrefslogtreecommitdiff
path: root/gtk2_ardour/level_meter.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-28 20:43:21 +0200
committerPaul Davis <paul@linuxaudiosystems.com>2013-08-08 15:26:16 -0400
commit94f64aeea6359651be3f59245042f9b5ac9f1cda (patch)
treeee761ba7569bd5a04a8c43512ddddd6ab5f7d2a5 /gtk2_ardour/level_meter.cc
parent59a3b797d7623c9aeebaf6262e9af1f71462faf7 (diff)
fix diamond inheritance - gtkmm main class is sigc::trackable
Diffstat (limited to 'gtk2_ardour/level_meter.cc')
-rw-r--r--gtk2_ardour/level_meter.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index 9c32fd68fc..4f80113c1d 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -43,15 +43,15 @@ using namespace Gtkmm2ext;
using namespace Gtk;
using namespace std;
-LevelMeterBase::LevelMeterBase (Session* s, FastMeter::Orientation o)
+LevelMeterBase::LevelMeterBase (Session* s, PBD::EventLoop::InvalidationRecord* ir, FastMeter::Orientation o)
: _meter (0)
+ , parent_invalidator(ir)
, _meter_orientation(o)
, meter_length (0)
, thin_meter_width(2)
{
set_session (s);
- //set_spacing (1);
- Config->ParameterChanged.connect (_parameter_connection, invalidator (*this), boost::bind (&LevelMeterBase::parameter_changed, this, _1), gui_context());
+ Config->ParameterChanged.connect (_parameter_connection, parent_invalidator, boost::bind (&LevelMeterBase::parameter_changed, this, _1), gui_context());
UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &LevelMeterBase::on_theme_changed));
ColorsChanged.connect (sigc::mem_fun (*this, &LevelMeterBase::color_handler));
max_peak = minus_infinity();
@@ -80,8 +80,8 @@ LevelMeterBase::set_meter (PeakMeter* meter)
_meter = meter;
if (_meter) {
- _meter->ConfigurationChanged.connect (_configuration_connection, invalidator (*this), boost::bind (&LevelMeterBase::configuration_changed, this, _1, _2), gui_context());
- _meter->TypeChanged.connect (_meter_type_connection, invalidator (*this), boost::bind (&LevelMeterBase::meter_type_changed, this, _1), gui_context());
+ _meter->ConfigurationChanged.connect (_configuration_connection, parent_invalidator, boost::bind (&LevelMeterBase::configuration_changed, this, _1, _2), gui_context());
+ _meter->TypeChanged.connect (_meter_type_connection, parent_invalidator, boost::bind (&LevelMeterBase::meter_type_changed, this, _1), gui_context());
}
}
@@ -322,6 +322,7 @@ LevelMeterBase::setup_meters (int len, int initial_width, int thin_width)
break;
case MeterIEC2BBC:
c[0] = c[1] = c[2] = c[3] = c[4] = c[5] = c[6] = c[7] = c[8] = c[9] = 0xaaaaaaff;
+ stp[0] = stp[1] = stp[2] = stp[3] = 115.0;
break;
case MeterIEC2EBU:
stp[0] = 115.0 * meter_deflect_ppm(-24); // ignored
@@ -453,7 +454,7 @@ LevelMeterBase::color_handler ()
}
LevelMeterHBox::LevelMeterHBox(Session* s)
- : LevelMeterBase(s)
+ : LevelMeterBase(s, invalidator(*this))
{
set_spacing(1);
show();
@@ -474,7 +475,7 @@ LevelMeterHBox::mtr_remove(Gtk::Widget &w) {
LevelMeterVBox::LevelMeterVBox(Session* s)
- : LevelMeterBase(s, FastMeter::Horizontal)
+ : LevelMeterBase(s, invalidator(*this), FastMeter::Horizontal)
{
set_spacing(1);
show();