I’ve just spent three hours tracking down some accuracy problem to discover this function - did the Synthesiser class suddenly become less accurate at some point? Surely the default should be sample accurate?
/** Sets a minimum limit on the size to which audio sub-blocks will be divided when rendering. When rendering, the audio blocks that are passed into renderNextBlock() will be split up into smaller blocks that lie between all the incoming midi messages, and it is these smaller sub-blocks that are rendered with multiple calls to renderVoices(). Obviously in a pathological case where there are midi messages on every sample, then renderVoices() could be called once per sample and lead to poor performance, so this setting allows you to set a lower limit on the block size. The default setting is 32, which means that midi messages are accurate to about < 1ms accuracy, which is probably fine for most purposes, but you may want to increase or decrease this value for your synth. */ void setMinimumRenderingSubdivisionSize (int numSamples) noexcept;
PS. Sorry about the title, it didn’t want to accept the function name in the heading for some reason…I get “Title is invalid; try to be a bit more descriptive” if the function name appears in there!