summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/PluginUI.cpp43
-rw-r--r--src/client/PluginUI.hpp3
-rw-r--r--src/client/wscript2
3 files changed, 14 insertions, 34 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')