summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-05-14 21:05:26 +0000
committerDavid Robillard <d@drobilla.net>2011-05-14 21:05:26 +0000
commit4e49c56361ef06d75696e4eac77ba59c1ed1aa3f (patch)
treeb5c9b17de40d022a57c6b63dfaade7fb5b695782 /gtk2_ardour
parentac367e89043e0a7f0db6ca44edf5edaab27e8091 (diff)
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
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/lv2_plugin_ui.cc41
-rw-r--r--gtk2_ardour/lv2_plugin_ui.h18
-rw-r--r--gtk2_ardour/plugin_selector.cc4
3 files changed, 30 insertions, 33 deletions
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 <slv2/slv2.h>
+
+#if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL)
+#include <suil/suil.h>
+#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);
diff --git a/gtk2_ardour/lv2_plugin_ui.h b/gtk2_ardour/lv2_plugin_ui.h
index ccbd177f56..7fb311c81f 100644
--- a/gtk2_ardour/lv2_plugin_ui.h
+++ b/gtk2_ardour/lv2_plugin_ui.h
@@ -36,14 +36,10 @@
#include "ardour/types.h"
#include "plugin_ui.h"
-#ifdef HAVE_SLV2
+#ifdef LV2_SUPPORT
#include "lv2_external_ui.h"
-#if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL)
-#include <suil/suil.h>
-#endif
-
namespace ARDOUR {
class PluginInsert;
class LV2Plugin;
@@ -81,15 +77,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
static void on_external_ui_closed(void* controller);
-#if defined(HAVE_NEW_SLV2) && defined(HAVE_SUIL)
- static SuilHost* ui_host;
- static SLV2Value ui_GtkUI;
- static SLV2Value ui_external;
-
- SuilInstance* _inst;
-#else
- SLV2UIInstance _inst;
-#endif
+ void* _inst;
static void lv2_ui_write(
void* controller,
@@ -110,7 +98,7 @@ class LV2PluginUI : public PlugUIBase, public Gtk::VBox
virtual void on_window_hide();
};
-#endif // HAVE_SLV2
+#endif // LV2_SUPPORT
#endif /* __ardour_lv2_plugin_ui_h__ */
diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc
index deed9735d3..7b04d55298 100644
--- a/gtk2_ardour/plugin_selector.cc
+++ b/gtk2_ardour/plugin_selector.cc
@@ -340,7 +340,7 @@ PluginSelector::ladspa_refiller (const std::string& filterstr)
void
PluginSelector::lv2_refiller (const std::string& filterstr)
{
-#ifdef HAVE_SLV2
+#ifdef LV2_SUPPORT
refiller (manager->lv2_plugin_info(), filterstr, "LV2");
#endif
}
@@ -588,7 +588,7 @@ PluginSelector::build_plugin_menu ()
#ifdef HAVE_AUDIOUNITS
all_plugs.insert (all_plugs.end(), manager->au_plugin_info().begin(), manager->au_plugin_info().end());
#endif
-#ifdef HAVE_SLV2
+#ifdef LV2_SUPPORT
all_plugs.insert (all_plugs.end(), manager->lv2_plugin_info().begin(), manager->lv2_plugin_info().end());
#endif