diff options
Diffstat (limited to 'src/state.c')
-rw-r--r-- | src/state.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/state.c b/src/state.c index 4e9cdd7..108723d 100644 --- a/src/state.c +++ b/src/state.c @@ -101,6 +101,7 @@ jalv_load_presets(Jalv* jalv, PresetSink sink, void* data) jalv->nodes.pset_Preset); LILV_FOREACH(nodes, i, presets) { const LilvNode* preset = lilv_nodes_get(presets, i); + printf("Preset: %s\n", lilv_node_as_uri(preset)); lilv_world_load_resource(jalv->world, preset); LilvNodes* labels = lilv_world_find_nodes( jalv->world, preset, jalv->nodes.rdfs_label, NULL); @@ -118,6 +119,20 @@ jalv_load_presets(Jalv* jalv, PresetSink sink, void* data) return 0; } +int +jalv_unload_presets(Jalv* jalv) +{ + LilvNodes* presets = lilv_plugin_get_related(jalv->plugin, + jalv->nodes.pset_Preset); + LILV_FOREACH(nodes, i, presets) { + const LilvNode* preset = lilv_nodes_get(presets, i); + lilv_world_unload_resource(jalv->world, preset); + } + lilv_nodes_free(presets); + + return 0; +} + static void set_port_value(const char* port_symbol, void* user_data, |