caw_modules/
lib.rs

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
mod low_level;

pub mod oscillator;
pub use oscillator::{
    oscillator,
    waveform::{self, *},
};

pub mod envelope_generator;
pub use envelope_generator::adsr_linear_01;

pub mod envelope_follower;
pub use envelope_follower::envelope_follower;

pub mod super_saw;
pub use super_saw::{super_saw, SuperSawInit};

pub mod sample_and_hold;
pub use sample_and_hold::sample_and_hold;

pub mod low_pass_moog_ladder;
pub use low_pass_moog_ladder::{
    low_pass_moog_ladder_huovilainen, low_pass_moog_ladder_oberheim,
};

pub mod low_pass_butterworth;
pub use low_pass_butterworth::low_pass_butterworth;

pub mod low_pass_chebyshev;
pub use low_pass_chebyshev::low_pass_chebyshev;

pub mod low_pass {
    pub use super::low_pass_butterworth as butterworth;
    pub use super::low_pass_chebyshev as chebyshev;
    pub mod moog_ladder {
        pub use super::super::low_pass_moog_ladder_huovilainen as huovilainen;
        pub use super::super::low_pass_moog_ladder_oberheim as oberheim;
        pub use oberheim as default;
    }

    pub use moog_ladder::default;
}

pub mod high_pass_butterworth;
pub use high_pass_butterworth::high_pass_butterworth;

pub mod high_pass_chebyshev;
pub use high_pass_chebyshev::high_pass_chebyshev;

pub mod high_pass {
    pub use super::high_pass_butterworth as butterworth;
    pub use super::high_pass_chebyshev as chebyshev;

    pub use butterworth as default;
}

pub mod band_pass_butterworth;
pub use band_pass_butterworth::band_pass_butterworth;

pub mod band_pass_chebyshev;
pub use band_pass_chebyshev::band_pass_chebyshev;

pub mod band_pass {
    pub use super::band_pass_butterworth as butterworth;
    pub use super::band_pass_chebyshev as chebyshev;
    pub mod centered {
        pub use crate::band_pass_butterworth::band_pass_butterworth_centered as butterworth;
        pub use crate::band_pass_chebyshev::band_pass_chebyshev_centered as chebyshev;

        pub use butterworth as default;
    }

    pub use butterworth as default;
}

pub mod reverb_freeverb;
pub use reverb_freeverb::reverb_freeverb;

pub mod reverb {
    pub use super::reverb_freeverb as freeverb;

    pub use freeverb as default;
}

pub mod sample_playback;
pub use sample_playback::sample_playback;

pub mod periodic_trig;
pub use periodic_trig::{periodic_trig_hz, periodic_trig_s};

pub mod periodic_gate;
pub use periodic_gate::periodic_gate_s;

pub mod delay_s;
pub use delay_s::delay_s;

pub mod delay_trig;
pub use delay_trig::delay_trig;

pub mod compressor;
pub use compressor::compressor;

pub mod chorus;
pub use chorus::{chorus, ChorusLfoOffset};