mod automix_analysis;
mod convolver;
mod crossfeed;
mod dsp;
mod dynamic_loudness;
mod eq;
mod fir_eq;
mod loudness;
#[cfg(feature = "loudness-db")]
mod loudness_db;
mod resampler;
mod saturation;
mod spectrum;
pub mod adapters;
pub mod dsp_chain;
pub mod lockfree_params;
pub mod traits;
pub use automix_analysis::{
analyze_automix, analyze_automix_with_cancel, AutomixAnalysis, AutomixAnalysisMode,
AutomixAnalysisOptions,
};
pub use convolver::FFTConvolver;
pub use crossfeed::{Crossfeed, CrossfeedSettings};
pub use dsp::{db_to_linear, linear_to_db, NoiseShaper, NoiseShaperCurve, VolumeController};
pub use dynamic_loudness::{AtomicDynamicLoudnessState, DynamicLoudness, LOUDNESS_BANDS};
pub use eq::{BiquadSection, Equalizer};
pub use fir_eq::{FirEq, FirPhaseMode, STANDARD_BANDS};
pub use loudness::{
AtomicLoudnessState, GainRamp, LoudnessInfo, LoudnessMeter, LoudnessNormalizer, PeakLimiter,
TruePeakDetector,
};
#[cfg(feature = "loudness-db")]
pub use loudness_db::{
DatabaseStats, LoudnessDatabase, TrackLoudness, CURRENT_SCAN_VERSION,
DEFAULT_BROADCAST_TARGET_LUFS, DEFAULT_STREAMING_TARGET_LUFS,
};
pub use resampler::{ResampleOutput, Resampler, ResamplerError, StreamingResampler};
pub use saturation::{Saturation, SaturationSettings, SaturationType};
pub use spectrum::SpectrumAnalyzer;
pub use adapters::{
ConvolverProcessor, CrossfeedProcessor, DynamicLoudnessProcessor, EqProcessor,
NoiseShaperProcessor, PeakLimiterProcessor, SaturationProcessor, VolumeProcessor,
};
pub use dsp_chain::DspChain;
pub use lockfree_params::{
AtomicCrossfeedParams, AtomicDynamicLoudnessParams, AtomicDynamicLoudnessTelemetry,
AtomicEqParams, AtomicNoiseShaperParams, AtomicPeakLimiterParams, AtomicSaturationParams,
AtomicVolumeParams, CrossfeedParamsSnapshot, DynamicLoudnessParamsSnapshot, EqParamsSnapshot,
NoiseShaperParamsSnapshot, PeakLimiterParamsSnapshot, SaturationParamsSnapshot,
SaturationTypeValue, VolumeParamsSnapshot, EQ_BANDS,
};
pub use traits::{AudioProcessor, ProcessResult};