Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
Lv2Plugin Struct Reference

LV2 plugin. More...

#include <plugins/lv2_plugin.h>

Collaboration diagram for Lv2Plugin:

Data Fields

LV2_Feature map_feature
 
LV2_Feature unmap_feature
 
LV2_Feature make_path_temp_feature
 
LV2_Feature sched_feature
 
LV2_Feature state_sched_feature
 
LV2_Feature safe_restore_feature
 
LV2_Feature log_feature
 
LV2_Feature options_feature
 
LV2_Feature def_state_feature
 
LV2_Feature hard_rt_capable_feature
 
LV2_Feature data_access_feature
 
LV2_Feature instance_access_feature
 
LV2_Feature bounded_block_length_feature
 
const LV2_Feature * features [13]
 Supported features passed when instantiating plugins.
 
const LV2_Feature * state_features [7]
 Features that are passed to state extension calls, such as when saving the state.
 
LV2_Options_Option options [10]
 Options to pass to plugin on instantiation.
 
LV2_Extension_Data_Feature ext_data_feature
 Data access feature.
 
uint32_t comm_buffer_size
 Plugin <=> UI communication buffer size.
 
const LV2_Options_Interface * options_iface
 Options interface for setting plugin options dynamically.
 
LV2_Atom_Forge main_forge
 Atom forge (main/GTK thread).
 
LV2_Atom_Forge dsp_forge
 Atom forge (DSP thread).
 
Sratom * sratom
 Atom serializer.
 
Sratom * ui_sratom
 Atom serializer for UI thread.
 
ZixRing * ui_to_plugin_events
 Port events from UI to plugin.
 
ZixRing * plugin_to_ui_events
 Port events from plugin to UI.
 
void * ui_event_buf
 Buffer for readding UI port events.
 
Lv2Worker worker
 Worker thread implementation.
 
Lv2Worker state_worker
 Synchronous worker for state restore.
 
ZixSem work_lock
 Lock for plugin work() method.
 
const LilvPlugin * lilv_plugin
 Plugin class (RDF data).
 
LilvState * preset
 Current preset.
 
LilvInstance * instance
 Plugin instance (shared library).
 
SuilHost * suil_host
 Plugin UI host support.
 
SuilInstance * suil_instance
 Plugin UI instance (shared library).
 
char * temp_dir
 Temporary plugin state directory (absolute path).
 
uint32_t event_delta_t
 Frames since last update sent to UI.
 
uint32_t midi_event_id
 MIDI event class ID in event context.
 
bool exit
 True iff execution is finished.
 
bool request_update
 Whether a plugin update is needed.
 
bool safe_restore
 Whether plugin restore() is thread-safe.
 
bool has_default_state
 Whether the plugin has a default state that must be loaded before running run() for the first time.
 
int control_in
 Index of control input port, or -1 if no port with "control" designation found.
 
int enabled_in
 Index of enabled port, or -1 if no port with "enabled" designation found.
 
ZixSem exit_sem
 Exit semaphore.
 
bool want_position
 Whether the plugin has at least 1 atom port that supports position.
 
bool has_external_ui
 Whether the plugin has an external UI.
 
LV2_External_UI_Widgetexternal_ui_widget
 Data structure used for external UIs.
 
bool updating
 
LV2_URID_Map map
 URI => Int map.
 
LV2_URID_Unmap unmap
 Int => URI map.
 
SerdEnv * env
 Environment for RDF printing.
 
int rolling
 Transport was rolling or not last cycle.
 
unsigned_frame_t gframes
 Global (start) frames the plugin was last processed at.
 
float bpm
 Last BPM known by the plugin.
 
Pluginplugin
 Base Plugin instance (parent).
 
LV2_External_UI_Host extui
 Used for external UIs.
 
LV2_State_Make_Path make_path_temp
 Make path feature data.
 
LV2_Worker_Schedule sched
 Plugin worker schedule.
 
LV2_Worker_Schedule ssched
 State worker schedule.
 
LV2_Log_Log llog
 Log.
 
int magic
 

Detailed Description

LV2 plugin.

Definition at line 140 of file lv2_plugin.h.

Field Documentation

◆ bounded_block_length_feature

LV2_Feature Lv2Plugin::bounded_block_length_feature

Definition at line 154 of file lv2_plugin.h.

◆ bpm

float Lv2Plugin::bpm

Last BPM known by the plugin.

Definition at line 305 of file lv2_plugin.h.

◆ comm_buffer_size

uint32_t Lv2Plugin::comm_buffer_size

Plugin <=> UI communication buffer size.

Definition at line 185 of file lv2_plugin.h.

◆ control_in

int Lv2Plugin::control_in

