summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meter_strip.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-06-09 19:41:07 +0200
committerRobin Gareus <robin@gareus.org>2019-06-09 19:56:30 +0200
commit9f20631984c2792486d8f272fc1bebf806e858a8 (patch)
treef959d42c3ca2b358bdbe01337f6fca516c78d203 /gtk2_ardour/meter_strip.cc
parentcd5b0819bf1242240c60d2da4862abc65ce548e6 (diff)
Update GUI: meter-type API and meter-type state changes
This removes all additional GUI side meter-type state. The route's meter-processors is now responsible for providing the type. meter-type is now implicit for GainMeter, LevelMeter used by meter-strips and mixer-strips.
Diffstat (limited to 'gtk2_ardour/meter_strip.cc')
-rw-r--r--gtk2_ardour/meter_strip.cc16
1 files changed, 5 insertions, 11 deletions
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index 079d6c00f0..a6dac9a038 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -147,10 +147,9 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
level_meter = new LevelMeterHBox(sess);
level_meter->set_meter (_route->shared_peak_meter().get());
level_meter->clear_meters();
- level_meter->set_meter_type (_route->meter_type());
level_meter->setup_meters (220, meter_width, 6);
level_meter->ButtonPress.connect_same_thread (level_meter_connection, boost::bind (&MeterStrip::level_meter_button_press, this, _1));
- level_meter->MeterTypeChanged.connect_same_thread (level_meter_connection, boost::bind (&MeterStrip::meter_type_changed, this, _1));
+ _route->shared_peak_meter()->MeterTypeChanged.connect (meter_route_connections, invalidator (*this), boost::bind (&MeterStrip::meter_type_changed, this, _1), gui_context());
meter_align.set(0.5, 0.5, 0.0, 1.0);
meter_align.add(*level_meter);
@@ -928,9 +927,7 @@ void
MeterStrip::set_meter_type (MeterType type)
{
if (_suspend_menu_callbacks) return;
- if (_route->meter_type() == type) return;
-
- level_meter->set_meter_type (type);
+ _route->set_meter_type (type);
}
void
@@ -943,9 +940,6 @@ MeterStrip::set_label_height (uint32_t h)
void
MeterStrip::meter_type_changed (MeterType type)
{
- if (_route->meter_type() != type) {
- _route->set_meter_type(type);
- }
update_background (type);
MetricChanged();
}
@@ -956,15 +950,15 @@ MeterStrip::set_meter_type_multi (int what, RouteGroup* group, MeterType type)
switch (what) {
case -1:
if (_route && group == _route->route_group()) {
- level_meter->set_meter_type (type);
+ _route->set_meter_type (type);
}
break;
case 0:
- level_meter->set_meter_type (type);
+ _route->set_meter_type (type);
break;
default:
if (what == _strip_type) {
- level_meter->set_meter_type (type);
+ _route->set_meter_type (type);
}
break;
}