Plugin library access(3)

NAME
Plugin library access - An SLV2Instance is an instantiated SLV2Plugin (ie a loaded dynamic library).

  Functions
SLV2Instance slv2_plugin_instantiate (SLV2Plugin plugin, double sample_rate, const LV2_Feature *const *features)
void slv2_instance_free (SLV2Instance instance)
static const char * slv2_instance_get_uri (SLV2Instance instance)
static void slv2_instance_connect_port (SLV2Instance instance, uint32_t port_index, void *data_location)
static void slv2_instance_activate (SLV2Instance instance)
static void slv2_instance_run (SLV2Instance instance, uint32_t sample_count)
static void slv2_instance_deactivate (SLV2Instance instance)
static const LV2_Descriptor * slv2_instance_get_descriptor (SLV2Instance instance)
static LV2_Handle slv2_instance_get_handle (SLV2Instance instance)
SLV2UIInstance slv2_ui_instantiate (SLV2Plugin plugin, SLV2UI ui, LV2UI_Write_Function write_function, LV2UI_Controller controller, const LV2_Feature *const *features)
void slv2_ui_instance_free (SLV2UIInstance instance)
const LV2UI_Descriptor * slv2_ui_instance_get_descriptor (SLV2UIInstance instance)
LV2UI_Handle slv2_ui_instance_get_handle (SLV2UIInstance instance)

Detailed Description

These functions interact with the binary library code only, they do not read data files in any way.

Function Documentation

  SLV2Instance slv2_plugin_instantiate (SLV2Plugin plugin, double sample_rate, const LV2_Feature *const * features)

Instantiate a plugin.

The returned object represents shared library objects loaded into memory, it must be cleaned up with slv2_instance_free when no longer needed.

plugin is not modified or directly referenced by the returned object (instances store only a copy of the plugin's URI).

host_features NULL-terminated array of features the host supports. NULL may be passed if the host supports no additional features (unlike the LV2 specification - SLV2 takes care of it).

Returns:
    NULL if instantiation failed.

  void slv2_instance_free (SLV2Instance instance)

Free a plugin instance.

instance is invalid after this call.

  static const char* slv2_instance_get_uri (SLV2Instance instance) [inline, static]

Get the URI of the plugin which instance is an instance of.

Returned string is shared and must not be modified or deleted.

  static void slv2_instance_connect_port (SLV2Instance instance, uint32_t port_index, void * data_location) [inline, static]

Connect a port to a data location.

This may be called regardless of whether the plugin is activated, activation and deactivation does not destroy port connections.

  static void slv2_instance_activate (SLV2Instance instance) [inline, static]

Activate a plugin instance.

This resets all state information in the plugin, except for port data locations (as set by slv2_instance_connect_port). This MUST be called before calling slv2_instance_run.

  static void slv2_instance_run (SLV2Instance instance, uint32_t sample_count) [inline, static]

Run instance for sample_count frames.

If the hint lv2:hardRtCapable is set for this plugin, this function is guaranteed not to block.

  static void slv2_instance_deactivate (SLV2Instance instance) [inline, static]

Deactivate a plugin instance.

Note that to run the plugin after this you must activate it, which will reset all state information (except port connections).

  static const LV2_Descriptor* slv2_instance_get_descriptor (SLV2Instance instance) [inline, static]

Get the LV2_Descriptor of the plugin instance.

Normally hosts should not need to access the LV2_Descriptor directly, use the slv2_instance_* functions.

The returned descriptor is shared and must not be deleted.

  static LV2_Handle slv2_instance_get_handle (SLV2Instance instance) [inline, static]

Get the LV2_Handle of the plugin instance.

Normally hosts should not need to access the LV2_Handle directly, use the slv2_instance_* functions.

The returned handle is shared and must not be deleted.

  SLV2UIInstance slv2_ui_instantiate (SLV2Plugin plugin, SLV2UI ui, LV2UI_Write_Function write_function, LV2UI_Controller controller, const LV2_Feature *const * features)

Instantiate a plugin UI.

The returned object represents shared library objects loaded into memory, it must be cleaned up with slv2_ui_instance_free when no longer needed.

plugin is not modified or directly referenced by the returned object (instances store only a copy of the plugin's URI).

host_features NULL-terminated array of features the host supports. NULL may be passed if the host supports no additional features (unlike the LV2 specification - SLV2 takes care of it).

Returns:
    NULL if instantiation failed.

  void slv2_ui_instance_free (SLV2UIInstance instance)

Free a plugin UI instance.

It is the caller's responsibility to ensure all references to the UI instance (including any returned widgets) are cut before calling this function.

instance is invalid after this call.

  LV2UI_Widget slv2_ui_instance_get_widget (SLV2UIInstance instance)

Get the widget for the UI instance.

  const LV2UI_Descriptor* slv2_ui_instance_get_descriptor (SLV2UIInstance instance)

Get the LV2UI_Descriptor of the plugin UI instance.

Normally hosts should not need to access the LV2UI_Descriptor directly, use the slv2_ui_instance_* functions.

The returned descriptor is shared and must not be deleted.

  LV2UI_Handle slv2_ui_instance_get_handle (SLV2UIInstance instance)

Get the LV2UI_Handle of the plugin UI instance.

Normally hosts should not need to access the LV2UI_Handle directly, use the slv2_ui_instance_* functions.

The returned handle is shared and must not be deleted.