buffer_tracker: buffer_tracker: buffer_tracker: buffer_tracker:
self.delay_left self.delay_left self.delay_left self.delay_left
buffer_tracker: buffer_tracker: buffer_tracker: buffer_tracker:
delayed_sample_left delayed_sample_left delayed_sample_left
delayed_sample_left delayed_sample_left delayed_sample_left
(self.time_right (self.time_right (self.time_right
vec![0.0; vec![0.0; vec![0.0; vec![0.0; vec![0.0;
self.delay_line_left self.delay_line_left self.delay_line_left
vec![0.0; vec![0.0; vec![0.0; vec![0.0; vec![0.0;
Vec<f32>, Vec<f32>, Vec<f32>, Vec<f32>, Vec<f32>,
self.delay_line_left.push(input_left self.delay_line_left.push(input_left
delay_line_left: delay_line_left: delay_line_left:
delayed_sample_right delayed_sample_right delayed_sample_right
delay_line_left: delay_line_left: delay_line_left:
self.delay_line_left self.delay_line_left self.delay_line_left
delay_right: delay_right: delay_right: delay_right:
self.delay_left self.delay_left self.delay_left self.delay_left
Vec<f32>, Vec<f32>, Vec<f32>, Vec<f32>, Vec<f32>,
input_left input_left input_left input_left input_left
update(&mut update(&mut update(&mut update(&mut update(&mut
output_left output_left output_left output_left output_left
Vec<f32>, Vec<f32>, Vec<f32>, Vec<f32>, Vec<f32>,
self.depth self.depth self.depth self.depth self.depth
amount), amount), amount), amount), amount), amount),
amount), amount), amount), amount), amount), amount),
buffer_tracker: buffer_tracker: buffer_tracker: buffer_tracker:
output_left output_left output_left output_left output_left
time_right: time_right: time_right: time_right: time_right:
self.time_right self.time_right self.time_right self.time_right
input_left: input_left: input_left: input_left: input_left:
spread.clamp(0.0, spread.clamp(0.0, spread.clamp(0.0,
self.delay_right]; self.delay_right]; self.delay_right];
modulation_left; modulation_left; modulation_left;
self.rate).sin(); self.rate).sin(); self.rate).sin();
self.sample_rate self.sample_rate self.sample_rate
delay_line_left: delay_line_left: delay_line_left:
self.delay_line_right self.delay_line_right self.delay_line_right
vec![0.0; vec![0.0; vec![0.0; vec![0.0; vec![0.0;
process(&mut process(&mut process(&mut process(&mut
self.spread self.spread self.spread self.spread self.spread
buffer; buffer; buffer; buffer; buffer; buffer; buffer;
self.buffer_tracker self.buffer_tracker self.buffer_tracker
self.buffer_tracker self.buffer_tracker self.buffer_tracker
delay_right], delay_right], delay_right], delay_right],
delay_right, delay_right, delay_right, delay_right,
self.time_right self.time_right self.time_right self.time_right
modulation_left; modulation_left; modulation_left;
delay_line_left: delay_line_left: delay_line_left:
amount), amount), amount), amount), amount), amount),
self.depth self.depth self.depth self.depth self.depth
time_left: time_left: time_left: time_left: time_left:
self.sample_rate; self.sample_rate; self.sample_rate;
delayed_sample_left delayed_sample_left delayed_sample_left
output_right output_right output_right output_right
vec![0.0; vec![0.0; vec![0.0; vec![0.0; vec![0.0;
buffer: buffer: buffer: buffer: buffer: buffer: buffer:
output_right output_right output_right output_right
vec![0.0; vec![0.0; vec![0.0; vec![0.0; vec![0.0;
self.depth self.depth self.depth self.depth self.depth
self.sample_rate self.sample_rate self.sample_rate
#[derive(Clone)] #[derive(Clone)] #[derive(Clone)]
delay_line_right: delay_line_right: delay_line_right:
delay_right delay_right delay_right delay_right delay_right
self.rate).sin(); self.rate).sin(); self.rate).sin();
self.rate).sin(); self.rate).sin(); self.rate).sin();