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
ix!();
use crate::{
RingModulatorParamArrayRT,
RingModulatorParam
};
pub const RINGMOD_MAX_UNISON: i32 = 16;
pub const RINGMOD_OVERSAMPLE: bool = true;
#[derive(Debug,Clone)]
pub struct RingModulator {
pub ringout: Ringout,
pub params: RingModulatorParamArrayRT,
pub lp: BiquadFilter,
pub hp: BiquadFilter,
pub halfband_out: HalfRateFilterSSE,
pub halfband_in: HalfRateFilterSSE,
pub phase: A1d::<f32>,
pub detune_offset: A1d::<f32>,
pub pan_l: A1d::<f32>,
pub pan_r: A1d::<f32>,
pub last_unison: i32,
pub tuner: TunerHandle,
pub srunit: SampleRateHandle,
}
effect! [RingModulator, RingModulatorParam];
no_op! [RingModulator, ProcessOnlyControl];
name! [RingModulator, "RingModulator"];
no_op! [RingModulator, Update];
init_on_suspend![RingModulator ];