plugins/lv2_plugin.h file

Contents

LV2 Plugin API.

Classes

struct Lv2Plugin
LV2 plugin.

Enums

enum Lv2PluginPickUiFlag { LV2_PLUGIN_UI_WRAPPABLE, LV2_PLUGIN_UI_EXTERNAL, LV2_PLUGIN_UI_FOR_BRIDGING }
In order of preference.

Typedefs

using Lv2Plugin = struct Lv2Plugin
LV2 plugin.
using Lv2PluginPickUiFlag = enum Lv2PluginPickUiFlag
In order of preference.

Functions

auto lv2_plugin_create_descriptor_from_lilv(const LilvPlugin* lp) -> PluginDescriptor*
Returns a newly allocated plugin descriptor for the given LilvPlugin if it can be hosted, otherwise NULL.
auto lv2_plugin_new_from_uri(Plugin* plugin, const char* uri) -> Lv2Plugin*
Creates an LV2 plugin from given uri.
auto lv2_plugin_instantiate(Lv2Plugin* self, bool project, bool use_state_file, char* preset_uri, LilvState* state) -> int
Instantiate the plugin.
auto lv2_plugin_new(Plugin* plugin) -> Lv2Plugin*
Creates a new LV2 plugin using the given Plugin instance.
void lv2_plugin_process(Lv2Plugin* lv2_plugin, const long g_start_frames, const nframes_t nframes)
Processes the plugin for this cycle.
auto lv2_plugin_get_latency(Lv2Plugin* pl) -> nframes_t
Returns the plugin's latency in samples.
auto lv2_plugin_pick_ui(const LilvUIs* uis, Lv2PluginPickUiFlag flag, const LilvUI** out_ui, const LilvNode** out_ui_type) -> bool
Pick the most preferable UI.
auto lv2_plugin_get_port_value(const char* port_sym, void* user_data, uint32_t* size, uint32_t* type) -> const void*
Function to get a port value.
void lv2_plugin_update_port_identifiers(Lv2Plugin* self)
Updates theh PortIdentifier's in the Lv2Plugin.
void lv2_plugin_allocate_port_buffers(Lv2Plugin* plugin)
Allocate port buffers (only necessary for MIDI).
void lv2_plugin_populate_banks(Lv2Plugin* self)
Populates the banks in the plugin instance.
void lv2_plugin_free(Lv2Plugin* plugin)
Frees the Lv2Plugin and all its components.