X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fmonitor_section.h;h=87ea60fad291ca241def8527f213cc31ecb2ca3c;hb=b2aaffadc51ad38939e52d5f792e3e9a098ff2d7;hp=bca55b70235125afe894a52464f2436b5ca165b6;hpb=7eddc61a3059ae0c54f0f18bfb518859eef72830;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index bca55b7023..87ea60fad2 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -19,13 +19,14 @@ #include #include +#include #include "gtkmm2ext/bindable_button.h" +#include "gtkmm2ext/bindings.h" #include "ardour_button.h" #include "ardour_knob.h" #include "ardour_display.h" -#include "axis_view.h" #include "level_meter.h" #include "route_ui.h" #include "monitor_selector.h" @@ -36,14 +37,11 @@ namespace Gtkmm2ext { class TearOff; - class MotionFeedback; } -class VolumeController; - -class MonitorSection : public RouteUI +class MonitorSection : public RouteUI, public Gtk::EventBox { - public: + public: MonitorSection (ARDOUR::Session*); ~MonitorSection (); @@ -108,8 +106,30 @@ class MonitorSection : public RouteUI 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; - void register_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); @@ -166,7 +186,9 @@ class MonitorSection : public RouteUI void port_connected_or_disconnected (boost::weak_ptr, boost::weak_ptr); - void repack_processor_box (); + void update_processor_box (); + + void route_property_changed (const PBD::PropertyChange&) {} ProcessorBox* insert_box; PluginSelector* _plugin_selector; @@ -175,6 +197,13 @@ class MonitorSection : public RouteUI 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; + + static void load_bindings (); + bool enter_handler (GdkEventCrossing*); + bool leave_handler (GdkEventCrossing*); };