summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/lv2_plugin.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index e6b3c2d56e..f24aa653bb 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -1095,10 +1095,12 @@ LV2Plugin::do_save_preset(string name)
lilv_state_free(state);
std::string uri = Glib::filename_to_uri(Glib::build_filename(bundle, file_name));
- LilvNode *node = lilv_new_uri(_world.world, uri.c_str());
- lilv_world_load_bundle(_world.world, node);
- lilv_world_load_resource(_world.world, node);
- lilv_node_free(node);
+ LilvNode *node_bundle = lilv_new_uri(_world.world, Glib::filename_to_uri(Glib::build_filename(bundle, "/")).c_str());
+ LilvNode *node_preset = lilv_new_uri(_world.world, uri.c_str());
+ lilv_world_load_bundle(_world.world, node_bundle);
+ lilv_world_load_resource(_world.world, node_preset);
+ lilv_node_free(node_bundle);
+ lilv_node_free(node_preset);
return uri;
}