X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmonitor_section.h;h=0a0a0fd7a2b79e32baeeacb4ab4e07e532236645;hb=cd3c72bffe950bdaad46b4d4162e1904e0ca58c0;hp=f00c438667a70b39a8d573129032a77ff78a0e0a;hpb=eb1e423b7521d4c277c11a884113f40e7406ade8;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index f00c438667..0a0a0fd7a2 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 @@ -44,7 +47,7 @@ namespace ArdourWidgets { class MonitorSection : public RouteUI, public Gtk::EventBox { public: - MonitorSection (ARDOUR::Session*); + MonitorSection (); ~MonitorSection (); void set_session (ARDOUR::Session*); @@ -55,6 +58,8 @@ public: PluginSelector* plugin_selector() { return _plugin_selector; } + void use_others_actions (); + private: Gtk::HBox hpacker; Gtk::VBox vpacker; @@ -106,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); @@ -179,12 +162,13 @@ private: void isolated_changed (); PBD::ScopedConnection config_connection; - PBD::ScopedConnectionList control_connections; - PBD::ScopedConnectionList output_changed_connections; + PBD::ScopedConnectionList connections; + PBD::ScopedConnectionList route_connections; bool _inhibit_solo_model_update; void assign_controllables (); + void unassign_controllables (); void port_connected_or_disconnected (boost::weak_ptr, boost::weak_ptr); @@ -199,13 +183,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__ */