summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.h
diff options
context:
space:
mode:
authorDaniel Sheeler <dsheeler@pobox.com>2017-01-22 19:00:16 -0600
committerRobin Gareus <robin@gareus.org>2017-01-24 13:38:23 +0100
commit33c74357f086ad9d6e9c1ff5ff3e10d90c93fe1a (patch)
treeb8cc6db08e7fb1bb01c839676dd49ee3bff8ee14 /gtk2_ardour/gain_meter.h
parent47de9314cc645938bd58fc90851204e5671e1599 (diff)
Meter point toggle button now uses a popup menu instead of toggling
Diffstat (limited to 'gtk2_ardour/gain_meter.h')
-rw-r--r--gtk2_ardour/gain_meter.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h
index 15948768a1..5880d575c8 100644
--- a/gtk2_ardour/gain_meter.h
+++ b/gtk2_ardour/gain_meter.h
@@ -64,6 +64,12 @@ namespace Gtk {
class Menu;
}
+enum MeterPointChangeTarget {
+ MeterPointChangeAll,
+ MeterPointChangeGroup,
+ MeterPointChangeSingle
+};
+
class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
{
public:
@@ -139,6 +145,10 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
Gtk::Menu gain_astate_menu;
Gtk::Menu gain_astyle_menu;
+ ArdourButton meter_point_button;
+
+ Gtk::Menu meter_point_menu;
+
void set_gain_astate (ARDOUR::AutoState);
bool gain_astate_propagate;
static sigc::signal<void, ARDOUR::AutoState> ChangeGainAutomationState;
@@ -163,7 +173,7 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
void fader_moved ();
void gain_changed ();
- void meter_point_clicked ();
+ void meter_point_clicked (ARDOUR::MeterPoint);
void gain_unit_changed ();
virtual void hide_all_meters ();
@@ -181,11 +191,11 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
void set_route_group_meter_point (ARDOUR::Route&, ARDOUR::MeterPoint);
void set_meter_point (ARDOUR::Route&, ARDOUR::MeterPoint);
- gint meter_release (GdkEventButton*);
gint meter_press (GdkEventButton*);
- bool wait_for_release;
ARDOUR::MeterPoint old_meter_point;
+ MeterPointChangeTarget meter_point_change_target;
+
void parameter_changed (const char*);
void reset_peak_display ();