From 4e49c56361ef06d75696e4eac77ba59c1ed1aa3f Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 14 May 2011 21:05:26 +0000 Subject: Completely localist use of SLV2 to lv2_plugin.cc and lv2_plugin_ui.cc. git-svn-id: svn://localhost/ardour2/branches/3.0@9514 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/lv2_plugin_ui.cc | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) (limited to 'gtk2_ardour/lv2_plugin_ui.cc') diff --git a/gtk2_ardour/lv2_plugin_ui.cc b/gtk2_ardour/lv2_plugin_ui.cc index 8e2cd34164..30e622fe1e 100644 --- a/gtk2_ardour/lv2_plugin_ui.cc +++ b/gtk2_ardour/lv2_plugin_ui.cc @@ -28,6 +28,12 @@ #include "lv2_ui.h" +#include + +#if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL) +#include +#endif + using namespace Gtk; using namespace ARDOUR; using namespace PBD; @@ -35,7 +41,7 @@ using namespace PBD; #define NS_UI "http://lv2plug.in/ns/extensions/ui#" #if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL) -SuilHost* LV2PluginUI::ui_host = NULL; +static SuilHost* ui_host = NULL; #endif void @@ -81,8 +87,9 @@ LV2PluginUI::parameter_update(uint32_t port_index, float val) #ifdef HAVE_SUIL suil_instance_port_event(_inst, port_index, 4, 0, &val); #else - const LV2UI_Descriptor* ui_desc = slv2_ui_instance_get_descriptor(_inst); - LV2UI_Handle ui_handle = slv2_ui_instance_get_handle(_inst); + SLV2UIInstance inst = (SLV2UIInstance)_inst; + const LV2UI_Descriptor* ui_desc = slv2_ui_instance_get_descriptor(inst); + LV2UI_Handle ui_handle = slv2_ui_instance_get_handle(inst); if (ui_desc->port_event) { ui_desc->port_event(ui_handle, port_index, 4, 0, &val); } @@ -178,9 +185,8 @@ LV2PluginUI::lv2ui_instantiate(const std::string& title) } #if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL) - if (!LV2PluginUI::ui_host) { - LV2PluginUI::ui_host = suil_host_new( - LV2PluginUI::lv2_ui_write, NULL, NULL, NULL); + if (!ui_host) { + ui_host = suil_host_new(LV2PluginUI::lv2_ui_write, NULL, NULL, NULL); } const char* container_type = (is_external_ui) ? NS_UI "external" @@ -188,7 +194,7 @@ LV2PluginUI::lv2ui_instantiate(const std::string& title) SLV2UI ui = _lv2->slv2_ui(); _inst = suil_instance_new( - LV2PluginUI::ui_host, + ui_host, this, container_type, slv2_value_as_uri(slv2_plugin_get_uri(_lv2->slv2_plugin())), @@ -198,9 +204,11 @@ LV2PluginUI::lv2ui_instantiate(const std::string& title) slv2_uri_to_path(slv2_value_as_uri(slv2_ui_get_binary_uri(ui))), features_dst); #else - _inst = slv2_ui_instantiate( - _lv2->slv2_plugin(), _lv2->slv2_ui(), LV2PluginUI::lv2_ui_write, this, - features_dst); + _inst = slv2_ui_instantiate((SLV2Plugin)_lv2->c_plugin(), + (SLV2UI)_lv2->c_ui(), + LV2PluginUI::lv2_ui_write, + this, + features_dst); #endif if (is_external_ui) { @@ -208,12 +216,12 @@ LV2PluginUI::lv2ui_instantiate(const std::string& title) } #if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL) -#define GET_WIDGET(inst) suil_instance_get_widget(inst); +#define GET_WIDGET(inst) suil_instance_get_widget((SuilInstance*)inst); #else -#define GET_WIDGET(inst) slv2_ui_instance_get_widget(inst); +#define GET_WIDGET(inst) slv2_ui_instance_get_widget((SLV2UIInstance)inst); #endif - uint32_t num_ports = slv2_plugin_get_num_ports(_lv2->slv2_plugin()); + const uint32_t num_ports = _lv2->num_ports(); for (uint32_t i = 0; i < num_ports; ++i) { if (_lv2->parameter_is_output(i) && _lv2->parameter_is_control(i) @@ -261,10 +269,11 @@ LV2PluginUI::~LV2PluginUI () /* Close and delete GUI. */ #if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL) - suil_instance_free(_inst); + suil_instance_free((SuilInstance*)_inst); #else - const LV2UI_Descriptor* ui_desc = slv2_ui_instance_get_descriptor(_inst); - LV2UI_Handle ui_handle = slv2_ui_instance_get_handle(_inst); + SLV2UIInstance inst = (SLV2UIInstance)_inst; + const LV2UI_Descriptor* ui_desc = slv2_ui_instance_get_descriptor(inst); + LV2UI_Handle ui_handle = slv2_ui_instance_get_handle(inst); if (ui_desc) { ui_desc->cleanup(ui_handle); -- cgit v1.2.3