diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-05 03:05:19 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-10 15:27:08 +0200 |
commit | f4557194abe97764e0d7445468471a195bc0b535 (patch) | |
tree | c1d8fc45cb42040b76e0541a464dceb262993687 /gtk2_ardour/meter_strip.cc | |
parent | 94fbfb9658df9feeccd7681e58c60feebc89da03 (diff) |
meterbridge shift|ctrl reset [group] peaks
Diffstat (limited to 'gtk2_ardour/meter_strip.cc')
-rw-r--r-- | gtk2_ardour/meter_strip.cc | 14 |
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; } |