Hi, I am wanting to create a plugin that processes audio very much like one would on an embedded system using DMA for block based processing.
The idea is that I would like to do my audio processing outside of the processBlock function.
The reason being so that I have the max amount of time to process my audio.
For example, say my block size is 64 from the host.
But for my plugin, I need at least 256 samples to process, so the latency is always 256 samples.
I want to process those 256 samples only when they become available to me. But if I do that processing inside of processBlock(), then I only have the amount of time it takes to receive another 64 samples for my processing, where in reality, I should have the time it takes for 256 samples.
Is there a way to maybe trigger a high priority callback function or thread to be responsible for the signal processing?
That way, all processBlock() needs to do is re-assign pointers to the buffers it should use for input/output after every 256 samples are received (ping-pong block processing).
Hopefully that makes some sense. Thank you in advanced!