summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-10-23 14:25:05 +0200
committerRobin Gareus <robin@gareus.org>2014-10-23 14:45:49 +0200
commitc5e97ea21bcb2f831b9c4f6510e2ab601859be3d (patch)
tree4f4718f289b04bb1a15b20d18cdc2fc7b0e996cf /gtk2_ardour
parent730e09ce65860d951d0edd9b5471278125915f0a (diff)
Don't show meter-type menu for MIDI-only meters
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/gain_meter.cc6
-rw-r--r--gtk2_ardour/gain_meter.h2
-rw-r--r--gtk2_ardour/meter_strip.cc4
-rw-r--r--gtk2_ardour/mixer_strip.cc6
4 files changed, 17 insertions, 1 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index fe82ea8024..b0ed45df85 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -844,6 +844,12 @@ GainMeterBase::gain_automation_state_changed ()
}
}
+const ChanCount
+GainMeterBase::meter_channels() const
+{
+ if (_meter) { return _meter->input_streams(); }
+ else { return ChanCount(); }
+}
void
GainMeterBase::update_meters()
{
diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h
index 57215b48b5..a12779a19d 100644
--- a/gtk2_ardour/gain_meter.h
+++ b/gtk2_ardour/gain_meter.h
@@ -76,6 +76,8 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
void update_gain_sensitive ();
void update_meters ();
+ const ARDOUR::ChanCount meter_channels () const;
+
void effective_gain_display ();
void set_width (Width, int len=0);
void set_meter_strip_name (const char * name);
diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc
index b2ff7ecf1b..3b62d61e26 100644
--- a/gtk2_ardour/meter_strip.cc
+++ b/gtk2_ardour/meter_strip.cc
@@ -782,7 +782,9 @@ bool
MeterStrip::level_meter_button_release (GdkEventButton* ev)
{
if (ev->button == 3) {
- popup_level_meter_menu (ev);
+ if (_route && _route->shared_peak_meter()->input_streams ().n_audio() > 0) {
+ popup_level_meter_menu (ev);
+ }
return true;
}
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index ceb6e08dd2..177caa0056 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -2190,6 +2190,12 @@ MixerStrip::popup_level_meter_menu (GdkEventButton* ev)
add_level_meter_item_point (items, group, _("Output"), MeterOutput);
add_level_meter_item_point (items, group, _("Custom"), MeterCustom);
+ if (gpm.meter_channels().n_audio() == 0) {
+ m->popup (ev->button, ev->time);
+ _suspend_menu_callbacks = false;
+ return;
+ }
+
RadioMenuItem::Group tgroup;
items.push_back (SeparatorElem());