Index of control input port, or -1 if no port with "control" designation found.

See also
http://lv2plug.in/ns/lv2core#control.

Definition at line 263 of file lv2_plugin.h.

◆ data_access_feature

LV2_Feature Lv2Plugin::data_access_feature

Definition at line 152 of file lv2_plugin.h.

◆ def_state_feature

LV2_Feature Lv2Plugin::def_state_feature

Definition at line 150 of file lv2_plugin.h.

◆ dsp_forge

LV2_Atom_Forge Lv2Plugin::dsp_forge

Atom forge (DSP thread).

Definition at line 198 of file lv2_plugin.h.

◆ enabled_in

int Lv2Plugin::enabled_in

Index of enabled port, or -1 if no port with "enabled" designation found.

See also
http://lv2plug.in/ns/lv2core#enabled.

Definition at line 271 of file lv2_plugin.h.

◆ env

SerdEnv* Lv2Plugin::env

Environment for RDF printing.

Definition at line 295 of file lv2_plugin.h.

◆ event_delta_t

uint32_t Lv2Plugin::event_delta_t

Frames since last update sent to UI.

Definition at line 237 of file lv2_plugin.h.

◆ exit

bool Lv2Plugin::exit

True iff execution is finished.

Definition at line 239 of file lv2_plugin.h.

◆ exit_sem

ZixSem Lv2Plugin::exit_sem

Exit semaphore.

Definition at line 274 of file lv2_plugin.h.

◆ ext_data_feature

LV2_Extension_Data_Feature Lv2Plugin::ext_data_feature

Data access feature.

An instance of this will be passed to the plugin UI after instantiating the plugin, if the plugin requires data access.

See also
https://lv2plug.in/ns/ext/data-access.

Definition at line 182 of file lv2_plugin.h.

◆ external_ui_widget

LV2_External_UI_Widget* Lv2Plugin::external_ui_widget

Data structure used for external UIs.

Definition at line 284 of file lv2_plugin.h.

◆ extui

LV2_External_UI_Host Lv2Plugin::extui

Used for external UIs.

Definition at line 311 of file lv2_plugin.h.

◆ features

const LV2_Feature* Lv2Plugin::features[13]

Supported features passed when instantiating plugins.

Definition at line 160 of file lv2_plugin.h.

◆ gframes

unsigned_frame_t Lv2Plugin::gframes

Global (start) frames the plugin was last processed at.

Definition at line 302 of file lv2_plugin.h.

◆ hard_rt_capable_feature

LV2_Feature Lv2Plugin::hard_rt_capable_feature

Definition at line 151 of file lv2_plugin.h.

◆ has_default_state

bool Lv2Plugin::has_default_state

Whether the plugin has a default state that must be loaded before running run() for the first time.

Note
Set but not used - lilv handles this feature automatically.

Definition at line 255 of file lv2_plugin.h.

◆ has_external_ui

bool Lv2Plugin::has_external_ui

Whether the plugin has an external UI.

Definition at line 281 of file lv2_plugin.h.

◆ instance

LilvInstance* Lv2Plugin::instance

Plugin instance (shared library).

Definition at line 221 of file lv2_plugin.h.

◆ instance_access_feature

LV2_Feature Lv2Plugin::instance_access_feature

Definition at line 153 of file lv2_plugin.h.

◆ lilv_plugin

const LilvPlugin* Lv2Plugin::lilv_plugin

Plugin class (RDF data).

Definition at line 216 of file lv2_plugin.h.

◆ llog

LV2_Log_Log Lv2Plugin::llog

Log.

Definition at line 325 of file lv2_plugin.h.

◆ log_feature

LV2_Feature Lv2Plugin::log_feature

Definition at line 148 of file lv2_plugin.h.

◆ magic

int Lv2Plugin::magic

Definition at line 329 of file lv2_plugin.h.

◆ main_forge

LV2_Atom_Forge Lv2Plugin::main_forge

Atom forge (main/GTK thread).

Definition at line 196 of file lv2_plugin.h.

◆ make_path_temp

LV2_State_Make_Path Lv2Plugin::make_path_temp

Make path feature data.

Definition at line 316 of file lv2_plugin.h.

◆ make_path_temp_feature

LV2_Feature Lv2Plugin::make_path_temp_feature

Definition at line 144 of file lv2_plugin.h.

◆ map

LV2_URID_Map Lv2Plugin::map

URI => Int map.

Definition at line 289 of file lv2_plugin.h.

◆ map_feature

LV2_Feature Lv2Plugin::map_feature

Definition at line 142 of file lv2_plugin.h.

◆ midi_event_id

uint32_t Lv2Plugin::midi_event_id

