summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/LV2Info.cpp2
-rw-r--r--src/server/LV2Info.hpp1
-rw-r--r--src/server/LV2Node.cpp7
3 files changed, 4 insertions, 6 deletions
diff --git a/src/server/LV2Info.cpp b/src/server/LV2Info.cpp
index e772b696..5a9ac556 100644
--- a/src/server/LV2Info.cpp
+++ b/src/server/LV2Info.cpp
@@ -20,6 +20,7 @@
#include "lv2/lv2plug.in/ns/ext/atom/atom.h"
#include "lv2/lv2plug.in/ns/ext/resize-port/resize-port.h"
+#include "lv2/lv2plug.in/ns/ext/worker/worker.h"
#include "ingen/shared/World.hpp"
#include "ingen/shared/LV2Features.hpp"
@@ -43,6 +44,7 @@ LV2Info::LV2Info(Ingen::Shared::World* world)
, lv2_default(lilv_new_uri(world->lilv_world(), LV2_CORE__default))
, lv2_portProperty(lilv_new_uri(world->lilv_world(), LV2_CORE__portProperty))
, rsz_minimumSize(lilv_new_uri(world->lilv_world(), LV2_RESIZE_PORT__minimumSize))
+ , work_schedule(lilv_new_uri(world->lilv_world(), LV2_WORKER__schedule))
, _world(world)
{
assert(world);
diff --git a/src/server/LV2Info.hpp b/src/server/LV2Info.hpp
index 4a12f5cd..30b43191 100644
--- a/src/server/LV2Info.hpp
+++ b/src/server/LV2Info.hpp
@@ -44,6 +44,7 @@ public:
LilvNode* lv2_default;
LilvNode* lv2_portProperty;
LilvNode* rsz_minimumSize;
+ LilvNode* work_schedule;
Ingen::Shared::World& world() { return *_world; }
LilvWorld* lv2_world() { return _world->lilv_world(); }
diff --git a/src/server/LV2Node.cpp b/src/server/LV2Node.cpp
index 3292a063..4a7800f3 100644
--- a/src/server/LV2Node.cpp
+++ b/src/server/LV2Node.cpp
@@ -150,9 +150,6 @@ LV2Node::instantiate(BufferFactory& bufs)
_features = info->world().lv2_features().lv2_features(&info->world(), this);
uint32_t port_buffer_size = 0;
- LilvNode* work_schedule = lilv_new_uri(info->lv2_world(),
- LV2_WORKER__schedule);
-
for (uint32_t i = 0; i < _polyphony; ++i) {
(*_instances)[i] = SharedPtr<void>(
lilv_plugin_instantiate(plug, _srate, _features->array()),
@@ -164,15 +161,13 @@ LV2Node::instantiate(BufferFactory& bufs)
return false;
}
- if (i == 0 && lilv_plugin_has_feature(plug, work_schedule)) {
+ if (i == 0 && lilv_plugin_has_feature(plug, info->work_schedule)) {
_worker_iface = (LV2_Worker_Interface*)
lilv_instance_get_extension_data(instance(i),
LV2_WORKER__interface);
}
}
- lilv_node_free(work_schedule);
-
string port_name;
Raul::Path port_path;