summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meter_strip.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-05 03:05:19 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:08 +0200
commitf4557194abe97764e0d7445468471a195bc0b535 (patch)
treec1d8fc45cb42040b76e0541a464dceb262993687 /gtk2_ardour/meter_strip.cc
parent94fbfb9658df9feeccd7681e58c60feebc89da03 (diff)
meterbridge shift|ctrl reset [group] peaks
Diffstat (limited to 'gtk2_ardour/meter_strip.cc')
-rw-r--r--gtk2_ardour/meter_strip.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index b909369c03..3d3e8edeb6 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -30,6 +30,7 @@
#include "ardour/midi_track.h"
#include <gtkmm2ext/gtk_ui.h>
+#include <gtkmm2ext/keyboard.h>
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/rgb_macros.h>
@@ -52,6 +53,9 @@ using namespace Gtkmm2ext;
using namespace std;
PBD::Signal1<void,MeterStrip*> MeterStrip::CatchDeletion;
+PBD::Signal0<void> MeterStrip::ResetAllPeakDisplays;
+PBD::Signal1<void,RouteGroup*> MeterStrip::ResetGroupPeakDisplays;
+
MeterStrip::MetricPatterns MeterStrip::metric_patterns;
MeterStrip::TickPatterns MeterStrip::ticks_patterns;
@@ -814,6 +818,14 @@ MeterStrip::reset_peak_display ()
bool
MeterStrip::peak_button_release (GdkEventButton* ev)
{
- reset_peak_display ();
+ if (ev->button == 1 && Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier|Keyboard::TertiaryModifier)) {
+ ResetAllPeakDisplays ();
+ } else if (ev->button == 1 && Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
+ if (_route) {
+ ResetGroupPeakDisplays (_route->route_group());
+ }
+ } else {
+ reset_peak_display ();
+ }
return true;
}