aboutsummaryrefslogtreecommitdiffstats
path: root/src/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/state.c')
-rw-r--r--src/state.c15
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,