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}