summaryrefslogtreecommitdiffstats
path: root/src/engine/LV2Node.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-02-03 06:08:08 +0000
committerDavid Robillard <d@drobilla.net>2010-02-03 06:08:08 +0000
commit44859a84f0bad75cb358dc1d91e5cfcdeda10ba7 (patch)
treebf16298b7448f7b696bbe0649940838e7504861b /src/engine/LV2Node.cpp
parent87597f85c5a69a9accd3ce2ed88f2a006173e885 (diff)
downloadingen-44859a84f0bad75cb358dc1d91e5cfcdeda10ba7.tar.gz
ingen-44859a84f0bad75cb358dc1d91e5cfcdeda10ba7.tar.bz2
ingen-44859a84f0bad75cb358dc1d91e5cfcdeda10ba7.zip
Bind ports with lv2:portProperty lv2:toggled specially (on iff value >= half).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2410 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/LV2Node.cpp')
-rw-r--r--src/engine/LV2Node.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/engine/LV2Node.cpp b/src/engine/LV2Node.cpp
index a0c7dd07..2e176abe 100644
--- a/src/engine/LV2Node.cpp
+++ b/src/engine/LV2Node.cpp
@@ -198,6 +198,9 @@ LV2Node::instantiate(BufferFactory& bufs)
SLV2Value min_size_pred = slv2_value_new_uri(info->lv2_world(),
"http://lv2plug.in/ns/dev/resize-port#minimumSize");
+ SLV2Value port_property_pred = slv2_value_new_uri(info->lv2_world(),
+ "http://lv2plug.in/ns/lv2core#portProperty");
+
//SLV2Value as_large_as_pred = slv2_value_new_uri(info->lv2_world(),
// "http://lv2plug.in/ns/dev/resize-port#asLargeAs");
@@ -291,6 +294,16 @@ LV2Node::instantiate(BufferFactory& bufs)
}
}
+ // Set lv2:portProperty properties
+ SLV2Values properties = slv2_port_get_value(plug, id, port_property_pred);
+ for (uint32_t i = 0; i < slv2_values_size(properties); ++i) {
+ SLV2Value p = slv2_values_get_at(properties, i);
+ if (slv2_value_is_uri(p)) {
+ Raul::info << "SET PORT PROPERTY " << slv2_value_as_uri(p) << endl;
+ port->set_property(uris.lv2_portProperty, Raul::URI(slv2_value_as_uri(p)));
+ }
+ }
+
SLV2Values contexts = slv2_port_get_value(plug, id, context_pred);
for (uint32_t i = 0; i < slv2_values_size(contexts); ++i) {
SLV2Value c = slv2_values_get_at(contexts, i);