LMMS
Loading...
Searching...
No Matches
Plugin Instances

Functions

LILV_API LilvInstancelilv_plugin_instantiate (const LilvPlugin *plugin, double sample_rate, const LV2_Feature *const *features)
LILV_API void lilv_instance_free (LilvInstance *instance)
static const char * lilv_instance_get_uri (const LilvInstance *instance)
static void lilv_instance_connect_port (LilvInstance *instance, uint32_t port_index, void *data_location)
static void lilv_instance_activate (LilvInstance *instance)
static void lilv_instance_run (LilvInstance *instance, uint32_t sample_count)
static void lilv_instance_deactivate (LilvInstance *instance)
static const voidlilv_instance_get_extension_data (const LilvInstance *instance, const char *uri)
static const LV2_Descriptorlilv_instance_get_descriptor (const LilvInstance *instance)
static LV2_Handle lilv_instance_get_handle (const LilvInstance *instance)

Detailed Description

Function Documentation

◆ lilv_instance_activate()

void lilv_instance_activate ( LilvInstance * instance)
inlinestatic

Activate a plugin instance.

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

◆ lilv_instance_connect_port()

void lilv_instance_connect_port ( LilvInstance * instance,
uint32_t port_index,
void * data_location )
inlinestatic

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.

◆ lilv_instance_deactivate()

void lilv_instance_deactivate ( LilvInstance * instance)
inlinestatic

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).

◆ lilv_instance_free()

LILV_API void lilv_instance_free ( LilvInstance * instance)

Free a plugin instance.

It is safe to call this function on NULL. instance is invalid after this call.

◆ lilv_instance_get_descriptor()

const LV2_Descriptor * lilv_instance_get_descriptor ( const LilvInstance * instance)
inlinestatic

Get the LV2_Descriptor of the plugin instance.

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

The returned descriptor is shared and must not be deleted.

◆ lilv_instance_get_extension_data()

const void * lilv_instance_get_extension_data ( const LilvInstance * instance,
const char * uri )
inlinestatic

Get extension data from the plugin instance.

The type and semantics of the data returned is specific to the particular extension, though in all cases it is shared and must not be deleted.

◆ lilv_instance_get_handle()

LV2_Handle lilv_instance_get_handle ( const LilvInstance * instance)
inlinestatic

Get the LV2_Handle of the plugin instance.

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

The returned handle is shared and must not be deleted.

◆ lilv_instance_get_uri()

const char * lilv_instance_get_uri ( const LilvInstance * instance)
inlinestatic

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

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

◆ lilv_instance_run()

void lilv_instance_run ( LilvInstance * instance,
uint32_t sample_count )
inlinestatic

Run instance for sample_count frames.

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

◆ lilv_plugin_instantiate()

LILV_API LilvInstance * lilv_plugin_instantiate ( const LilvPlugin * plugin,
double sample_rate,
const LV2_Feature *const * features )

Instantiate a plugin.

The returned value is a lightweight handle for an LV2 plugin instance, it does not refer to plugin, or any other Lilv state. The caller must eventually free it with lilv_instance_free(). features is a NULL-terminated array of features the host supports. NULL may be passed if the host supports no additional features.

Returns
NULL if instantiation failed.