summaryrefslogtreecommitdiffstats
path: root/src/pluginclass.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluginclass.c')
-rw-r--r--src/pluginclass.c81
1 files changed, 34 insertions, 47 deletions
diff --git a/src/pluginclass.c b/src/pluginclass.c
index 538722f..18109f3 100644
--- a/src/pluginclass.c
+++ b/src/pluginclass.c
@@ -1,18 +1,5 @@
-/*
- Copyright 2007-2019 David Robillard <http://drobilla.net>
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
+// Copyright 2007-2019 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: ISC
#include "lilv_internal.h"
@@ -29,64 +16,64 @@ lilv_plugin_class_new(LilvWorld* world,
const SordNode* uri,
const char* label)
{
- LilvPluginClass* pc = (LilvPluginClass*)malloc(sizeof(LilvPluginClass));
- pc->world = world;
- pc->uri = lilv_node_new_from_node(world, uri);
- pc->label = lilv_node_new(world, LILV_VALUE_STRING, label);
- pc->parent_uri = (parent_node
- ? lilv_node_new_from_node(world, parent_node)
- : NULL);
- return pc;
+ LilvPluginClass* pc = (LilvPluginClass*)malloc(sizeof(LilvPluginClass));
+ pc->world = world;
+ pc->uri = lilv_node_new_from_node(world, uri);
+ pc->label = lilv_node_new(world, LILV_VALUE_STRING, label);
+ pc->parent_uri =
+ (parent_node ? lilv_node_new_from_node(world, parent_node) : NULL);
+ return pc;
}
void
lilv_plugin_class_free(LilvPluginClass* plugin_class)
{
- if (!plugin_class) {
- return;
- }
+ if (!plugin_class) {
+ return;
+ }
- lilv_node_free(plugin_class->uri);
- lilv_node_free(plugin_class->parent_uri);
- lilv_node_free(plugin_class->label);
- free(plugin_class);
+ lilv_node_free(plugin_class->uri);
+ lilv_node_free(plugin_class->parent_uri);
+ lilv_node_free(plugin_class->label);
+ free(plugin_class);
}
const LilvNode*
lilv_plugin_class_get_parent_uri(const LilvPluginClass* plugin_class)
{
- return plugin_class->parent_uri ? plugin_class->parent_uri : NULL;
+ return plugin_class->parent_uri ? plugin_class->parent_uri : NULL;
}
const LilvNode*
lilv_plugin_class_get_uri(const LilvPluginClass* plugin_class)
{
- return plugin_class->uri;
+ return plugin_class->uri;
}
const LilvNode*
lilv_plugin_class_get_label(const LilvPluginClass* plugin_class)
{
- return plugin_class->label;
+ return plugin_class->label;
}
LilvPluginClasses*
lilv_plugin_class_get_children(const LilvPluginClass* plugin_class)
{
- // Returned list doesn't own categories
- LilvPluginClasses* all = plugin_class->world->plugin_classes;
- LilvPluginClasses* result = zix_tree_new(false, lilv_ptr_cmp, NULL, NULL);
+ // Returned list doesn't own categories
+ LilvPluginClasses* all = plugin_class->world->plugin_classes;
+ LilvPluginClasses* result =
+ zix_tree_new(NULL, false, lilv_header_compare_by_uri, NULL, NULL, NULL);
- for (ZixTreeIter* i = zix_tree_begin((ZixTree*)all);
- i != zix_tree_end((ZixTree*)all);
- i = zix_tree_iter_next(i)) {
- const LilvPluginClass* c = (LilvPluginClass*)zix_tree_get(i);
- const LilvNode* parent = lilv_plugin_class_get_parent_uri(c);
- if (parent && lilv_node_equals(lilv_plugin_class_get_uri(plugin_class),
- parent)) {
- zix_tree_insert((ZixTree*)result, (LilvPluginClass*)c, NULL);
- }
- }
+ for (ZixTreeIter* i = zix_tree_begin((ZixTree*)all);
+ i != zix_tree_end((ZixTree*)all);
+ i = zix_tree_iter_next(i)) {
+ const LilvPluginClass* c = (LilvPluginClass*)zix_tree_get(i);
+ const LilvNode* parent = lilv_plugin_class_get_parent_uri(c);
+ if (parent &&
+ lilv_node_equals(lilv_plugin_class_get_uri(plugin_class), parent)) {
+ zix_tree_insert((ZixTree*)result, (LilvPluginClass*)c, NULL);
+ }
+ }
- return result;
+ return result;
}