Plugin UIs

typedef unsigned (*LilvUISupportedFunc)(const char *container_type_uri, const char *ui_type_uri)

Function to determine whether a UI type is supported.

This is provided by the user and must return non-zero iff using a UI of type ui_type_uri in a container of type container_type_uri is supported.

LilvUIs *lilv_plugin_get_uis(const LilvPlugin *plugin)

Get all UIs for plugin.

Returned value must be freed by caller using lilv_uis_free().

const LilvNode *lilv_ui_get_uri(const LilvUI *ui)

Get the URI of a Plugin UI.

Returns

A shared value which must not be modified or freed.

const LilvNodes *lilv_ui_get_classes(const LilvUI *ui)

Get the types (URIs of RDF classes) of a Plugin UI.

Note that in most cases lilv_ui_is_supported() should be used, which avoids the need to use this function (and type specific logic).

Returns

A shared value which must not be modified or freed.

bool lilv_ui_is_a(const LilvUI *ui, const LilvNode *class_uri)

Check whether a plugin UI has a given type.

Parameters
  • ui – The Plugin UI

  • class_uri – The URI of the LV2 UI type to check this UI against

unsigned lilv_ui_is_supported(const LilvUI *ui, LilvUISupportedFunc supported_func, const LilvNode *container_type, const LilvNode **ui_type)

Return true iff a Plugin UI is supported as a given widget type.

Parameters
  • ui – The Plugin UI

  • supported_func – User provided supported predicate.

  • container_type – The widget type to host the UI within.

  • ui_type – (Output) If non-NULL, set to the native type of the UI which is owned by ui and must not be freed by the caller.

Returns

The embedding quality level returned by supported_func.

const LilvNode *lilv_ui_get_bundle_uri(const LilvUI *ui)

Get the URI for a Plugin UI’s bundle.

Returns

A shared value which must not be modified or freed.

const LilvNode *lilv_ui_get_binary_uri(const LilvUI *ui)

Get the URI for a Plugin UI’s shared library.

Returns

A shared value which must not be modified or freed.