-static void lilv_destroy(GtkWidget* widget, gpointer data)
-{
- PluginLV2GUI *the = (PluginLV2GUI*)data;
- the->done = 1;
-}
-
-void PluginLV2GUI::start()
-{
- GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- g_signal_connect(window, "destroy", G_CALLBACK(lilv_destroy), this);
- gtk_window_set_title(GTK_WINDOW(window), title);
-
- GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
- gtk_window_set_role(GTK_WINDOW(window), "plugin_ui");
- gtk_container_add(GTK_CONTAINER(window), vbox);
-
- GtkWidget *alignment = gtk_alignment_new(0.5, 0.5, 1.0, 1.0);
- gtk_box_pack_start(GTK_BOX(vbox), alignment, TRUE, TRUE, 0);
- gtk_widget_show(alignment);
- lv2ui_instantiate(alignment);
- GtkWidget* widget = (GtkWidget*)suil_instance_get_widget(sinst);
- gtk_container_add(GTK_CONTAINER(alignment), widget);
- gtk_window_set_resizable(GTK_WINDOW(window), lv2ui_resizable());
- gtk_widget_show_all(vbox);
- gtk_widget_grab_focus(widget);
-
- gtk_window_present(GTK_WINDOW(window));
- running = -1;
-}
-
-void PluginLV2GUI::stop()
-{
- running = 0;
-}
-
-void PluginLV2GUI::host_update(PluginLV2ChildGUI *child)
-{
-//printf("update\n");
- last = updates;
- if( !child ) return;
-// ignore reset update
- if( child->lv2_gui->running < 0 ) { child->lv2_gui->running = 1; return; }
- child->send_parent(LV2_UPDATE, config.ctls, sizeof(float)*config.nb_ports);
-}
-
-void PluginLV2GUI::run_gui(PluginLV2ChildGUI *child)