X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmonitor_section.h;h=65023aa667bce03100f3ba9c16085d62f4049682;hb=5fef65538040fbac1b9edd1847a269aa925a49c9;hp=185720856b30c78c4a8b126e9445d1512a252377;hpb=d8425b4a0fc1a875a3f1fdff62e222386ce3f1b4;p=ardour.git diff --git a/gtk2_ardour/monitor_section.h b/gtk2_ardour/monitor_section.h index 185720856b..65023aa667 100644 --- a/gtk2_ardour/monitor_section.h +++ b/gtk2_ardour/monitor_section.h @@ -23,119 +23,123 @@ #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" namespace Gtkmm2ext { - class TearOff; - class MotionFeedback; + class TearOff; + class MotionFeedback; } class VolumeController; class MonitorSection : public RouteUI { - public: - MonitorSection (ARDOUR::Session*); - ~MonitorSection (); + public: + MonitorSection (ARDOUR::Session*); + ~MonitorSection (); - void set_session (ARDOUR::Session*); - static void setup_knob_images (); + void set_session (ARDOUR::Session*); - Gtkmm2ext::TearOff& tearoff() const { return *_tearoff; } + Gtkmm2ext::TearOff& tearoff() const { return *_tearoff; } std::string state_id() const; - private: - Gtk::VBox vpacker; - Gtk::HBox hpacker; - Gtk::VBox upper_packer; - Gtk::VBox lower_packer; - Gtkmm2ext::TearOff* _tearoff; + private: + Gtk::VBox vpacker; + Gtk::HBox hpacker; + 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::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; - ArdourButton solo; - ArdourButton invert; + struct ChannelButtonSet { + ArdourButton cut; + ArdourButton dim; + ArdourButton solo; + ArdourButton invert; - ChannelButtonSet (); - }; + ChannelButtonSet (); + }; - typedef std::vector ChannelButtons; - ChannelButtons _channel_buttons; + 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; - void populate_buttons (); - void map_state (); + ArdourDisplay* gain_display; + ArdourDisplay* dim_display; + ArdourDisplay* solo_boost_display; + ArdourDisplay* solo_cut_display; - boost::shared_ptr _monitor; - boost::shared_ptr _route; + void populate_buttons (); + void map_state (); + + boost::shared_ptr _monitor; + boost::shared_ptr _route; static Glib::RefPtr monitor_actions; - void register_actions (); - - static Glib::RefPtr big_knob_pixbuf; - static Glib::RefPtr little_knob_pixbuf; - - void cut_channel (uint32_t); - void dim_channel (uint32_t); - void solo_channel (uint32_t); - void invert_channel (uint32_t); - void dim_all (); - void cut_all (); - void mono (); - void toggle_exclusive_solo (); + void register_actions (); + + void cut_channel (uint32_t); + void dim_channel (uint32_t); + void solo_channel (uint32_t); + void invert_channel (uint32_t); + void dim_all (); + 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 (); - - ArdourButton solo_in_place_button; - ArdourButton afl_button; - ArdourButton pfl_button; - Gtk::HBox solo_model_box; - - void solo_use_in_place (); - void solo_use_afl (); - void solo_use_pfl (); - - ArdourButton cut_all_button; - ArdourButton dim_all_button; - ArdourButton mono_button; - ArdourButton rude_solo_button; - ArdourButton rude_iso_button; - ArdourButton rude_audition_button; - ArdourButton exclusive_solo_button; - ArdourButton 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 update_solo_model (); - void parameter_changed (std::string); - void isolated_changed (); - - PBD::ScopedConnection config_connection; - PBD::ScopedConnectionList control_connections; + void toggle_mute_overrides_solo (); + void dim_level_changed (); + void solo_boost_changed (); + void gain_value_changed (); + + ArdourButton solo_in_place_button; + ArdourButton afl_button; + ArdourButton pfl_button; + Gtk::HBox solo_model_box; + + void solo_use_in_place (); + void solo_use_afl (); + void solo_use_pfl (); + + ArdourButton cut_all_button; + ArdourButton dim_all_button; + ArdourButton mono_button; + ArdourButton rude_solo_button; + ArdourButton rude_iso_button; + ArdourButton rude_audition_button; + ArdourButton exclusive_solo_button; + ArdourButton 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 update_solo_model (); + void parameter_changed (std::string); + void isolated_changed (); + + PBD::ScopedConnection config_connection; + PBD::ScopedConnectionList control_connections; bool _inhibit_solo_model_update; - - void assign_controllables (); + + void assign_controllables (); };