Collections¶
Lilv has several collection types for holding various types of value. Each collection type supports a similar basic API, except LilvPlugins which is internal and thus lacks a free function:
void PREFIX_free (coll)
unsigned PREFIX_size (coll)
LilvIter* PREFIX_begin (coll)
The types of collection are:
LilvPlugins, with function prefix
lilv_plugins_.LilvPluginClasses, with function prefix
lilv_plugin_classes_.LilvScalePoints, with function prefix
lilv_scale_points_.LilvNodes, with function prefix
lilv_nodes_.LilvUIs, with function prefix
lilv_uis_.
-
const LilvPluginClass *lilv_plugin_classes_get_by_uri(const LilvPluginClasses *classes, const LilvNode *uri)¶
Get a plugin class from
classesby URI.Return value is shared (stored in
classes) and must not be freed or modified by the caller in any way.- Returns:
NULL if no plugin class with
uriis found inclasses.
-
const LilvUI *lilv_uis_get_by_uri(const LilvUIs *uis, const LilvNode *uri)¶
Get a UI from
uisby URI.Return value is shared (stored in
uis) and must not be freed or modified by the caller in any way.- Returns:
NULL if no UI with
uriis found inlist.
-
bool lilv_nodes_contains(const LilvNodes *nodes, const LilvNode *value)¶
Return whether
valuescontainsvalue.
-
LilvNodes *lilv_nodes_merge(const LilvNodes *a, const LilvNodes *b)¶
Return a new LilvNodes that contains all nodes from both
aandb.
-
const LilvPlugin *lilv_plugins_get_by_uri(const LilvPlugins *plugins, const LilvNode *uri)¶
Get a plugin from
pluginsby URI.Return value is shared (stored in
plugins) and must not be freed or modified by the caller in any way.- Returns:
NULL if no plugin with
uriis found inplugins.
-
LILV_FOREACH(colltype, iter, collection)¶
Iterate over each element of a collection.
LILV_FOREACH(plugin_classes, i, classes) { LilvPluginClass c = lilv_plugin_classes_get(classes, i); // ... }