diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/PluginUI.cpp | 43 | ||||
-rw-r--r-- | src/client/PluginUI.hpp | 3 | ||||
-rw-r--r-- | src/client/wscript | 2 |
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') |