@@ -172,6 +172,11 @@ void Dattorro1997Tank::setDiffusionNesting(const bool nesting) {
172172 leftApf2.nested = nesting;
173173 rightApf1.nested = nesting;
174174 rightApf2.nested = nesting;
175+
176+ leftApf1.delay2 .clear ();
177+ leftApf2.delay2 .clear ();
178+ rightApf1.delay2 .clear ();
179+ rightApf2.delay2 .clear ();
175180}
176181
177182void Dattorro1997Tank::setDiffusionDecay (const double diffusionDecay) {
@@ -233,12 +238,13 @@ void Dattorro1997Tank::initialiseDelaysAndApfs() {
233238void Dattorro1997Tank::tickApfModulation () {
234239 double scaleFactor = timeScale;
235240 leftApf1.delay1 .setDelayTime (lfo1.process () * lfoExcursion * scaleFactor + scaledLeftApf1Time);
236- leftApf1.delay2 .setDelayTime (lfo1.process () * lfoExcursion * scaleFactor + scaledLeftApf1Time);
237241 leftApf2.delay1 .setDelayTime (lfo2.process () * lfoExcursion * scaleFactor + scaledLeftApf2Time);
238- leftApf2.delay2 .setDelayTime (lfo2.process () * lfoExcursion * scaleFactor + scaledLeftApf2Time);
239242 rightApf1.delay1 .setDelayTime (lfo3.process () * lfoExcursion * scaleFactor + scaledRightApf1Time);
240- rightApf1.delay2 .setDelayTime (lfo3.process () * lfoExcursion * scaleFactor + scaledRightApf1Time);
241243 rightApf2.delay1 .setDelayTime (lfo4.process () * lfoExcursion * scaleFactor + scaledRightApf2Time);
244+
245+ leftApf1.delay2 .setDelayTime (lfo1.process () * lfoExcursion * scaleFactor + scaledLeftApf1Time);
246+ leftApf2.delay2 .setDelayTime (lfo2.process () * lfoExcursion * scaleFactor + scaledLeftApf2Time);
247+ rightApf1.delay2 .setDelayTime (lfo3.process () * lfoExcursion * scaleFactor + scaledRightApf1Time);
242248 rightApf2.delay2 .setDelayTime (lfo4.process () * lfoExcursion * scaleFactor + scaledRightApf2Time);
243249}
244250
@@ -339,6 +345,11 @@ void Dattorro::setSampleRate(double newSampleRate) {
339345 inApf3.delay1 .setDelayTime (dattorroScale (kInApf3Time ));
340346 inApf4.delay1 .setDelayTime (dattorroScale (kInApf4Time ));
341347
348+ inApf1.delay2 .setDelayTime (dattorroScale (kInApf1Time ));
349+ inApf2.delay2 .setDelayTime (dattorroScale (kInApf2Time ));
350+ inApf3.delay2 .setDelayTime (dattorroScale (kInApf3Time ));
351+ inApf4.delay2 .setDelayTime (dattorroScale (kInApf4Time ));
352+
342353 leftInputDCBlock.setSampleRate (sampleRate);
343354 rightInputDCBlock.setSampleRate (sampleRate);
344355 inputLpf.setSampleRate (sampleRate);
0 commit comments