rework histogram_bezier, init wm icon set_icon(gg), update de.po+msg/txt
[goodguy/history.git] / cinelerra-5.1 / cinelerra / pluginlv2gui.C
index e9e62d533cf1b4b7ef108d85fc29dd93ea767634..9ae3ba39a9bf95834baa40503a963fec335b7fb2 100644 (file)
@@ -1,4 +1,3 @@
-#ifdef HAVE_LV2
 
 /*
  * CINELERRA
@@ -19,6 +18,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  */
+#ifdef HAVE_LV2
 
 #include "clip.h"
 #include "cstrdup.h"
@@ -153,7 +153,8 @@ void PluginLV2Client_OptPanel::update()
        const char *cols[] = { "option", "value", };
        const int col1_w = 150;
        int wids[] = { col1_w, get_w()-col1_w };
-       BC_ListBox::update(&items[0], &cols[0], &wids[0], sizeof(items)/sizeof(items[0]));
+       BC_ListBox::update(&items[0], &cols[0], &wids[0], sizeof(items)/sizeof(items[0]),
+               get_xposition(), get_yposition(), get_highlighted_item());
 }
 
 PluginLV2ClientPot::PluginLV2ClientPot(PluginLV2ClientWindow *gui, int x, int y)
@@ -212,12 +213,8 @@ void PluginLV2ClientWindow::create_objects()
        BC_Title *title;
        int x = 10, y = 10, x1;
        add_subwindow(title = new BC_Title(x, y, client->title));
-#ifdef HAVE_LV2UI
        x1 = get_w() - BC_GenericButton::calculate_w(this, _("UI")) - 8;
-       add_subwindow(ui = new PluginLV2ClientUI(this, x1, y));
-#else
-       ui = 0;
-#endif
+       add_subwindow(client_ui = new PluginLV2ClientUI(this, x1, y));
        y += title->get_h() + 10;
        add_subwindow(varbl = new BC_Title(x, y, ""));
        add_subwindow(range = new BC_Title(x+160, y, ""));
@@ -233,7 +230,6 @@ void PluginLV2ClientWindow::create_objects()
        add_subwindow(slider = new PluginLV2ClientSlider(this, x1, y+10));
        y += pot->get_h() + 10;
 
-       client->init_lv2();
        client->load_configuration();
        client->config.update();
 
@@ -246,6 +242,7 @@ void PluginLV2ClientWindow::create_objects()
        show_window(1);
 
        if( client->server->mwindow->preferences->autostart_lv2ui ) {
+               client_ui->disable();
                PluginLV2ParentUI *ui = get_ui();
                ui->show();
        }
@@ -254,10 +251,8 @@ void PluginLV2ClientWindow::create_objects()
 int PluginLV2ClientWindow::resize_event(int w, int h)
 {
        int x1;
-#ifdef HAVE_LV2UI
-       x1 = w - ui->get_w() - 8;
-       ui->reposition_window(x1, ui->get_y());
-#endif
+       x1 = w - client_ui->get_w() - 8;
+       client_ui->reposition_window(x1, client_ui->get_y());
        x1 = w - reset->get_w() - 8;
        reset->reposition_window(x1, reset->get_y());
        x1 = w - apply->get_w() - 8;
@@ -361,4 +356,11 @@ void PluginLV2ClientWindow::lv2_set(int idx, float val)
        lv2_update();
 }
 
+void PluginLV2ClientWindow::lv2_ui_enable()
+{
+       lock_window("PluginLV2ClientWindow::lv2_update");
+       client_ui->enable();
+       unlock_window();
+}
+
 #endif