summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meter_strip.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/meter_strip.cc')
-rw-r--r--gtk2_ardour/meter_strip.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index cd15dd5bb0..011bbe554e 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -172,6 +172,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
);
ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_peak_display));
+ ResetRoutePeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_route_peak_display));
ResetGroupPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_group_peak_display));
meter_configuration_changed (_route->shared_peak_meter()->input_streams ());
@@ -372,9 +373,16 @@ MeterStrip::meter_ticks2_expose (GdkEventExpose *ev)
}
void
+MeterStrip::reset_route_peak_display (Route* route)
+{
+ if (_route && _route.get() == route) {
+ reset_peak_display ();
+ }
+}
+
+void
MeterStrip::reset_group_peak_display (RouteGroup* group)
{
- /* UNUSED -- need connection w/mixer || other meters */
if (_route && group == _route->route_group()) {
reset_peak_display ();
}
@@ -400,7 +408,7 @@ MeterStrip::peak_button_release (GdkEventButton* ev)
ResetGroupPeakDisplays (_route->route_group());
}
} else {
- reset_peak_display ();
+ ResetRoutePeakDisplays (_route.get());
}
return true;
}