- std::vector<int> _output_ports;
- sigc::connection _screen_update_connection;
-
- Gtk::Widget* _gui_widget;
- SLV2UIInstance _inst;
- float* _values;
-
- static void lv2_ui_write(
- LV2UI_Controller controller,
- uint32_t port_index,
- uint32_t buffer_size,
- uint32_t format,
- const void* buffer);
-
- void parameter_changed(uint32_t, float);
+ std::vector<int> _output_ports;
+ sigc::connection _screen_update_connection;
+ sigc::connection _message_update_connection;
+ Gtk::Widget* _gui_widget;
+ /** a box containing the focus, bypass, delete, save / add preset buttons etc. */
+ Gtk::HBox _ardour_buttons_box;
+ float* _values_last_sent_to_ui;
+ std::vector<ControllableRef> _controllables;
+ struct lv2_external_ui_host _external_ui_host;
+ LV2_Feature _external_ui_feature;
+ LV2_Feature _external_kxui_feature;
+ struct lv2_external_ui* _external_ui_ptr;
+ LV2_Feature _parent_feature;
+ Gtk::Window* _win_ptr;
+ void* _inst;
+ typedef std::set<uint32_t> Updates;
+ Updates _updates;
+
+ static void on_external_ui_closed(void* controller);
+
+ static void write_from_ui(void* controller,
+ uint32_t port_index,
+ uint32_t buffer_size,
+ uint32_t format,
+ const void* buffer);
+
+ static void write_to_ui(void* controller,
+ uint32_t port_index,
+ uint32_t buffer_size,
+ 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);
+ void lv2ui_free();
+