X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmonitor_section.h;h=d1fc7d8da111e44bc778b3ca94195085ffc5e687;hb=4e411dfd7bab6793426979fe005faf2435c0df0d;hp=41c8c074de57bb47c4745fda4a64300b93dc8c6b;hpb=bde8437387ccd5bfd86d641d15444f76532b5e2b;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index 41c8c074de..d1fc7d8da1 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -23,6 +23,8 @@ #include "gtkmm2ext/bindable_button.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" @@ -50,12 +52,18 @@ class MonitorSection : public RouteUI private: Gtk::VBox vpacker; Gtk::HBox hpacker; - Gtk::Table main_table; - Gtk::ScrolledWindow main_table_scroller; Gtk::VBox upper_packer; Gtk::VBox lower_packer; Gtkmm2ext::TearOff* _tearoff; + Gtk::HBox channel_table_packer; + Gtk::HBox table_hpacker; + Gtk::Table channel_table; + Gtk::Table channel_table_header; + Gtk::ScrolledWindow channel_table_scroller; + Gtk::Viewport channel_table_viewport; + Glib::RefPtr channel_size_group; + struct ChannelButtonSet { ArdourButton cut; ArdourButton dim; @@ -68,13 +76,17 @@ class MonitorSection : public RouteUI typedef std::vector ChannelButtons; ChannelButtons _channel_buttons; - VolumeController* gain_control; - VolumeController* dim_control; - VolumeController* solo_boost_control; - VolumeController* solo_cut_control; + ArdourKnob* gain_control; + ArdourKnob* dim_control; + ArdourKnob* solo_boost_control; + ArdourKnob* solo_cut_control; + ArdourDisplay* gain_display; + ArdourDisplay* dim_display; + ArdourDisplay* solo_boost_display; + ArdourDisplay* solo_cut_display; + void populate_buttons (); - void set_button_names (); void map_state (); boost::shared_ptr _monitor; @@ -94,15 +106,15 @@ class MonitorSection : public RouteUI void cut_all (); void mono (); void toggle_exclusive_solo (); + void set_button_names () {} void toggle_mute_overrides_solo (); void dim_level_changed (); void solo_boost_changed (); void gain_value_changed (); - Gtk::RadioButtonGroup solo_model_group; - Gtk::RadioButton solo_in_place_button; - Gtk::RadioButton afl_button; - Gtk::RadioButton pfl_button; + ArdourButton solo_in_place_button; + ArdourButton afl_button; + ArdourButton pfl_button; Gtk::HBox solo_model_box; void solo_use_in_place (); @@ -131,5 +143,7 @@ class MonitorSection : public RouteUI PBD::ScopedConnection config_connection; PBD::ScopedConnectionList control_connections; + bool _inhibit_solo_model_update; + void assign_controllables (); };