In prepareToPlay, you are given the maximum expected buffer size the host may use. The actual buffer size you have to process is given by the size of the buffer passed to processBlock.
I understand that Reaper uses dynamic block sizes in order to give smoother automation changes in VST2 (possibly other formats too if they don’t support per-sample automation?)
I do not have the stats on how often happens, or which softwares do what. but… the point is it does not matter how often it might happen. any host could change that at any time, as the spec allows it.
If you have some kind of plugin internal constraint for the buffer size (for example because you are doing FFT), you need to do some internal buffering in the plugin to make the buffer sizes compatible. You can’t assume the buffer sizes the host requests you to process follow some particular pattern. The only thing you can assume is that the processBlock buffers will be at maximum the size that was reported for prepareToPlay.
That’s fine, and incrementing the constant for each build works
unless
I change the blockSize in logic audio prefs, and then it gets triggered even though the plugin is already open and working before
Why would changing audio block size trigger a version hint issue?
Doesn’t seem logical.