Reading/writing values lock free to/from processBlock

Yes, thanks. Actually by now I’ve tried doing the calculation in processBlock and also outside – testing two methods using either std::atomic<std::array<float, 6>> and std::unique_ptr<std::array<float, 6>> with swapping.
Reassigning the state is done in processBlock in all of them of course.
They all seem to work nicely, not sure which is the best.

If I want smoothing none of these will work. I actually can’t figure out how to do smoothing since using the dsp-classes and AudioBlock means I’m not iterating the buffer myself. Seems like I would have to unrwap all the abstraction from both the filter coefficient calulations and the context based processing, so maybe that’s not really doable when using juce::dsp::ProcessorDuplicator and juce::dsp::IIR::Filter.

Do you use some other IIR-methodology when smoothing parameters?