fix horiz alignment (corner-radius is added to layout)
[ardour.git] / gtk2_ardour / lv2_plugin_ui.h
index d245ed31a1bd0cbf215b14037f252d547c9238d1..9bf8c3d92ba3c3414b29c3c725ef451082e4cfda 100644 (file)
@@ -36,6 +36,7 @@
 #include "plugin_ui.h"
 
 #ifdef LV2_SUPPORT
+#include "ardour/plugin_insert.h"
 
 #include "lv2_external_ui.h"
 
@@ -53,6 +54,8 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
 
        gint get_preferred_height ();
        gint get_preferred_width ();
+       bool resizable ();
+
        bool start_updating(GdkEventAny*);
        bool stop_updating(GdkEventAny*);
 
@@ -64,6 +67,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
 
        typedef boost::shared_ptr<ARDOUR::AutomationControl> ControllableRef;
 
+       boost::shared_ptr<ARDOUR::PluginInsert> _pi;
        boost::shared_ptr<ARDOUR::LV2Plugin> _lv2;
        std::vector<int>                     _output_ports;
        sigc::connection                     _screen_update_connection;
@@ -75,6 +79,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
        struct lv2_external_ui_host          _external_ui_host;
        LV2_Feature                          _external_ui_feature;
        struct lv2_external_ui*              _external_ui_ptr;
+       LV2_Feature                          _parent_feature;
        Gtk::Window*                         _win_ptr;
        void*                                _inst;
 
@@ -92,6 +97,12 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
                                uint32_t    format,
                                const void* buffer);
 
+       static uint32_t port_index(void* controller, const char* symbol);
+
+       static void touch(void*    controller,
+                         uint32_t port_index,
+                         bool     grabbed);
+
        void update_timeout();
 
        void lv2ui_instantiate(const std::string& title);