X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmonitor_section.h;h=b3edb624b9862101cd24ff6f288ffe8fdc148a00;hb=dadee4622d15218e0190b72797897fbb7b247711;hp=0a8909def8440e5aaf63051cfb21aadf8402bedf;hpb=e10f59f96c429a88419a7caddfeaff75a8b19df4;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index 0a8909def8..b3edb624b9 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -38,19 +38,17 @@ class MonitorSection : public RouteUI MonitorSection (ARDOUR::Session*); ~MonitorSection (); - Gtk::Widget& pack_widget () const; - void fast_update (); + void set_session (ARDOUR::Session*); static void setup_knob_images (); + Gtkmm2ext::TearOff& tearoff() const { return *_tearoff; } + private: Gtk::VBox vpacker; Gtk::HBox hpacker; 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 { @@ -71,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 (); @@ -92,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 (); @@ -113,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 (); };