Plugin struct

The base plugin Inheriting plugins must have this as a child.

Contents

Public variables

Lv2Plugin* lv2
Pointer back to plugin in its original format.
PluginDescriptor* descr
Descriptor.
Port** in_ports
Ports coming in as input, for seralization.
Port** out_ports
Outgoing port identifiers for serialization.
Port** unknown_ports
Ports with unknown direction (not used).
Track* track
The Channel this plugin belongs to.
AutomationTrack** ats
A subset of the automation tracks in the automation tracklist of the track this plugin is in.
int slot
The slot this plugin is at in its channel.
int enabled
Enabled or not.
int visible
Whether plugin UI is opened or not.
nframes_t latency
The latency in samples.
int ui_instantiated
UI has been instantiated or not.
int deleting
Plugin is in deletion.

Variable documentation

Port** Plugin::in_ports

Ports coming in as input, for seralization.

Ports coming in as input.

Port** Plugin::out_ports

Outgoing port identifiers for serialization.

Outgoing ports.

AutomationTrack** Plugin::ats

A subset of the automation tracks in the automation tracklist of the track this plugin is in.

These are not meant to be serialized and are used when e.g. moving plugins.

int Plugin::ui_instantiated

UI has been instantiated or not.

When instantiating a plugin UI, if it takes too long there is a UI buffer overflow because UI updates are sent in lv2_plugin_process.

This should be set to 0 until the plugin UI has finished instantiating, and if this is 0 then no UI updates should be sent to the plugin.