X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fmonitor_section.h;h=82d23336abb14e0cb6fffd41e1038fa3729f7ed1;hb=bb38d3db4db6c48eb604d0222869e8bbd7a04873;hp=31d73748106400d6b8c81a6df0cb570893f7ff4a;hpb=f44e2e55fdd6e4d265f3eff715b071a27da8b5eb;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index 31d7374810..82d23336ab 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -21,6 +21,7 @@ #include #include "gtkmm2ext/bindable_button.h" +#include "gtkmm2ext/bindings.h" #include "ardour_button.h" #include "ardour_knob.h" @@ -30,16 +31,17 @@ #include "route_ui.h" #include "monitor_selector.h" +#include "plugin_selector.h" +#include "route_processor_selection.h" +#include "processor_box.h" + namespace Gtkmm2ext { class TearOff; - class MotionFeedback; } -class VolumeController; - class MonitorSection : public RouteUI { - public: + public: MonitorSection (ARDOUR::Session*); ~MonitorSection (); @@ -49,15 +51,16 @@ class MonitorSection : public RouteUI std::string state_id() const; + PluginSelector* plugin_selector() { return _plugin_selector; } + private: - Gtk::VBox vpacker; Gtk::HBox hpacker; - Gtk::VBox upper_packer; - Gtk::VBox lower_packer; + Gtk::VBox vpacker; Gtkmm2ext::TearOff* _tearoff; Gtk::HBox channel_table_packer; Gtk::HBox table_hpacker; + Gtk::HBox master_packer; Gtk::Table channel_table; Gtk::Table channel_table_header; Gtk::ScrolledWindow channel_table_scroller; @@ -93,7 +96,6 @@ class MonitorSection : public RouteUI void maybe_add_bundle_to_output_menu (boost::shared_ptr, ARDOUR::BundleList const &); void bundle_output_chosen (boost::shared_ptr); - void output_button_resized (Gtk::Allocation&); void update_output_display (); void disconnect_output (); void edit_output_configuration (); @@ -106,6 +108,7 @@ class MonitorSection : public RouteUI static Glib::RefPtr monitor_actions; void register_actions (); + void connect_actions (); void cut_channel (uint32_t); void dim_channel (uint32_t); @@ -126,7 +129,7 @@ class MonitorSection : public RouteUI ArdourButton solo_in_place_button; ArdourButton afl_button; ArdourButton pfl_button; - Gtk::HBox solo_model_box; + Gtk::VBox solo_model_box; void solo_use_in_place (); void solo_use_afl (); @@ -140,6 +143,7 @@ class MonitorSection : public RouteUI ArdourButton rude_audition_button; ArdourButton exclusive_solo_button; ArdourButton solo_mute_override_button; + ArdourButton toggle_processorbox_button; void do_blink (bool); void solo_blink (bool); @@ -158,5 +162,24 @@ class MonitorSection : public RouteUI bool _inhibit_solo_model_update; void assign_controllables (); + void port_connected_or_disconnected (boost::weak_ptr, boost::weak_ptr); + + void update_processor_box (); + + ProcessorBox* insert_box; + PluginSelector* _plugin_selector; + RouteProcessorSelection _rr_selection; + void help_count_processors (boost::weak_ptr p, uint32_t* cnt) const; + uint32_t count_processors (); + + void processors_changed (ARDOUR::RouteProcessorChange); + Glib::RefPtr proctoggle; + bool _ui_initialized; + + private: + Gtkmm2ext::ActionMap myactions; + Gtkmm2ext::Bindings* bindings; + + void load_bindings (); };