diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/plugin.c | 13 | ||||
-rw-r--r-- | src/world.c | 17 |
3 files changed, 18 insertions, 14 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index f7b9f76..c7c70f6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ -AM_CFLAGS = -std=c99 -I$(top_srcdir)/include -I$(top_srcdir) @REDLAND_CFLAGS@ -DLIBSLV2_SOURCE -DLV2_TTL_PATH=\"@lv2ttlpath@\" +AM_CFLAGS = -std=c99 -I$(top_srcdir)/include -I$(top_srcdir) @REDLAND_CFLAGS@ -DLIBSLV2_SOURCE AM_LDFLAGS = `pkg-config --libs rasqal` lib_LTLIBRARIES = libslv2.la diff --git a/src/plugin.c b/src/plugin.c index 391ed11..1552c55 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -433,20 +433,15 @@ bool slv2_plugin_has_latency(SLV2Plugin p) { const char* const query = - "ASK WHERE {\n" - " <> lv2:port ?port .\n" + "SELECT DISTINCT ?index WHERE {\n" + " <> lv2:port ?port .\n" " ?port lv2:portHint lv2:reportsLatency ;\n" " lv2:index ?index .\n" "}\n"; - librdf_query_results* results = slv2_plugin_query(p, query); - assert(librdf_query_results_is_boolean(results)); - - bool ret = (librdf_query_results_get_boolean(results) > 0); + SLV2Values result = slv2_plugin_simple_query(p, query, 0); - librdf_free_query_results(results); - - return ret; + return (slv2_values_size(result) > 0); } diff --git a/src/world.c b/src/world.c index ff91ead..913a3ff 100644 --- a/src/world.c +++ b/src/world.c @@ -294,11 +294,20 @@ slv2_world_load_all(SLV2World world) char* lv2_path = getenv("LV2_PATH"); /* 1. Read LV2 ontology into model */ - librdf_uri* ontology_uri = librdf_new_uri(world->world, - (const unsigned char*)"file://" LV2_TTL_PATH); - librdf_parser_parse_into_model(world->parser, ontology_uri, NULL, world->model); - librdf_free_uri(ontology_uri); + const char* ontology_path = "/usr/local/share/slv2/lv2.ttl"; + FILE* ontology = fopen(ontology_path, "r"); + if (ontology == NULL) { + ontology_path = "/usr/share/slv2/lv2.ttl"; + ontology = fopen(ontology_path, "r"); + } + if (ontology) { + fclose(ontology); + librdf_uri* ontology_uri = librdf_new_uri_from_filename(world->world, + ontology_path); + librdf_parser_parse_into_model(world->parser, ontology_uri, NULL, world->model); + librdf_free_uri(ontology_uri); + } /* 2. Read all manifest files into model */ |