summaryrefslogtreecommitdiff
path: root/gtk2_ardour/monitor_section.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-11-11 03:54:50 +0100
committerRobin Gareus <robin@gareus.org>2016-11-11 03:54:50 +0100
commit4499066f39f735bfe530a8b0d40c211023020b91 (patch)
tree159fe8eadfd16e75a9103e7960d819136e13d655 /gtk2_ardour/monitor_section.h
parentf83dbf83f4d8437ecf693e7d1580cb5fc1833e9e (diff)
static MonitorSection Action -- fixes #7098
ActionManager registered actions are static global and cannot reference an instance (this) directly.
Diffstat (limited to 'gtk2_ardour/monitor_section.h')
-rw-r--r--gtk2_ardour/monitor_section.h32
1 files changed, 26 insertions, 6 deletions
diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h
index 8a3c23a6c6..87ea60fad2 100644
--- a/gtk2_ardour/monitor_section.h
+++ b/gtk2_ardour/monitor_section.h
@@ -106,9 +106,30 @@ class MonitorSection : public RouteUI, public Gtk::EventBox
boost::shared_ptr<ARDOUR::MonitorProcessor> _monitor;
boost::shared_ptr<ARDOUR::Route> _route;
+ enum MonitorActions {
+ MonitorMono,
+ MonitorCutAll,
+ MonitorDimAll,
+ ToggleExclusiveSolo,
+ ToggleMuteOverridesSolo,
+ SoloUseInPlace,
+ SoloUseAFL,
+ SoloUsePFL,
+ ToggleMonitorProcessorBox
+ };
+
+ enum ChannelActions {
+ CutChannel,
+ DimChannel,
+ SoloChannel,
+ InvertChannel
+ };
+
static Glib::RefPtr<Gtk::ActionGroup> monitor_actions;
- void register_actions ();
- void connect_actions ();
+ static void register_actions ();
+
+ static void action_proxy0 (enum MonitorActions);
+ static void action_proxy1 (enum ChannelActions, uint32_t);
void cut_channel (uint32_t);
void dim_channel (uint32_t);
@@ -179,11 +200,10 @@ class MonitorSection : public RouteUI, public Gtk::EventBox
Glib::RefPtr<Gtk::Action> proctoggle;
bool _ui_initialized;
- private:
- Gtkmm2ext::ActionMap myactions;
- Gtkmm2ext::Bindings* bindings;
+ static Gtkmm2ext::ActionMap myactions;
+ static Gtkmm2ext::Bindings* bindings;
- void load_bindings ();
+ static void load_bindings ();
bool enter_handler (GdkEventCrossing*);
bool leave_handler (GdkEventCrossing*);
};