X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fvca_master_strip.h;h=0505788aafd6a918c5258c09dd52e99bc0fdfe28;hb=df28a71252f4593c65ec03611586dfc8a62a834f;hp=1e0779aa1f2b2942912966361e8897c01a75ce99;hpb=e0ff70cf86c01c42f98faf8b0eaf1a8ccf867946;p=ardour.git diff --git a/gtk2_ardour/vca_master_strip.h b/gtk2_ardour/vca_master_strip.h index 1e0779aa1f..0505788aaf 100644 --- a/gtk2_ardour/vca_master_strip.h +++ b/gtk2_ardour/vca_master_strip.h @@ -22,11 +22,16 @@ #include #include +#include #include +#include + +#include "widgets/ardour_button.h" -#include "ardour_button.h" #include "axis_view.h" +#include "control_slave_ui.h" #include "gain_meter.h" +#include "stripable_colorpicker.h" namespace ARDOUR { class GainControl; @@ -37,39 +42,45 @@ class FloatingTextEntry; class VCAMasterStrip : public AxisView, public Gtk::EventBox { - public: +public: VCAMasterStrip (ARDOUR::Session*, boost::shared_ptr); ~VCAMasterStrip (); + boost::shared_ptr stripable() const; + ARDOUR::PresentationInfo const & presentation_info () const; + std::string name() const; - std::string state_id() const { return "VCAMasterStrip"; } + Gdk::Color color () const; + std::string state_id() const; boost::shared_ptr vca() const { return _vca; } static PBD::Signal1 CatchDeletion; - private: + bool marked_for_display () const; + bool set_marked_for_display (bool); + +private: boost::shared_ptr _vca; - Gtk::HBox vertical_padding; - ArdourButton name_button; GainMeter gain_meter; - Gtk::Frame global_frame; - Gtk::VBox global_vpacker; - Gtk::HBox top_padding; - Gtk::HBox bottom_padding; - Gtk::HBox width_hide_box; - Gtk::HBox solo_mute_box; - ArdourButton width_button; - ArdourButton color_button; - ArdourButton hide_button; - ArdourButton number_label; - ArdourButton solo_button; - ArdourButton mute_button; - ArdourButton assign_button; - Gtk::Menu* context_menu; - PBD::ScopedConnectionList vca_connections; - Gtk::MessageDialog* delete_dialog; - + Gtk::Frame global_frame; + Gtk::VBox global_vpacker; + Gtk::HBox bottom_padding; + Gtk::HBox solo_mute_box; + ArdourWidgets::ArdourButton width_button; + ArdourWidgets::ArdourButton color_button; + ArdourWidgets::ArdourButton hide_button; + ArdourWidgets::ArdourButton number_label; + ArdourWidgets::ArdourButton solo_button; + ArdourWidgets::ArdourButton mute_button; + Gtk::Menu* context_menu; + Gtk::MessageDialog* delete_dialog; + ArdourWidgets::ArdourButton vertical_button; + ControlSlaveUI control_slave_ui; + PBD::ScopedConnectionList vca_connections; + + void spill (); + void spill_change (boost::shared_ptr); void hide_clicked(); bool width_button_pressed (GdkEventButton *); void set_selected (bool); @@ -79,17 +90,27 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox void set_solo_text (); void solo_changed (); void mute_changed (); - void vca_menu_toggle (Gtk::CheckMenuItem* menuitem, uint32_t n); void unassign (); - bool vca_button_release (GdkEventButton*); - void update_vca_display (); - void finish_name_edit (std::string); - bool name_button_press (GdkEventButton*); + void start_name_edit (); + void finish_name_edit (std::string, int); + bool vertical_button_press (GdkEventButton*); + bool number_button_press (GdkEventButton*); void vca_property_changed (PBD::PropertyChange const & what_changed); void update_vca_name (); void build_context_menu (); void hide_confirmation (int); void self_delete (); + void remove (); + void drop_all_slaves (); + void assign_all_selected (); + void unassign_all_selected (); + + void parameter_changed (std::string const& p); + void set_button_names (); + void update_bottom_padding (); + + void start_color_edit (); + StripableColorDialog _color_picker; };