Overview
TheIAudioProcessor interface provides a unified API for managing both built-in and external audio plugins in Lumix. It defines the core functionality for audio processing, plugin state management, and lifecycle operations.
Properties
The plugin state.
true if the plugin is on, false if the plugin is off.This property controls whether the plugin processes audio or passes it through unmodified.Flag indicating whether the plugin should be deleted.When set to
true, the plugin will skip processing and can be safely removed from the chain.Flag indicating whether the plugin should be duplicated.Used by the UI to manage plugin duplication operations.
Methods
Process
The incoming unprocessed audio buffer containing interleaved stereo samples.
The processed audio buffer where the plugin writes the processed samples.
The number of samples to process from the input buffer.
Example
GetPlugin
The type of the underlying plugin to retrieve (e.g.,
VstPlugin).T, or null if not available.
Example
Toggle
Enabled property.
This is a default interface implementation that can be called directly on any IAudioProcessor instance.
Example
Implementation Notes
- Implementations should check the
Enabledproperty in theProcessmethod and pass through audio unmodified when disabled - The
DeleteRequestedflag should be checked before processing to allow safe removal from the processing chain - Audio buffers use interleaved stereo format (L, R, L, R, …)
- The
GetPlugin<T>()method enables access to platform-specific features while maintaining a unified interface
See Also
- VstAudioProcessor - VST plugin implementation
- PluginChainSampleProvider - Plugin chain management