summaryrefslogtreecommitdiffstats
path: root/src/server/BlockFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/BlockFactory.cpp')
-rw-r--r--src/server/BlockFactory.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/BlockFactory.cpp b/src/server/BlockFactory.cpp
index 56fefd3f..c98de283 100644
--- a/src/server/BlockFactory.cpp
+++ b/src/server/BlockFactory.cpp
@@ -129,6 +129,9 @@ BlockFactory::load_lv2_plugins()
lilv_node_free));
}
+ LilvNode* lv2_connectionOptional = lilv_new_uri(
+ _world->lilv_world(), LV2_CORE__connectionOptional);
+
const LilvPlugins* plugins = lilv_world_get_all_plugins(_world->lilv_world());
LILV_FOREACH(plugins, i, plugins) {
const LilvPlugin* lv2_plug = lilv_plugins_get(plugins, i);
@@ -168,7 +171,8 @@ BlockFactory::load_lv2_plugins()
break;
}
}
- if (!supported) {
+ if (!supported &&
+ !lilv_port_has_property(lv2_plug, port, lv2_connectionOptional)) {
_world->log().warn(
fmt("Ignoring <%1%>; unsupported port <%2%>\n")
% uri % lilv_node_as_string(
@@ -186,6 +190,8 @@ BlockFactory::load_lv2_plugins()
_plugins.insert(make_pair(uri, plugin));
}
}
+
+ lilv_node_free(lv2_connectionOptional);
}
} // namespace Server