Modules§
- clap
- events
- gui_
win32 - Shared Win32 container-window helpers for hosting plugin GUIs.
- gui_x11
- Shared X11 container-window helpers for hosting plugin GUIs.
- host
- lv2
- paths
- protocol
- ringbuf
- scan
- shm
- util
- vst3
- vst3_
lv2_ host
Structs§
- Event
Pair - Lightweight cross-process event signalling.
- Midi
Event - Fixed-size MIDI event (16 bytes, 16-byte aligned).
- Parameter
Event - Fixed-size parameter change event (16 bytes, 16-byte aligned).
- Ring
Buffer - Lock-free single-producer / single-consumer ring buffer backed by a fixed array in shared memory.
- ShmHeader
- Shared-memory header (256 bytes).
- ShmMapping
- Owned mapping of a shared-memory segment.
- Transport
State - Transport state block (256 bytes).
Constants§
- AUDIO_
BUFFER_ SIZE - AUDIO_
OFFSET - Audio buffers start after the control area.
- CONTROL_
OFFSET - Control area starts right after the header.
- CONTROL_
SIZE - ECHO_
READ_ IDX_ OFFSET - ECHO_
RING_ OFFSET - ECHO_
RING_ SIZE - ECHO_
WRITE_ IDX_ OFFSET - HEADER_
SIZE - LAYOUT_
SIZE - Total bytes actively used by the protocol layout.
- MAGIC
- Magic number: “MAOL” in big-endian ASCII.
- MAX_
BLOCK_ SIZE - Maximum audio block size in samples.
- MAX_
CHANNELS - Maximum number of audio channels (main + sidechain combined).
- MIDI_
OUT_ READ_ IDX_ OFFSET - MIDI_
OUT_ RING_ OFFSET - MIDI_
OUT_ RING_ SIZE - MIDI_
OUT_ WRITE_ IDX_ OFFSET - MIDI_
READ_ IDX_ OFFSET - MIDI_
RING_ OFFSET - MIDI ring buffer.
- MIDI_
RING_ SIZE - MIDI_
WRITE_ IDX_ OFFSET - NUM_
BUSES - Number of audio buses (main + sidechain).
- PARAM_
EVENT_ GESTURE_ BEGIN - PARAM_
EVENT_ GESTURE_ END - PARAM_
EVENT_ MOD - PARAM_
EVENT_ VALUE - PARAM_
READ_ IDX_ OFFSET - PARAM_
RING_ OFFSET - Parameter ring buffer.
- PARAM_
RING_ SIZE - PARAM_
WRITE_ IDX_ OFFSET - PORT_
COUNTS_ MAGIC - Magic value written before port counts in scratch.
- RING_
CAPACITY - Capacity of each ring buffer in slots (power of two).
- SCRATCH_
OFFSET - State blob scratch area.
- SCRATCH_
SIZE - SHM_
SIZE - Total shared-memory allocation size (4 MiB, page-aligned).
- TRANSPORT_
OFFSET - Transport state block (256-byte aligned from here).
- TRANSPORT_
SIZE - VERSION
- Current protocol version. Version 2: parent_window changed from AtomicU32 to AtomicU64 to support 64-bit HWNDs on Windows. Version 3: Added MIDI output ring for plugin-generated MIDI events.
Functions§
- audio_
channel_ ⚠ptr - Returns a pointer to a specific channel/bus plane.
- audio_
ptr ⚠ - Returns a pointer to the audio buffer region.
- echo_
indices ⚠ - Returns pointers to the echo ring write/read atomics.
- echo_
ring_ ⚠ptr - Returns a pointer to the echo ring buffer slot array.
- header_
mut ⚠ - Returns a mutable reference to the header.
- header_
ref ⚠ - Returns a reference to the header at the start of the mapping.
- init_
shm_ ⚠layout - Zero-initialize the entire shared-memory region and write the header.
- midi_
indices ⚠ - Returns pointers to the MIDI ring write/read atomics.
- midi_
out_ ⚠indices - Returns pointers to the MIDI output ring write/read atomics.
- midi_
out_ ⚠ring_ ptr - Returns a pointer to the MIDI output ring buffer slot array.
- midi_
ring_ ⚠ptr - Returns a pointer to the MIDI ring buffer slot array.
- param_
indices ⚠ - Returns pointers to the parameter ring write/read atomics.
- param_
ring_ ⚠ptr - Returns a pointer to the parameter ring buffer slot array.
- read_
plugin_ ⚠name_ from_ scratch - Read a plugin name from the start of the scratch buffer.
- read_
port_ ⚠counts_ from_ scratch - Read audio/MIDI port counts from scratch.
- scratch_
ptr ⚠ - Returns a pointer to the scratch buffer region.
- transport_
mut ⚠ - Returns a mutable reference to the transport state.
- transport_
ref ⚠ - Returns a reference to the transport state.
- wait_
for_ ready - Wait (spin + yield) until
readybecomes non-zero or timeout elapses. - write_
plugin_ ⚠name_ to_ scratch - Write a plugin name to the start of the scratch buffer. The name is encoded as a little-endian u32 length followed by UTF-8 bytes.
- write_
port_ ⚠counts_ to_ scratch - Write audio/MIDI port counts to scratch.