Skip to main content

rill_router/eq/
mod.rs

1//! Generic equalizer implementations for Rill
2//!
3//! This module provides equalizers that work with any filter implementation
4//! that implements the `Filter` trait from `rill-core-dsp`.
5
6mod band;
7mod graphic;
8mod node;
9mod parametric;
10mod utils;
11
12pub use band::{BandType, EqBand};
13pub use graphic::GraphicEq;
14pub use node::{BiquadFactory, GraphicEqProcessor, ParametricEqProcessor};
15pub use parametric::ParametricEq;
16pub use utils::log_spaced_frequencies;
17
18/// Factory for creating filter instances.
19pub trait FilterFactory<F: super::Filter<f32>> {
20    /// Create a new filter with given parameters.
21    fn create_filter(
22        &self,
23        filter_type: super::FilterType,
24        frequency: f32,
25        q: f32,
26        gain_db: f32,
27    ) -> F;
28}