MIDI event class ID in event context.

Definition at line 238 of file lv2_plugin.h.

◆ options

LV2_Options_Option Lv2Plugin::options[10]

Options to pass to plugin on instantiation.

Definition at line 171 of file lv2_plugin.h.

◆ options_feature

LV2_Feature Lv2Plugin::options_feature

Definition at line 149 of file lv2_plugin.h.

◆ options_iface

const LV2_Options_Interface* Lv2Plugin::options_iface

Options interface for setting plugin options dynamically.

See also
http://lv2plug.in/ns/ext/options#interface.

Definition at line 193 of file lv2_plugin.h.

◆ plugin

Plugin* Lv2Plugin::plugin

Base Plugin instance (parent).

Definition at line 308 of file lv2_plugin.h.

◆ plugin_to_ui_events

ZixRing* Lv2Plugin::plugin_to_ui_events

Port events from plugin to UI.

Definition at line 206 of file lv2_plugin.h.

◆ preset

LilvState* Lv2Plugin::preset

Current preset.

Definition at line 218 of file lv2_plugin.h.

◆ request_update

bool Lv2Plugin::request_update

Whether a plugin update is needed.

Definition at line 242 of file lv2_plugin.h.

◆ rolling

int Lv2Plugin::rolling

Transport was rolling or not last cycle.

Definition at line 298 of file lv2_plugin.h.

◆ safe_restore

bool Lv2Plugin::safe_restore

Whether plugin restore() is thread-safe.

Definition at line 245 of file lv2_plugin.h.

◆ safe_restore_feature

LV2_Feature Lv2Plugin::safe_restore_feature

Definition at line 147 of file lv2_plugin.h.

◆ sched

LV2_Worker_Schedule Lv2Plugin::sched

Plugin worker schedule.

Definition at line 319 of file lv2_plugin.h.

◆ sched_feature

LV2_Feature Lv2Plugin::sched_feature

Definition at line 145 of file lv2_plugin.h.

◆ sratom

Sratom* Lv2Plugin::sratom

Atom serializer.

Definition at line 200 of file lv2_plugin.h.

◆ ssched

LV2_Worker_Schedule Lv2Plugin::ssched

State worker schedule.

Definition at line 322 of file lv2_plugin.h.

◆ state_features

const LV2_Feature* Lv2Plugin::state_features[7]

Features that are passed to state extension calls, such as when saving the state.

Definition at line 166 of file lv2_plugin.h.

◆ state_sched_feature

LV2_Feature Lv2Plugin::state_sched_feature

Definition at line 146 of file lv2_plugin.h.

◆ state_worker

Lv2Worker Lv2Plugin::state_worker

Synchronous worker for state restore.

Definition at line 212 of file lv2_plugin.h.

◆ suil_host

SuilHost* Lv2Plugin::suil_host

Plugin UI host support.

Definition at line 224 of file lv2_plugin.h.

◆ suil_instance

SuilInstance* Lv2Plugin::suil_instance

Plugin UI instance (shared library).

Definition at line 226 of file lv2_plugin.h.

◆ temp_dir

char* Lv2Plugin::temp_dir

Temporary plugin state directory (absolute path).

This is created at runtime and remembered.

Definition at line 234 of file lv2_plugin.h.

◆ ui_event_buf

void* Lv2Plugin::ui_event_buf

Buffer for readding UI port events.

Definition at line 208 of file lv2_plugin.h.

◆ ui_sratom

Sratom* Lv2Plugin::ui_sratom

Atom serializer for UI thread.

Definition at line 202 of file lv2_plugin.h.

◆ ui_to_plugin_events

ZixRing* Lv2Plugin::ui_to_plugin_events

Port events from UI to plugin.

Definition at line 204 of file lv2_plugin.h.

◆ unmap

LV2_URID_Unmap Lv2Plugin::unmap

Int => URI map.

Definition at line 292 of file lv2_plugin.h.

◆ unmap_feature

LV2_Feature Lv2Plugin::unmap_feature

Definition at line 143 of file lv2_plugin.h.

◆ updating

bool Lv2Plugin::updating

Definition at line 286 of file lv2_plugin.h.

◆ want_position

bool Lv2Plugin::want_position

Whether the plugin has at least 1 atom port that supports position.

Definition at line 278 of file lv2_plugin.h.

◆ work_lock

ZixSem Lv2Plugin::work_lock

Lock for plugin work() method.

Definition at line 214 of file lv2_plugin.h.

◆ worker

Lv2Worker Lv2Plugin::worker

Worker thread implementation.

Definition at line 210 of file lv2_plugin.h.


The documentation for this struct was generated from the following file: