LMMS
Loading...
Searching...
No Matches
Collections

Macros

#define LILV_FOREACH(colltype, iter, collection)

Functions

LILV_API void lilv_plugin_classes_free (LilvPluginClasses *collection)
LILV_API unsigned lilv_plugin_classes_size (const LilvPluginClasses *collection)
LILV_API LilvIterlilv_plugin_classes_begin (const LilvPluginClasses *collection)
LILV_API const LilvPluginClasslilv_plugin_classes_get (const LilvPluginClasses *collection, LilvIter *i)
LILV_API LilvIterlilv_plugin_classes_next (const LilvPluginClasses *collection, LilvIter *i)
LILV_API bool lilv_plugin_classes_is_end (const LilvPluginClasses *collection, LilvIter *i)
LILV_API const LilvPluginClasslilv_plugin_classes_get_by_uri (const LilvPluginClasses *classes, const LilvNode *uri)
LILV_API void lilv_scale_points_free (LilvScalePoints *collection)
LILV_API unsigned lilv_scale_points_size (const LilvScalePoints *collection)
LILV_API LilvIterlilv_scale_points_begin (const LilvScalePoints *collection)
LILV_API const LilvScalePointlilv_scale_points_get (const LilvScalePoints *collection, LilvIter *i)
LILV_API LilvIterlilv_scale_points_next (const LilvScalePoints *collection, LilvIter *i)
LILV_API bool lilv_scale_points_is_end (const LilvScalePoints *collection, LilvIter *i)
LILV_API void lilv_uis_free (LilvUIs *collection)
LILV_API unsigned lilv_uis_size (const LilvUIs *collection)
LILV_API LilvIterlilv_uis_begin (const LilvUIs *collection)
LILV_API const LilvUIlilv_uis_get (const LilvUIs *collection, LilvIter *i)
LILV_API LilvIterlilv_uis_next (const LilvUIs *collection, LilvIter *i)
LILV_API bool lilv_uis_is_end (const LilvUIs *collection, LilvIter *i)
LILV_API const LilvUIlilv_uis_get_by_uri (const LilvUIs *uis, const LilvNode *uri)
LILV_API void lilv_nodes_free (LilvNodes *collection)
LILV_API unsigned lilv_nodes_size (const LilvNodes *collection)
LILV_API LilvIterlilv_nodes_begin (const LilvNodes *collection)
LILV_API const LilvNodelilv_nodes_get (const LilvNodes *collection, LilvIter *i)
LILV_API LilvIterlilv_nodes_next (const LilvNodes *collection, LilvIter *i)
LILV_API bool lilv_nodes_is_end (const LilvNodes *collection, LilvIter *i)
LILV_API LilvNodelilv_nodes_get_first (const LilvNodes *collection)
LILV_API bool lilv_nodes_contains (const LilvNodes *nodes, const LilvNode *value)
LILV_API LilvNodeslilv_nodes_merge (const LilvNodes *a, const LilvNodes *b)
LILV_API unsigned lilv_plugins_size (const LilvPlugins *collection)
LILV_API LilvIterlilv_plugins_begin (const LilvPlugins *collection)
LILV_API const LilvPluginlilv_plugins_get (const LilvPlugins *collection, LilvIter *i)
LILV_API LilvIterlilv_plugins_next (const LilvPlugins *collection, LilvIter *i)
LILV_API bool lilv_plugins_is_end (const LilvPlugins *collection, LilvIter *i)
LILV_API const LilvPluginlilv_plugins_get_by_uri (const LilvPlugins *plugins, const LilvNode *uri)

Detailed Description

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:

Macro Definition Documentation

◆ LILV_FOREACH

