allow sending OSC from inline display UIs
[ardour.git] / gtk2_ardour / vca_master_strip.h
index 05e9f6366dd1ddf0fc384c9b208cffc98f78dc1e..7208071f85d2bcddea50ce8669d2a00d037469c2 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "ardour_button.h"
 #include "axis_view.h"
+#include "control_slave_ui.h"
 #include "gain_meter.h"
 
 namespace ARDOUR {
@@ -41,6 +42,9 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
        VCAMasterStrip (ARDOUR::Session*, boost::shared_ptr<ARDOUR::VCA>);
        ~VCAMasterStrip ();
 
+       boost::shared_ptr<ARDOUR::Stripable> stripable() const;
+       ARDOUR::PresentationInfo const & presentation_info () const;
+
        std::string name() const;
        Gdk::Color color () const;
        std::string state_id() const;
@@ -48,6 +52,8 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
 
        static PBD::Signal1<void,VCAMasterStrip*> CatchDeletion;
 
+       bool marked_for_display () const;
+       bool set_marked_for_display (bool);
 
      private:
        boost::shared_ptr<ARDOUR::VCA> _vca;
@@ -64,12 +70,11 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
        ArdourButton number_label;
        ArdourButton solo_button;
        ArdourButton mute_button;
-       ArdourButton assign_button;
-       ArdourButton drop_button;
        Gtk::Menu*   context_menu;
-       PBD::ScopedConnectionList vca_connections;
        Gtk::MessageDialog* delete_dialog;
        ArdourButton vertical_button;
+       ControlSlaveUI control_slave_ui;
+       PBD::ScopedConnectionList vca_connections;
 
        void spill ();
        void spill_change (boost::shared_ptr<ARDOUR::VCA>);
@@ -82,10 +87,7 @@ 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 start_name_edit ();
        void finish_name_edit (std::string, int);
        bool vertical_button_press (GdkEventButton*);
@@ -95,11 +97,13 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
        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*);
 };