summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-08-18 19:59:30 +0200
committerDavid Robillard <d@drobilla.net>2019-08-18 19:59:30 +0200
commit01426de7afd04e8a00c6d2fdd25893da83f70180 (patch)
tree4845a8e85017934d2b7e1a127e89618232305446
parent1bce600a6f308b3bd836f85eb1cc62d3c93a5f35 (diff)
downloadlilv-01426de7afd04e8a00c6d2fdd25893da83f70180.tar.gz
lilv-01426de7afd04e8a00c6d2fdd25893da83f70180.tar.bz2
lilv-01426de7afd04e8a00c6d2fdd25893da83f70180.zip
Fix lilv_plugin_get_latency_port_index() for lv2:latency designation
-rw-r--r--src/plugin.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugin.c b/src/plugin.c
index b2648dd..e1567f4 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -731,10 +731,19 @@ lilv_plugin_get_port_by_designation(const LilvPlugin* plugin,
LILV_API uint32_t
lilv_plugin_get_latency_port_index(const LilvPlugin* plugin)
{
+ LilvNode* lv2_OutputPort =
+ lilv_new_uri(plugin->world, LV2_CORE__OutputPort);
+ LilvNode* lv2_latency =
+ lilv_new_uri(plugin->world, LV2_CORE__latency);
+
const LilvPort* prop_port = lilv_plugin_get_port_by_property(
plugin, plugin->world->uris.lv2_reportsLatency);
- const LilvPort* des_port = lilv_plugin_get_port_by_property(
- plugin, plugin->world->uris.lv2_latency);
+ const LilvPort* des_port = lilv_plugin_get_port_by_designation(
+ plugin, lv2_OutputPort, lv2_latency);
+
+ lilv_node_free(lv2_latency);
+ lilv_node_free(lv2_OutputPort);
+
if (prop_port) {
return prop_port->index;
} else if (des_port) {