20 #ifndef __ardour_lv2_plugin_ui_h__
21 #define __ardour_lv2_plugin_ui_h__
24 #include "gtk2ardour-config.h"
31 #include <gtkmm/widget.h>
32 #include <sigc++/signal.h>
48 class LV2PluginUI :
public PlugUIBase,
public Gtk::VBox
62 int package (Gtk::Window&);
73 std::vector<int> _output_ports;
74 sigc::connection _screen_update_connection;
75 sigc::connection _message_update_connection;
76 Gtk::Widget* _gui_widget;
78 Gtk::HBox _ardour_buttons_box;
80 std::vector<ControllableRef> _controllables;
82 LV2_Feature _external_ui_feature;
83 LV2_Feature _external_kxui_feature;
85 LV2_Feature _parent_feature;
86 Gtk::Window* _win_ptr;
89 static void on_external_ui_closed(
void* controller);
91 static void write_from_ui(
void* controller,
97 static void write_to_ui(
void* controller,
103 static uint32_t port_index(
void* controller,
const char* symbol);
105 static void touch(
void* controller,
109 void update_timeout();
111 void lv2ui_instantiate(
const std::string& title);
114 void parameter_update(uint32_t,
float);
115 bool configure_handler (GdkEventConfigure*);
117 void output_update();
118 bool is_update_wanted(uint32_t index);
124 #endif // LV2_SUPPORT
virtual bool start_updating(GdkEventAny *)=0
virtual void grab_focus()
virtual gint get_preferred_height()=0
void save_plugin_setting()
virtual bool stop_updating(GdkEventAny *)=0
virtual bool on_window_show(const std::string &)
virtual gint get_preferred_width()=0
virtual void on_window_hide()
virtual void parameter_changed(uint32_t, float)