summaryrefslogtreecommitdiff
path: root/gtk2_ardour/mixer_strip.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-08 02:07:40 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:13 +0200
commit12780e4c8c144d1b80e3aa0d2de7dadf0155bea4 (patch)
treeb893482930c11f2214873eff8bf76b3c64a0ee1f /gtk2_ardour/mixer_strip.cc
parentffbc1c7a8b7f6b0a7ef434bd6e14f8a01e2cbd28 (diff)
add convenience functions to switch meter-types.. (maybe too much?!)
Diffstat (limited to 'gtk2_ardour/mixer_strip.cc')
-rw-r--r--gtk2_ardour/mixer_strip.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 3afa68be79..c15d3ea221 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -62,6 +62,7 @@
#include "utils.h"
#include "gui_thread.h"
#include "route_group_menu.h"
+#include "meter_patterns.h"
#include "i18n.h"
@@ -2138,6 +2139,30 @@ MixerStrip::popup_level_meter_menu (GdkEventButton* ev)
add_level_meter_item_type (items, tgroup, _("Peak"), MeterPeak);
add_level_meter_item_type (items, tgroup, _("RMS + Peak"), MeterKrms);
+ int _strip_type;
+ if (_route->is_master()) {
+ _strip_type = 4;
+ }
+ else if (boost::dynamic_pointer_cast<AudioTrack>(_route) == 0
+ && boost::dynamic_pointer_cast<MidiTrack>(_route) == 0) {
+ /* non-master bus */
+ _strip_type = 3;
+ }
+ else if (boost::dynamic_pointer_cast<MidiTrack>(_route)) {
+ _strip_type = 2;
+ }
+ else {
+ _strip_type = 1;
+ }
+
+ items.push_back (SeparatorElem());
+ items.push_back (MenuElem (_("Change all in Group to Peak"), sigc::bind (SetMeterTypeMulti, -1, _route->route_group(), MeterPeak)));
+ items.push_back (MenuElem (_("Change all in Group to RMS + Peak"), sigc::bind (SetMeterTypeMulti, -1, _route->route_group(), MeterKrms)));
+ items.push_back (MenuElem (_("Change all to Peak"), sigc::bind (SetMeterTypeMulti, 0, _route->route_group(), MeterPeak)));
+ items.push_back (MenuElem (_("Change all to RMS + Peak"), sigc::bind (SetMeterTypeMulti, 0, _route->route_group(), MeterKrms)));
+ items.push_back (MenuElem (_("Change same track-type to Peak"), sigc::bind (SetMeterTypeMulti, _strip_type, _route->route_group(), MeterPeak)));
+ items.push_back (MenuElem (_("Change same track-type to RMS + Peak"), sigc::bind (SetMeterTypeMulti, _strip_type, _route->route_group(), MeterKrms)));
+
m->popup (ev->button, ev->time);
_suspend_menu_callbacks = false;
}