X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmonitor_section.h;h=e5c63fbdd919d5378b8cc5a033686ee4ce9d5e52;hb=6b1b72a247bf04c81292fc41af4f69c9b7f90379;hp=46d3621955efc51efea5f0edbb4b2cc89171dfbf;hpb=4423945643bf1a6d2196f1e5882e5fe4bcb6d8cf;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index 46d3621955..e5c63fbdd9 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -17,6 +17,9 @@ */ +#ifndef __gtk2_ardour_monitor_section_h__ +#define __gtk2_ardour_monitor_section_h__ + #include #include #include @@ -41,10 +44,10 @@ namespace ArdourWidgets { class TearOff; } -class MonitorSection : public RouteUI, public Gtk::EventBox, public Gtkmm2ext::StaticActionMapOwner +class MonitorSection : public RouteUI, public Gtk::EventBox { public: - MonitorSection (ARDOUR::Session*); + MonitorSection (); ~MonitorSection (); void set_session (ARDOUR::Session*); @@ -55,7 +58,7 @@ public: PluginSelector* plugin_selector() { return _plugin_selector; } - Gtkmm2ext::ActionMap& my_actions() const { return myactions; } + void use_others_actions (); private: Gtk::HBox hpacker; @@ -108,32 +111,10 @@ private: void map_state (); boost::shared_ptr _monitor; - boost::shared_ptr _route; - - enum MonitorActions { - MonitorMono, - MonitorCutAll, - MonitorDimAll, - ToggleExclusiveSolo, - ToggleMuteOverridesSolo, - SoloUseInPlace, - SoloUseAFL, - SoloUsePFL, - ToggleMonitorProcessorBox - }; - - enum ChannelActions { - CutChannel, - DimChannel, - SoloChannel, - InvertChannel - }; - static Glib::RefPtr monitor_actions; - static void register_actions (); - - static void action_proxy0 (enum MonitorActions); - static void action_proxy1 (enum ChannelActions, uint32_t); + Glib::RefPtr monitor_actions; + Glib::RefPtr solo_actions; + void register_actions (); void cut_channel (uint32_t); void dim_channel (uint32_t); @@ -201,13 +182,17 @@ private: uint32_t count_processors (); void processors_changed (ARDOUR::RouteProcessorChange); - Glib::RefPtr proctoggle; + Glib::RefPtr proctoggle; bool _ui_initialized; - static Gtkmm2ext::ActionMap myactions; - static Gtkmm2ext::Bindings* bindings; + Gtkmm2ext::Bindings* bindings; - static void load_bindings (); + void load_bindings (); bool enter_handler (GdkEventCrossing*); bool leave_handler (GdkEventCrossing*); + + void toggle_use_monitor_section (); + void drop_route (); }; + +#endif /* __gtk2_ardour_monitor_section_h__ */