diff options
author | Robin Gareus <robin@gareus.org> | 2019-06-09 19:41:07 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-06-09 19:56:30 +0200 |
commit | 9f20631984c2792486d8f272fc1bebf806e858a8 (patch) | |
tree | f959d42c3ca2b358bdbe01337f6fca516c78d203 /gtk2_ardour/meter_strip.cc | |
parent | cd5b0819bf1242240c60d2da4862abc65ce548e6 (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.cc | 16 |
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; } |