X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fvca_master_strip.h;h=bca74fded078c4a2f3794aa2cf0e0584fd16305b;hb=57ee61772b6c44e7731619c5c74e45bb860ac4aa;hp=2df0d5bfab9c7ca06b4c46bf42cb2ebfe2e936e1;hpb=567fb50aad1d31a622b5bcceb457438e05ef4f73;p=ardour.git diff --git a/gtk2_ardour/vca_master_strip.h b/gtk2_ardour/vca_master_strip.h index 2df0d5bfab..bca74fded0 100644 --- a/gtk2_ardour/vca_master_strip.h +++ b/gtk2_ardour/vca_master_strip.h @@ -26,6 +26,7 @@ #include "ardour_button.h" #include "axis_view.h" +#include "control_slave_ui.h" #include "gain_meter.h" namespace ARDOUR { @@ -39,22 +40,26 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox { public: VCAMasterStrip (ARDOUR::Session*, boost::shared_ptr); + ~VCAMasterStrip (); 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; } - private: + static PBD::Signal1 CatchDeletion; + + 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; @@ -62,10 +67,15 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox ArdourButton number_label; ArdourButton solo_button; ArdourButton mute_button; - ArdourButton assign_button; - bool wide; + ArdourButton drop_button; + Gtk::Menu* context_menu; + Gtk::MessageDialog* delete_dialog; + 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); @@ -75,14 +85,24 @@ 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 vca_unassign (); - bool vca_button_release (GdkEventButton*); - void update_vca_display (); - void finish_name_edit (std::string); - bool name_button_press (GdkEventButton*); + void unassign (); + void start_name_edit (); + void finish_name_edit (std::string, int); + bool vertical_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_button_press (); + void drop_all_slaves (); + + void parameter_changed (std::string const& p); + void set_button_names (); + + void start_color_edit (); + void finish_color_edit (int, Gtk::ColorSelectionDialog*); };