summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/client/PluginUI.cpp43
-rw-r--r--src/client/PluginUI.hpp3
-rw-r--r--src/client/wscript2
-rw-r--r--src/gui/wscript1
-rw-r--r--wscript5
5 files changed, 15 insertions, 39 deletions
diff --git a/src/client/PluginUI.cpp b/src/client/PluginUI.cpp
index d13bc1b3..19c0fe03 100644
--- a/src/client/PluginUI.cpp
+++ b/src/client/PluginUI.cpp
@@ -109,7 +109,7 @@ PluginUI::PluginUI(Ingen::Shared::World* world,
PluginUI::~PluginUI()
{
- suil_instance_free(_instance);
+ slv2_ui_instance_free(_instance);
}
@@ -121,35 +121,15 @@ PluginUI::create(Ingen::Shared::World* world,
SharedPtr<PluginUI> ret(new PluginUI(world, node));
ret->_features = world->lv2_features()->lv2_features(world, node.get());
- // Build Suil UI set for this plugin
- const char* const plugin_uri = slv2_value_as_uri(slv2_plugin_get_uri(plugin));
- SLV2UIs slv2_uis = slv2_plugin_get_uis(plugin);
- SuilUIs suil_uis = suil_uis_new(plugin_uri);
- for (unsigned i = 0; i < slv2_uis_size(slv2_uis); ++i) {
- SLV2UI ui = slv2_uis_get_at(slv2_uis, i);
- SLV2Values classes = slv2_ui_get_classes(ui);
- for (unsigned j = 0; j < slv2_values_size(classes); ++j) {
- SLV2Value type = slv2_values_get_at(classes, j);
- if (suil_ui_type_supported("http://lv2plug.in/ns/extensions/ui#GtkUI",
- slv2_value_as_uri(type))) {
- suil_uis_add(
- suil_uis,
- slv2_value_as_uri(slv2_ui_get_uri(ui)),
- slv2_value_as_uri(type),
- slv2_uri_to_path(slv2_value_as_uri(slv2_ui_get_bundle_uri(ui))),
- slv2_uri_to_path(slv2_value_as_uri(slv2_ui_get_binary_uri(ui))));
- break;
- } else {
- warn << "Unsupported LV2 UI type " << slv2_value_as_uri(type) << endl;
- }
- }
- }
+ SLV2Value gtk_ui = slv2_value_new_uri(
+ world->slv2_world(), "http://lv2plug.in/ns/extensions/ui#GtkUI");
+
+ SLV2UI ui = slv2_plugin_get_default_ui(plugin, gtk_ui);
- // Attempt to instantiate a UI
- SuilInstance instance = suil_instance_new(
- suil_uis,
- "http://lv2plug.in/ns/extensions/ui#GtkUI",
- NULL,
+ SLV2UIInstance instance = slv2_ui_instance_new(
+ plugin,
+ ui,
+ gtk_ui,
lv2_ui_write,
ret.get(),
ret->_features->array());
@@ -167,7 +147,7 @@ PluginUI::create(Ingen::Shared::World* world,
LV2UI_Widget
PluginUI::get_widget()
{
- return (LV2UI_Widget*)suil_instance_get_widget(_instance);
+ return (LV2UI_Widget*)slv2_ui_instance_get_widget(_instance);
}
void
@@ -176,7 +156,8 @@ PluginUI::port_event(uint32_t port_index,
uint32_t format,
const void* buffer)
{
- suil_instance_port_event(_instance, port_index, buffer_size, format, buffer);
+ slv2_ui_instance_port_event(
+ _instance, port_index, buffer_size, format, buffer);
}
} // namespace Client
diff --git a/src/client/PluginUI.hpp b/src/client/PluginUI.hpp
index ae1cd12e..3a59a232 100644
--- a/src/client/PluginUI.hpp
+++ b/src/client/PluginUI.hpp
@@ -20,7 +20,6 @@
#include "raul/SharedPtr.hpp"
#include "slv2/slv2.h"
-#include "suil/suil.h"
#include "LV2Features.hpp"
@@ -60,7 +59,7 @@ private:
Ingen::Shared::World* _world;
SharedPtr<NodeModel> _node;
- SuilInstance _instance;
+ SLV2UIInstance _instance;
SharedPtr<Shared::LV2Features::FeatureArray> _features;
};
diff --git a/src/client/wscript b/src/client/wscript
index 38c0a598..8a4540d0 100644
--- a/src/client/wscript
+++ b/src/client/wscript
@@ -36,5 +36,5 @@ def build(bld):
obj.target = 'ingen_client'
obj.install_path = '${LIBDIR}'
obj.use = 'libingen_shared'
- autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 SUIL RAUL SORD SOUP SIGCPP LIBLO SOUP')
+ autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 RAUL SORD SOUP SIGCPP LIBLO SOUP')
diff --git a/src/gui/wscript b/src/gui/wscript
index db9eed38..8e6bf344 100644
--- a/src/gui/wscript
+++ b/src/gui/wscript
@@ -62,7 +62,6 @@ def build(bld):
SIGCPP
LV2CORE
SLV2
- SUIL
SOUP
''')
diff --git a/wscript b/wscript
index eda657ce..126ae15c 100644
--- a/wscript
+++ b/wscript
@@ -51,8 +51,6 @@ def configure(conf):
atleast_version='0.120.0', mandatory=False)
autowaf.check_pkg(conf, 'slv2', uselib_store='SLV2',
atleast_version='0.6.0', mandatory=True)
- autowaf.check_pkg(conf, 'suil', uselib_store='SUIL',
- atleast_version='0.0.0', mandatory=True)
autowaf.check_pkg(conf, 'raul', uselib_store='RAUL',
atleast_version='0.6.2', mandatory=True)
autowaf.check_pkg(conf, 'flowcanvas', uselib_store='FLOWCANVAS',
@@ -112,7 +110,6 @@ def configure(conf):
autowaf.display_msg(conf, "OSC", str(conf.env['HAVE_LIBLO'] == 1))
autowaf.display_msg(conf, "HTTP", str(conf.env['HAVE_SOUP'] == 1))
autowaf.display_msg(conf, "LV2", str(conf.env['HAVE_SLV2'] == 1))
- autowaf.display_msg(conf, "LV2 UI", str(conf.env['HAVE_SUIL'] == 1))
autowaf.display_msg(conf, "GUI", str(conf.env['INGEN_BUILD_GUI'] == 1))
print
@@ -143,7 +140,7 @@ def build(bld):
obj.defines = 'VERSION="' + bld.env['INGEN_VERSION'] + '"'
obj.use = 'libingen_module libingen_shared'
obj.install_path = '${BINDIR}'
- autowaf.use_lib(bld, obj, 'GTHREAD GLIBMM SORD RAUL LV2CORE SLV2 SUIL INGEN LIBLO SOUP')
+ autowaf.use_lib(bld, obj, 'GTHREAD GLIBMM SORD RAUL LV2CORE SLV2 INGEN LIBLO SOUP')
bld.install_files('${DATADIR}/applications', 'src/ingen/ingen.desktop')