Pluginval: what are sub-blocks?

Well, the title is my question :slight_smile: I have not yet heard of sub-blocks.


Hi Peter, I use the term “sub-blocks” to refer to blocks being passed to the plugin’s processBlock call that are smaller than the initial block size passed to prepareToPlay.

The main reason hosts do this is for fine-grained automation. Imagine if you have a sample rate of 44.1KHz and a block size of 2048, thats a block time of 46.4ms. That’s going to give very steppy automation and aliasing for quick moving automation or things like LFO modulators.
So hosts will often chop this up in to blocks of 32-128 samples and call your processBlock several times interleaved with parameter change update calls, all within the audio driver’s original 2048 block size.

The test is basically there to ensure that you can deal with this kind of behaviour and don’t assume that the block size passed to processBlock is constant.

I hope this makes sense!

1 Like

Wow, thanks Dave,

That is completely new to me. My plugin fails now at level 6, not sure if it is related to this, but I will surely check if I need to add safeguards.


Do you know what test it fails on? Or is it crashing?

Crashing - but at this phase in my development I’m not worried, I assume it has to do with parameter handling / my VTS model, which is still an “Epic” on my backlog to refine and improve.

Thanks :slight_smile: