1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//! # BBX DSP
//!
//! A block-based audio DSP system for building signal processing graphs.
//!
//! ## Overview
//!
//! This crate provides a graph-based architecture for constructing DSP chains.
//! Blocks (individual DSP units) are connected together to form a processing graph,
//! which is then executed in topologically sorted order.
//!
//! ## Core Types
//!
//! - [`Block`](block::Block) - Trait for DSP processing units
//! - [`BlockType`](block::BlockType) - Enum wrapping all block implementations
//! - [`Graph`](graph::Graph) - Container for connected blocks
//! - [`GraphBuilder`](graph::GraphBuilder) - Fluent API for graph construction
//! - [`Sample`](sample::Sample) - Trait abstracting over f32/f64
//!
//! ## Block Categories
//!
//! - **Generators**: Create audio (oscillators)
//! - **Effectors**: Transform audio (gain, overdrive, panning)
//! - **Modulators**: Generate control signals (LFOs, envelopes)
//! - **I/O**: File input/output and graph output
//!
//! ## Example
//!
//! ```ignore
//! use bbx_dsp::{graph::GraphBuilder, waveform::Waveform};
//!
//! let mut builder = GraphBuilder::<f32>::new(44100.0, 512, 2);
//! let osc = builder.add_oscillator(440.0, Waveform::Sine, None);
//! let graph = builder.build();
//! ```
pub use BlockCategory;
pub use ;
pub use ;
pub use PluginDsp;
pub use VoiceState;