suil_instance_new — Suil 0.10.18 documentation

# suil_instance_new

SuilInstance *suil_instance_new(SuilHost *host, SuilController controller, const char *container_type_uri, const char *plugin_uri, const char *ui_uri, const char *ui_type_uri, const char *ui_bundle_path, const char *ui_binary_path, const LV2_Feature *const *features)

  Instantiate a UI for an LV2 plugin.

  This funcion may load a suil module to adapt the UI to the desired toolkit. Suil is configured at compile time to load modules from the appropriate place, but this can be changed at run-time via the environment variable SUIL_MODULE_DIR. This makes it possible to bundle suil with an application.

  Note that some situations (Gtk in Qt, Windows in Gtk) require a parent container to be passed as a feature with URI LV2_UI__parent (http://lv2plug.in/ns/extensions/ui#ui) in order to work correctly. The data must point to a single child container of the host widget set.

  Parameters:

    - host – Host descriptor.

    - controller – Opaque host controller pointer.

    - container_type_uri – URI of the desired host container widget type.

    - plugin_uri – URI of the plugin to instantiate this UI for.

    - ui_uri – URI of the specifically desired UI.

    - ui_type_uri – URI of the actual UI widget type.

    - ui_bundle_path – Path of the UI bundle.

    - ui_binary_path – Path of the UI binary.

    - features – NULL-terminated array of supported features, or NULL.

  Returns:

    A new UI instance, or NULL if instantiation failed.