summaryrefslogtreecommitdiffstats
path: root/src/server/LV2Plugin.cpp
diff options
context:
space:
mode:
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