Extend LV2UI-Request-Parameter File/Path GUI
[ardour.git] / gtk2_ardour / control_slave_ui.h
index 1ce35720ec49c5895de4bb47131493b30f594b96..f54b1c72cb62fc8e4e3dbdc8a99717adfea3592c 100644 (file)
 #include <gtkmm/checkmenuitem.h>
 
 #include "pbd/signals.h"
+#include "pbd/properties.h"
 
 #include "ardour/session_handle.h"
 
-#include "ardour_button.h"
+#include "widgets/ardour_button.h"
 
 namespace ARDOUR {
        class VCA;
@@ -40,15 +41,18 @@ namespace ARDOUR {
 
 class ControlSlaveUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
 {
-   public:
+public:
        ControlSlaveUI (ARDOUR::Session*);
+       ~ControlSlaveUI ();
        void set_stripable (boost::shared_ptr<ARDOUR::Stripable>);
 
-   private:
+private:
        boost::shared_ptr<ARDOUR::Stripable> stripable;
-       PBD::ScopedConnectionList connections;
-       ArdourButton  initial_button;
+       PBD::ScopedConnectionList   connections;
+       PBD::ScopedConnectionList   master_connections;
+       ArdourWidgets::ArdourButton initial_button;
 
+       void master_property_changed (PBD::PropertyChange const &);
        void update_vca_display ();
        void vca_menu_toggle (Gtk::CheckMenuItem*, uint32_t n);
        bool specific_vca_button_release (GdkEventButton* ev, uint32_t n);
@@ -56,6 +60,8 @@ class ControlSlaveUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        bool vca_button_release (GdkEventButton* ev, uint32_t n);
        void add_vca_button (boost::shared_ptr<ARDOUR::VCA>);
        void unassign_all ();
+
+       Gtk::Menu* context_menu;
 };
 
 #endif /* __gtk2_ardour_control_slave_ui_h__ */