diff options
Diffstat (limited to 'src/jalv.c')
-rw-r--r-- | src/jalv.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1088,6 +1088,21 @@ main(int argc, char** argv) return EXIT_FAILURE; } + /* Load preset, if specified */ + if (jalv.opts.preset) { + LilvNode* preset = lilv_new_uri(jalv.world, jalv.opts.preset); + + jalv_load_presets(&jalv, NULL, NULL); + state = lilv_state_new_from_world(jalv.world, &jalv.map, preset); + jalv.preset = state; + lilv_node_free(preset); + if (!state) { + fprintf(stderr, "Failed to find preset <%s>\n", jalv.opts.preset); + lilv_world_free(world); + return EXIT_FAILURE; + } + } + /* Check that any required features are supported */ LilvNodes* req_feats = lilv_plugin_get_required_features(jalv.plugin); LILV_FOREACH(nodes, f, req_feats) { |