diff options
Diffstat (limited to 'utils/lv2_inspect.c')
-rw-r--r-- | utils/lv2_inspect.c | 52 |
1 files changed, 35 insertions, 17 deletions
diff --git a/utils/lv2_inspect.c b/utils/lv2_inspect.c index a993dee..593cc00 100644 --- a/utils/lv2_inspect.c +++ b/utils/lv2_inspect.c @@ -20,18 +20,20 @@ #include <stdio.h> #include <slv2/slv2.h> +// FIXME: remove +#include "../src/private_types.h" void print_port(SLV2Plugin p, uint32_t index) { - SLV2PortID id = slv2_port_by_index(index); + SLV2Port port = slv2_plugin_get_port_by_index(p, index); char* str = NULL; SLV2PortClass cl = SLV2_UNKNOWN_PORT_CLASS; printf("\n\tPort %d:\n", index); - cl = slv2_port_get_class(p, id); + cl = slv2_port_get_class(p, port); printf("\t\tClass: "); switch (cl) { case SLV2_CONTROL_INPUT: @@ -58,22 +60,33 @@ print_port(SLV2Plugin p, uint32_t index) } printf("\n"); - str = slv2_port_get_symbol(p, id); + str = slv2_port_get_symbol(p, port); printf("\t\tSymbol: %s\n", str); free(str); - str = slv2_port_get_name(p, id); + str = slv2_port_get_name(p, port); printf("\t\tName: %s\n", str); free(str); if (cl == SLV2_CONTROL_INPUT || cl == SLV2_CONTROL_OUTPUT) { - printf("\t\tMinimum: %f\n", slv2_port_get_minimum_value(p, id)); - printf("\t\tMaximum: %f\n", slv2_port_get_maximum_value(p, id)); - printf("\t\tDefault: %f\n", slv2_port_get_default_value(p, id)); + printf("\t\tMinimum: %f\n", slv2_port_get_minimum_value(p, port)); + printf("\t\tMaximum: %f\n", slv2_port_get_maximum_value(p, port)); + printf("\t\tDefault: %f\n", slv2_port_get_default_value(p, port)); } -} + printf("\t\tProperties:\n"); + SLV2Strings properties = slv2_port_get_properties(p, port); + for (unsigned i=0; i < slv2_strings_size(properties); ++i) + printf("\t\t\t%s\n", slv2_strings_get_at(properties, i)); + slv2_strings_free(properties); + + printf("\t\tHints:\n"); + SLV2Strings hints = slv2_port_get_hints(p, port); + for (unsigned i=0; i < slv2_strings_size(hints); ++i) + printf("\t\t\t%s\n", slv2_strings_get_at(hints, i)); + slv2_strings_free(hints); +} void print_plugin(SLV2Plugin p) @@ -82,10 +95,12 @@ print_plugin(SLV2Plugin p) printf("<%s>\n", slv2_plugin_get_uri(p)); - printf("\tData URIs:\n"); + printf("FIXME: Data URIs\n"); + /*printf("\tData URIs:\n"); SLV2Strings data_uris = slv2_plugin_get_data_uris(p); for (unsigned i=0; i < slv2_strings_size(data_uris); ++i) printf("\t\t%s\n", slv2_strings_get_at(data_uris, i)); + */ printf("\n\tLibrary URI: %s\n\n", slv2_plugin_get_library_uri(p)); @@ -111,6 +126,9 @@ print_plugin(SLV2Plugin p) slv2_strings_free(v); uint32_t num_ports = slv2_plugin_get_num_ports(p); + + printf("\n\t# Ports: %d\n", num_ports); + for (uint32_t i=0; i < num_ports; ++i) print_port(p, i); } @@ -120,27 +138,27 @@ print_plugin(SLV2Plugin p) int main(int argc, char** argv) { - slv2_init(); + SLV2Model model = slv2_model_new(); + slv2_model_load_all(model); if (argc != 2) { fprintf(stderr, "Usage: %s PLUGIN_URI\n", argv[0]); return -1; } - SLV2Plugins plugins = slv2_plugins_new(); - slv2_plugins_load_all(plugins); + SLV2Plugins plugins = slv2_model_get_all_plugins(model); SLV2Plugin p = slv2_plugins_get_by_uri(plugins, argv[1]); - if (!p) { + if (p) { + print_plugin(p); + } else { fprintf(stderr, "Plugin not found.\n"); return -1; } - print_plugin(p); - slv2_plugins_free(plugins); - slv2_finish(); + slv2_model_free(model); - return 0; + return (p != NULL ? 0 : -1); } |