X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmonitor_section.h;h=b3edb624b9862101cd24ff6f288ffe8fdc148a00;hb=dadee4622d15218e0190b72797897fbb7b247711;hp=405b8eba87015315da4ad4650bb376bdbfa145bf;hpb=f0748535a5023d132eff03999a705a3e56c516db;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index 405b8eba87..b3edb624b9 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -39,12 +39,9 @@ class MonitorSection : public RouteUI ~MonitorSection (); void set_session (ARDOUR::Session*); - - Gtk::Widget& pack_widget () const; - void fast_update (); static void setup_knob_images (); - Gtkmm2ext::TearOff* tearoff() const { return _tearoff; } + Gtkmm2ext::TearOff& tearoff() const { return *_tearoff; } private: Gtk::VBox vpacker; @@ -52,9 +49,6 @@ class MonitorSection : public RouteUI Gtk::Table main_table; Gtk::VBox upper_packer; Gtk::VBox lower_packer; - Gtk::VBox table_knob_packer; - Gtk::HBox knob_packer; - LevelMeter meter; Gtkmm2ext::TearOff* _tearoff; struct ChannelButtonSet { @@ -75,6 +69,8 @@ class MonitorSection : public RouteUI VolumeController* dim_control; Gtk::Adjustment solo_boost_adjustment; VolumeController* solo_boost_control; + Gtk::Adjustment solo_cut_adjustment; + VolumeController* solo_cut_control; void populate_buttons (); void set_button_names (); @@ -96,6 +92,8 @@ class MonitorSection : public RouteUI void dim_all (); void cut_all (); void mono (); + void toggle_exclusive_solo (); + void toggle_mute_overrides_solo (); void dim_level_changed (); void solo_boost_changed (); void gain_value_changed (); @@ -117,7 +115,24 @@ class MonitorSection : public RouteUI BindableToggleButton dim_all_button; BindableToggleButton mono_button; BindableToggleButton rude_solo_button; + BindableToggleButton rude_iso_button; + BindableToggleButton rude_audition_button; + BindableToggleButton exclusive_solo_button; + BindableToggleButton solo_mute_override_button; + void do_blink (bool); void solo_blink (bool); + void audition_blink (bool); bool cancel_solo (GdkEventButton*); + bool cancel_isolate (GdkEventButton*); + bool cancel_audition (GdkEventButton*); + void solo_cut_changed (); + void update_solo_model (); + void parameter_changed (std::string); + void isolated_changed (); + + PBD::ScopedConnection config_connection; + PBD::ScopedConnectionList control_connections; + + void assign_controllables (); };