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.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/server/LV2Plugin.cpp b/src/server/LV2Plugin.cpp
index 5e0dc609..ce920f4e 100644
--- a/src/server/LV2Plugin.cpp
+++ b/src/server/LV2Plugin.cpp
@@ -39,20 +39,26 @@ LV2Plugin::LV2Plugin(World* world, const LilvPlugin* lplugin)
{
set_property(_uris.rdf_type, _uris.lv2_Plugin);
- LilvNode* minor = lilv_world_get(world->lilv_world(),
- lilv_plugin_get_uri(lplugin),
+ update_properties();
+}
+
+void
+LV2Plugin::update_properties()
+{
+ LilvNode* minor = lilv_world_get(_world->lilv_world(),
+ lilv_plugin_get_uri(_lilv_plugin),
_uris.lv2_minorVersion,
NULL);
- LilvNode* micro = lilv_world_get(world->lilv_world(),
- lilv_plugin_get_uri(lplugin),
+ LilvNode* micro = lilv_world_get(_world->lilv_world(),
+ lilv_plugin_get_uri(_lilv_plugin),
_uris.lv2_minorVersion,
NULL);
if (lilv_node_is_int(minor) && lilv_node_is_int(micro)) {
set_property(_uris.lv2_minorVersion,
- world->forge().make(lilv_node_as_int(minor)));
+ _world->forge().make(lilv_node_as_int(minor)));
set_property(_uris.lv2_microVersion,
- world->forge().make(lilv_node_as_int(micro)));
+ _world->forge().make(lilv_node_as_int(micro)));
}
lilv_node_free(minor);