summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index 75e24be256..5ddfdc18f4 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -128,6 +128,7 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
gain_display.signal_key_press_event().connect (sigc::mem_fun(*this, &GainMeterBase::gain_key_press), false);
ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &GainMeterBase::reset_peak_display));
+ ResetRoutePeakDisplays.connect (sigc::mem_fun(*this, &GainMeterBase::reset_route_peak_display));
ResetGroupPeakDisplays.connect (sigc::mem_fun(*this, &GainMeterBase::reset_group_peak_display));
UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &GainMeterBase::on_theme_changed));
@@ -328,7 +329,7 @@ GainMeterBase::peak_button_release (GdkEventButton* ev)
ResetGroupPeakDisplays (_route->route_group());
}
} else {
- reset_peak_display ();
+ ResetRoutePeakDisplays (_route.get());
}
return true;
@@ -345,6 +346,14 @@ GainMeterBase::reset_peak_display ()
}
void
+GainMeterBase::reset_route_peak_display (Route* route)
+{
+ if (_route && _route.get() == route) {
+ reset_peak_display ();
+ }
+}
+
+void
GainMeterBase::reset_group_peak_display (RouteGroup* group)
{
if (_route && group == _route->route_group()) {