Ok, excuse me for the late… I’m trying to use dip::StateVariableFilter, but I ear no filtering… I’m using this code:

in prepare to play:

filterABuffer.setSize(1, samplesPerBlock);

```
filterA = new dsp::StateVariableFilter::Filter<double>();
filterA->parameters->type = dsp::StateVariableFilter::Parameters<double>::Type::lowPass;
filterA->parameters->setCutOffFrequency(rate, acutoff);
```

In processBlock:

```
auto numSamples = buffer.getNumSamples();
float lfoRate = 2 * float_Pi / (arate / rate);
lfo += lfoRate;
if(lfo > 2 * float_Pi) lfo -= 2 * float_Pi;
output = std::sin(lfo);
output *= afactor;
acutoff += output;
DBG(acutoff);
// Delay A
switch ((int)atype)
{
case 0:
filterA->parameters->type = dsp::StateVariableFilter::Parameters<double>::Type::lowPass;
filterA->parameters->setCutOffFrequency(rate, acutoff);
break;
case 1:
filterA->parameters->type = dsp::StateVariableFilter::Parameters<double>::Type::highPass;
filterA->parameters->setCutOffFrequency(rate, acutoff);
break;
case 2:
filterA->parameters->type = dsp::StateVariableFilter::Parameters<double>::Type::bandPass;
filterA->parameters->setCutOffFrequency(rate, acutoff);
break;
}
delayA.setDelay(atime * 44.100);
delayA.setGain(afeedback / 100.0);
filterABuffer.copyFrom(0, 0, buffer.getReadPointer(0), numSamples);
for (int i = 0; i < numSamples; ++i)
{
float* buf = filterABuffer.getWritePointer(0);
filterA->processSample(buf[i]);
}
delayABuffer.copyFrom(0, 0, filterABuffer.getReadPointer(0), numSamples);
for (int i = 0; i < numSamples; ++i)
{
float* buf = delayABuffer.getWritePointer(0);
float* delayBuf = delayBufferA.getWritePointer(0);
float inBuf = buf[i];
buf[i] += delayBuf[i];
delayBuf[i] = (delayA.tick(delayBuf[i]) + inBuf) * (amix / 100.0);
}
auto anglea = jmap(apan * 1.0, -1.0, 1.0, 0.0, float_Pi * 0.5);
buffer.addFrom(0, 0, delayABuffer.getReadPointer(0), numSamples, std::cos(anglea));
buffer.addFrom(1, 0, delayABuffer.getReadPointer(0), numSamples, std::sin(anglea));
```

where am I wrong?