Expand description
Lock-free Parameter Structures
Provides snapshot-based parameter passing from main thread to audio thread. This eliminates the need for mutexes in the audio callback, ensuring that DSP processing is never blocked or skipped due to lock contention.
§Design Pattern
Processor parameters are published as immutable snapshots through ArcSwap.
Setters patch snapshots with ArcSwap::rcu, so concurrent UI/control writes
retry instead of silently overwriting each other’s fields. The audio thread
observes either the old or the new complete snapshot, never a mix of fields
from both.
Structs§
- Atomic
Crossfeed Params - Atomic crossfeed parameters
- Atomic
Dynamic Loudness Params - Atomic dynamic loudness parameters
- Atomic
Dynamic Loudness Telemetry - Real-time dynamic loudness telemetry published by audio thread.
- Atomic
EqParams - EQ parameters published as complete immutable snapshots.
- Atomic
Noise Shaper Params - Atomic noise shaper parameters
- Atomic
Peak Limiter Params - Atomic peak limiter parameters
- Atomic
Saturation Params - Saturation parameters published as complete immutable snapshots.
- Atomic
Volume Params - Atomic volume parameters
- Crossfeed
Params Snapshot - Crossfeed parameter snapshot
- Dynamic
Loudness Params Snapshot - Dynamic loudness parameter snapshot
- EqParams
Snapshot - EQ parameter snapshot for audio thread
- Noise
Shaper Params Snapshot - Noise shaper parameter snapshot
- Peak
Limiter Params Snapshot - Peak limiter parameter snapshot
- Saturation
Params Snapshot - Saturation parameter snapshot
- Volume
Params Snapshot - Volume parameter snapshot
Enums§
- Saturation
Type Value - Saturation type enumeration for lock-free parameter passing.
Constants§
- EQ_
BANDS - EQ band count constant