Skip to main content

rill_core_dsp/
lib.rs

1// rill-core-dsp/src/lib.rs
2//! # Rill Core DSP
3//!
4//! Ядро DSP-абстракций для Rill.
5//!
6//! ## Особенности
7//! - Полная параметризация типами (f32/f64) через `Transcendental`
8//! - RT-safe буферы с const generics (стабильная фича)
9//! - Базовые алгоритмы (Delay, Biquad, и т.д.)
10//! - Макросы для генерации узлов
11
12#![warn(missing_docs)]
13#![deny(unsafe_code)]
14// Для сложных const expr (опционально)
15#![cfg_attr(feature = "unstable", feature(generic_const_exprs))]
16
17pub mod algorithm;
18pub mod context;
19pub mod filters;
20pub mod generators;
21pub mod mapping;
22pub mod math;
23pub mod smoothing;
24pub mod vector;
25
26#[macro_use]
27pub mod macros;
28
29// Re-exports
30pub use algorithm::{Algorithm, AlgorithmCategory, AlgorithmMetadata, ParameterizedAlgorithm};
31pub use context::DspContext;
32pub use filters::{Filter, FilterParams, FilterType};
33pub use generators::{EnvelopeGenerator, Generator, NoiseGenerator, LFO};
34
35/// Prelude для удобного импорта
36pub mod prelude {
37    pub use crate::algorithm::{
38        Algorithm, AlgorithmCategory, AlgorithmMetadata, ParameterizedAlgorithm,
39    };
40    pub use crate::context::DspContext;
41    pub use crate::filters::{Filter, FilterParams, FilterType};
42    pub use crate::generators::{EnvelopeGenerator, Generator, NoiseGenerator, LFO};
43    pub use crate::macros::prelude::*;
44    pub use crate::mapping::{ControlMapper, MappingStrategy};
45    pub use crate::math::*;
46    pub use crate::smoothing::ParamSmoother;
47    pub use crate::vector::prelude::*;
48}