I’m trying to reliably detect if my plugin is being run real time or in offline mode. In BitWig studio isNonRealtime() was always returning false, even when doing a bounce. I was worried they weren’t notifying us, so I did some debugging and learned that juce checks for getCurrentProcessLevel == 4 to determine the mode.
filter->setNonRealtime(getCurrentProcessLevel() == 4 /* kVstProcessLevelOffline */);
In internalProcessReplacing juce only checks for this state during the first process callback.
I duplicated the check to happen every frame and it fixed the issue I had with bouncing in place. Why is it the check is limited to the first callback? Am I possibly causing other issues by making this change?