summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-11-13 15:12:34 +0000
committerCarl Hetherington <carl@carlh.net>2011-11-13 15:12:34 +0000
commitef4ac379a330a6a26e4b2da575a2c0010bc41783 (patch)
treee8f9e6fc692290a2cc2faaab4e5613dae6f5f894 /gtk2_ardour/gain_meter.cc
parent05ae84cbed64e6bb0c77e8fcdb933d826f0ac277 (diff)
Popup menu over meters in mixer strips to select metering
point (rest of #4419). git-svn-id: svn://localhost/ardour2/branches/3.0@10569 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index c0a6958347..0618e5ee80 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -110,6 +110,10 @@ GainMeterBase::GainMeterBase (Session* s,
level_meter = new LevelMeter(_session);
+ level_meter->ButtonPress.connect_same_thread (_level_meter_connection, boost::bind (&GainMeterBase::level_meter_button_press, this, _1));
+ meter_metric_area.signal_button_press_event().connect (sigc::mem_fun (*this, &GainMeterBase::level_meter_button_press));
+ meter_metric_area.add_events (Gdk::BUTTON_PRESS_MASK);
+
gain_slider->signal_button_press_event().connect (sigc::mem_fun(*this, &GainMeter::gain_slider_button_press));
gain_slider->signal_button_release_event().connect (sigc::mem_fun(*this, &GainMeter::gain_slider_button_release));
gain_slider->set_name ("GainFader");
@@ -1105,6 +1109,12 @@ GainMeterBase::get_controllable()
}
}
+bool
+GainMeterBase::level_meter_button_press (GdkEventButton* ev)
+{
+ return LevelMeterButtonPress (ev); /* EMIT SIGNAL */
+}
+
void
GainMeter::meter_configuration_changed (ChanCount c)
{
@@ -1119,3 +1129,4 @@ GainMeter::meter_configuration_changed (ChanCount c)
style_changed = true;
meter_metric_area.queue_draw ();
}
+