diff options
author | Robin Gareus <robin@gareus.org> | 2016-11-11 03:54:50 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-11-11 03:54:50 +0100 |
commit | 4499066f39f735bfe530a8b0d40c211023020b91 (patch) | |
tree | 159fe8eadfd16e75a9103e7960d819136e13d655 /gtk2_ardour/monitor_section.h | |
parent | f83dbf83f4d8437ecf693e7d1580cb5fc1833e9e (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.h | 32 |
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*); }; |