The AU and VST3 wrappers correctly call
AudioProcessor::reset() when the plugin is bypassed by the DAW (at least the DAWs that we are using to test).
The VST2 wrapper instead calls
suspend(), but I can’t see any call to
reset(). Is there a reason why it doesn’t call it?
reset() in the wrapper introduces unwanted clicks that are not present in the AU and VST3 versions.
reset() to clear buffers and tails of delays/reverbs, and it works on most DAWs, and it would be great to have a consistent behavior between formats.