#define LILV_FOREACH ( colltype,
iter,
collection )
Value:
for (LilvIter* iter = lilv_##colltype##_begin(collection); \
!lilv_##colltype##_is_end(collection, iter); \
(iter) = lilv_##colltype##_next(collection, iter))
void LilvIter
Definition lilv.h:92

Iterate over each element of a collection.

LILV_FOREACH(plugin_classes, i, classes) {
// ...
}
register unsigned i
Definition inflate.c:1575
LILV_API const LilvPluginClass * lilv_plugin_classes_get(const LilvPluginClasses *collection, LilvIter *i)
#define LILV_FOREACH(colltype, iter, collection)
Definition lilv.h:398
struct LilvPluginClassImpl LilvPluginClass
Definition lilv.h:83
return c
Definition crypt.c:175

Function Documentation

◆ lilv_nodes_begin()

LILV_API LilvIter * lilv_nodes_begin ( const LilvNodes * collection)

◆ lilv_nodes_contains()

LILV_API bool lilv_nodes_contains ( const LilvNodes * nodes,
const LilvNode * value )

Return whether values contains value.

◆ lilv_nodes_free()

LILV_API void lilv_nodes_free ( LilvNodes * collection)

◆ lilv_nodes_get()

LILV_API const LilvNode * lilv_nodes_get ( const LilvNodes * collection,
LilvIter * i )

◆ lilv_nodes_get_first()

LILV_API LilvNode * lilv_nodes_get_first ( const LilvNodes * collection)

◆ lilv_nodes_is_end()

LILV_API bool lilv_nodes_is_end ( const LilvNodes * collection,
LilvIter * i )

◆ lilv_nodes_merge()

LILV_API LilvNodes * lilv_nodes_merge ( const LilvNodes * a,
const LilvNodes * b )

Return a new LilvNodes that contains all nodes from both a and b.

◆ lilv_nodes_next()

LILV_API LilvIter * lilv_nodes_next ( const LilvNodes * collection,
LilvIter * i )

◆ lilv_nodes_size()

LILV_API unsigned lilv_nodes_size ( const LilvNodes * collection)

◆ lilv_plugin_classes_begin()

LILV_API LilvIter * lilv_plugin_classes_begin ( const LilvPluginClasses * collection)

◆ lilv_plugin_classes_free()

LILV_API void lilv_plugin_classes_free ( LilvPluginClasses * collection)

◆ lilv_plugin_classes_get()

LILV_API const LilvPluginClass * lilv_plugin_classes_get ( const LilvPluginClasses * collection,
LilvIter * i )

◆ lilv_plugin_classes_get_by_uri()

LILV_API const LilvPluginClass * lilv_plugin_classes_get_by_uri ( const LilvPluginClasses * classes,
const LilvNode * uri )

Get a plugin class from classes by 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 uri is found in classes.

◆ lilv_plugin_classes_is_end()

LILV_API bool lilv_plugin_classes_is_end ( const LilvPluginClasses * collection,
LilvIter * i )

◆ lilv_plugin_classes_next()

LILV_API LilvIter * lilv_plugin_classes_next ( const LilvPluginClasses * collection,
LilvIter * i )

◆ lilv_plugin_classes_size()

LILV_API unsigned lilv_plugin_classes_size ( const LilvPluginClasses * collection)

◆ lilv_plugins_begin()

LILV_API LilvIter * lilv_plugins_begin ( const LilvPlugins * collection)

◆ lilv_plugins_get()

LILV_API const LilvPlugin * lilv_plugins_get ( const LilvPlugins * collection,
LilvIter * i )

◆ lilv_plugins_get_by_uri()

LILV_API const LilvPlugin * lilv_plugins_get_by_uri ( const LilvPlugins * plugins,
const LilvNode * uri )

Get a plugin from plugins by 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 uri is found in plugins.

◆ lilv_plugins_is_end()

LILV_API bool lilv_plugins_is_end ( const LilvPlugins * collection,
LilvIter * i )

◆ lilv_plugins_next()

LILV_API LilvIter * lilv_plugins_next ( const LilvPlugins * collection,
LilvIter * i )

◆ lilv_plugins_size()

LILV_API unsigned lilv_plugins_size ( const LilvPlugins * collection)

◆ lilv_scale_points_begin()

LILV_API LilvIter * lilv_scale_points_begin ( const LilvScalePoints * collection)

◆ lilv_scale_points_free()

LILV_API void lilv_scale_points_free ( LilvScalePoints * collection)

◆ lilv_scale_points_get()

LILV_API const LilvScalePoint * lilv_scale_points_get ( const LilvScalePoints * collection,
LilvIter * i )

◆ lilv_scale_points_is_end()

LILV_API bool lilv_scale_points_is_end ( const LilvScalePoints * collection,
LilvIter * i )

◆ lilv_scale_points_next()

LILV_API LilvIter * lilv_scale_points_next ( const LilvScalePoints * collection,
LilvIter * i )

◆ lilv_scale_points_size()

LILV_API unsigned lilv_scale_points_size ( const LilvScalePoints * collection)

◆ lilv_uis_begin()

LILV_API LilvIter * lilv_uis_begin ( const LilvUIs * collection)

◆ lilv_uis_free()

LILV_API void lilv_uis_free ( LilvUIs * collection)

◆ lilv_uis_get()

LILV_API const LilvUI * lilv_uis_get ( const LilvUIs * collection,
LilvIter * i )

◆ lilv_uis_get_by_uri()

LILV_API const LilvUI * lilv_uis_get_by_uri ( const LilvUIs * uis,
const LilvNode * uri )

Get a UI from uis by 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 uri is found in list.

◆ lilv_uis_is_end()

LILV_API bool lilv_uis_is_end ( const LilvUIs * collection,
LilvIter * i )

◆ lilv_uis_next()

LILV_API LilvIter * lilv_uis_next ( const LilvUIs * collection,
LilvIter * i )

◆ lilv_uis_size()

LILV_API unsigned lilv_uis_size ( const LilvUIs * collection)