I am a building an AUv3 plugin using Tracktion Engine, and have noticed a bug with the block size used in Tracktion plugins.
I have been able to reproduce the problem with the EngineInPluginDemo provided with Tracktion engine.
In this demo, when building it as an AUv3 plugin, the FourOSC tracktion plugin that generates a click sound uses a blocksize of 2048 samples, no matter what the host specified.
Using breakpoints in Xcode’s debugger, I can see that when I change the block size in the host that holds the EngineInPluginDemo instance (AUM on iOS), the
EngineInPluginDemo::prepareToPlay function is called with the host’s block size, but the
FourOSCPlugin::prepareToPlay function is never called.
I have made the same experiment with a VST3 build of EngineInPluginDemo in Reaper. In this case, I see that both
prepareToPlay functions (EngineInPluginDemo’s and FourOSCPlugin’s ones) are called when the Reaper’s block size changes. And that the FourOSCPlugin uses the proper block size.