I’m trying to add some animations to my controls. I’m planning to use the IVDisplay control to show a sine wave with varying frequency and amplitude. Pretty straight forward and it shouldn’t be that CPU intensive. In my case, the sine wave is purely cosmetic. It’s not part of the audio chain in any way.
So, I’m not sure what the best place to “perform” the animation would be. If I understand correctly, the IVDisplay control is only responsible for displaying some values in a buffer. It doesn’t actually generate the animated data. This means the buffer has to be filled elsewhere (in my case, samples need to be generated to represent a sine wave). In the IPlugControls example, the samples are updated in ProcessBlock. This works, but suppose the required computation was more complex, could it cause slowdown or incomplete handling of more critical tasks also performed in ProcessBlock, namely audio processing?
What’s the best way to ensure animation never compromises audio quality?