LV2_Descriptor.instantiate

Instantiate the plugin.

Note that instance initialisation should generally occur in activate() rather than here. If a host calls instantiate(), it MUST call cleanup() at some point in the future.

@param descriptor Descriptor of the plugin to instantiate.

@param sample_rate Sample rate, in Hz, for the new plugin instance.

@param bundle_path Path to the LV2 bundle which contains this plugin binary. It MUST include the trailing directory separator (e.g. '/') so that simply appending a filename will yield the path to that file in the bundle.

@param features A NULL terminated array of LV2_Feature structs which represent the features the host supports. Plugins may refuse to instantiate if required features are not found here. However, hosts MUST NOT use this as a discovery mechanism: instead, use the RDF data to determine which features are required and do not attempt to instantiate unsupported plugins at all. This parameter MUST NOT be NULL, i.e. a host that supports no features MUST pass a single element array containing NULL.

@return A handle for the new plugin instance, or NULL if instantiation has failed.

struct LV2_Descriptor
extern (C) nothrow @nogc
LV2_Handle function(const LV2_Descriptor* descriptor, double sample_rate, const char* bundle_path, const(LV2_Feature*)* features) nothrow @(nogc) instantiate;

Meta