Expand description
Core plugin trait definitions.
This module defines the two-phase plugin lifecycle:
-
Descriptor(unprepared state): Holds parameters, created before audio config is known. Transforms into a processor viaDescriptor::prepare()when configuration arrives. -
Processor(prepared state): Ready for audio processing with real sample rate and buffer configuration. Created byDescriptor::prepare(), can return to unprepared state viaProcessor::unprepare()for sample rate changes.
This design eliminates placeholder values by making it impossible to process audio until proper configuration is available.
Structs§
- AuxInput
Count - Number of auxiliary input buses.
- AuxOutput
Count - Number of auxiliary output buses.
- BusInfo
- Information about an audio bus.
- BusLayout
- Bus layout information for plugins that need channel configuration.
- Host
Setup - Internal: All information the host provides at initialization.
- Main
Input Channels - Number of channels on the main input bus.
- Main
Output Channels - Number of channels on the main output bus.
- MaxBuffer
Size - Maximum buffer size in samples.
- Midi1
Assignment - MIDI 1.0 CC assignment.
- Midi2
Assignment - MIDI 2.0 controller assignment.
- Midi
Controller Assignment - Base assignment info for MIDI controller → parameter mapping.
- Sample
Rate - Sample rate in Hz.
Enums§
- BusType
- Audio bus type.
- Process
Mode - Processing mode (realtime vs offline).
Traits§
- Descriptor
- The unprepared plugin definition - holds parameters before audio config is known.
- HasParameters
- Trait for types that hold parameters.
- Plugin
Setup - Trait for plugin setup requirements.
- Processor
- The prepared processor - ready for audio processing.