summaryrefslogtreecommitdiffstats
path: root/src/server/LV2Plugin.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-08-29 02:12:27 +0000
committerDavid Robillard <d@drobilla.net>2015-08-29 02:12:27 +0000
commit9e346cb4e4fc4bd4fc25115be9fad111ec326ae8 (patch)
tree55f43d6604846bc12378a5df333e36f55e9b88b6 /src/server/LV2Plugin.cpp
parentd3768319106a5cf7824579ec3bf9ff1776c09383 (diff)
downloadingen-9e346cb4e4fc4bd4fc25115be9fad111ec326ae8.tar.gz
ingen-9e346cb4e4fc4bd4fc25115be9fad111ec326ae8.tar.bz2
ingen-9e346cb4e4fc4bd4fc25115be9fad111ec326ae8.zip
Save plugin version information in bundles.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5710 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/LV2Plugin.cpp')
-rw-r--r--src/server/LV2Plugin.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/LV2Plugin.cpp b/src/server/LV2Plugin.cpp
index 3dc87030..ddc80f70 100644
--- a/src/server/LV2Plugin.cpp
+++ b/src/server/LV2Plugin.cpp
@@ -38,6 +38,29 @@ LV2Plugin::LV2Plugin(World* world, const LilvPlugin* lplugin)
, _lilv_plugin(lplugin)
{
set_property(_uris.rdf_type, _uris.lv2_Plugin);
+
+ LilvNode* minor = lilv_world_get(world->lilv_world(),
+ lilv_plugin_get_uri(lplugin),
+ _uris.lv2_minorVersion,
+ NULL);
+ LilvNode* micro = lilv_world_get(world->lilv_world(),
+ lilv_plugin_get_uri(lplugin),
+ _uris.lv2_minorVersion,
+ NULL);
+
+ if (lilv_node_is_int(minor) && lilv_node_is_int(micro)) {
+ fprintf(stderr, "%s version %d.%d\n",
+ lilv_node_as_uri(lilv_plugin_get_uri(lplugin)),
+ lilv_node_as_int(minor),
+ lilv_node_as_int(micro));
+ set_property(_uris.lv2_minorVersion,
+ world->forge().make(lilv_node_as_int(minor)));
+ set_property(_uris.lv2_microVersion,
+ world->forge().make(lilv_node_as_int(micro)));
+ }
+
+ lilv_node_free(minor);
+ lilv_node_free(micro);
}
const Raul::Symbol