Skip to main content

Module lockfree_params

Module lockfree_params 

Source
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§

AtomicCrossfeedParams
Atomic crossfeed parameters
AtomicDynamicLoudnessParams
Atomic dynamic loudness parameters
AtomicDynamicLoudnessTelemetry
Real-time dynamic loudness telemetry published by audio thread.
AtomicEqParams
EQ parameters published as complete immutable snapshots.
AtomicNoiseShaperParams
Atomic noise shaper parameters
AtomicPeakLimiterParams
Atomic peak limiter parameters
AtomicSaturationParams
Saturation parameters published as complete immutable snapshots.
AtomicVolumeParams
Atomic volume parameters
CrossfeedParamsSnapshot
Crossfeed parameter snapshot
DynamicLoudnessParamsSnapshot
Dynamic loudness parameter snapshot
EqParamsSnapshot
EQ parameter snapshot for audio thread
NoiseShaperParamsSnapshot
Noise shaper parameter snapshot
PeakLimiterParamsSnapshot
Peak limiter parameter snapshot
SaturationParamsSnapshot
Saturation parameter snapshot
VolumeParamsSnapshot
Volume parameter snapshot

Enums§

SaturationTypeValue
Saturation type enumeration for lock-free parameter passing.

Constants§

EQ_BANDS
EQ band count constant