From bbe51138b132c883e3e7441aba34cc628f3f43c7 Mon Sep 17 00:00:00 2001 From: dave Date: Sun, 11 Jun 2006 18:54:30 +0000 Subject: [PATCH] Catch broken plugins, messily for now git-svn-id: http://svn.drobilla.net/lad@24 a436a847-0d15-0410-975c-d299462d15a1 --- libslv2/src/plugin.c | 1 - libslv2/src/plugininstance.c | 9 ++++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libslv2/src/plugin.c b/libslv2/src/plugin.c index 8c7a4cc8..29083e81 100644 --- a/libslv2/src/plugin.c +++ b/libslv2/src/plugin.c @@ -171,7 +171,6 @@ slv2_plugin_get_num_ports(const SLV2Plugin* p) rasqal_init(); - rasqal_query_results* results = slv2_plugin_run_query(p, U("SELECT DISTINCT ?value FROM data: WHERE { \n" "plugin: lv2:port ?value . \n" diff --git a/libslv2/src/plugininstance.c b/libslv2/src/plugininstance.c index 40de08c1..8ff9e54e 100644 --- a/libslv2/src/plugininstance.c +++ b/libslv2/src/plugininstance.c @@ -66,7 +66,7 @@ slv2_plugin_instantiate(const SLV2Plugin* plugin, dlclose(lib); break; // return NULL } else if (!strcmp(ld->URI, (char*)plugin->plugin_uri)) { - //printf("Found %s at index %ld in:\n\t%s\n\n", plugin->plugin_uri, i, lib_path); + printf("Found %s at index %ld in:\n\t%s\n\n", plugin->plugin_uri, i, lib_path); assert(ld->instantiate); @@ -82,6 +82,13 @@ slv2_plugin_instantiate(const SLV2Plugin* plugin, } } + assert(result); + assert(slv2_plugin_get_num_ports(plugin) > 0); + + // Connect all ports to NULL (catches bugs) + for (unsigned long i=0; i < slv2_plugin_get_num_ports(plugin); ++i) + result->descriptor->connect_port(result->lv2_handle, i, NULL); + return result; }