API reference
Every public class, method, and event in @codexo/exojs. Generated from source.
classLimiterEffect
Brick-wall limiter backed by a Web Audio `DynamicsCompressorNode` configured for hard limiting: a fixed high ratio (~20), zero knee (hard knee), and a fast attack. Use it as a final-chain safety net to prevent clipping and protect downstream output. The compressor `ratio` and `knee` default to brick-wall values (20 and 0 respectively) but remain configurable, unlike a truly fixed limiter, because callers occasionally want a softer, more compressor-like limiting curve (lower ratio) or a gentler transition into limiting (larger knee) without switching to CompressorEffect and losing the dry/wet mix. The effect also exposes a dry/wet mix for API consistency and parallel processing workflows, though a fully-wet signal (`wet = 1`) is the typical configuration. Node graph: ``` input(GainNode) → dryGain → output(GainNode) input → compressor → wetGain → output ``` Gains: `dryGain.gain = 1 - wet`; `wetGain.gain = wet`.
import { LimiterEffect } from '@codexo/exojs-audio-fx' Brick-wall limiter backed by a Web Audio `DynamicsCompressorNode` configured for hard limiting: a fixed high ratio (~20), zero knee (hard knee), and a fast attack. Use it as a final-chain safety net to prevent clipping and protect downstream output.
The compressor `ratio` and `knee` default to brick-wall values (20 and 0 respectively) but remain configurable, unlike a truly fixed limiter, because callers occasionally want a softer, more compressor-like limiting curve (lower ratio) or a gentler transition into limiting (larger knee) without switching to CompressorEffect and losing the dry/wet mix. The effect also exposes a dry/wet mix for API consistency and parallel processing workflows, though a fully-wet signal (`wet = 1`) is the typical configuration.
Node graph: ``` input(GainNode) → dryGain → output(GainNode) input → compressor → wetGain → output ``` Gains: `dryGain.gain = 1 - wet`; `wetGain.gain = wet`.
new(options: LimiterEffectOptions): LimiterEffect destroy(): void attack: number inputNode: AudioNode knee: number outputNode: AudioNode ratio: number ready: Promise<void> release: number threshold: number wet: number