While offline rendering in Albetron Live 11 plugin didn't informed about it

I need to show a message window while Albetron Live 11 is rendering export file, I’m waiting for
AudioProcessor::setNonRealtime( bool isNonRealtime) isNonRealtime variable while it will be true, but it is always false. Where I’m wrong? Due to documentation Albetron always uses offline rendering but JUCE does not inform me properly.

Thanks

This is an issue in Live’s VST3 implementation. More details here:

Do we have any workaround to detect offline mode then?

Not that I know of. Perhaps someone else on the forum might have an idea though.

A (risky and unreliable!) technique could be to keep track of the real time interval elapsed between consecutive invocations of your audio callback.

If that interval is different (by a significant safety margin) than the time of processed audio (num samples / sample rate), then it can be guessed that the processing is happening offline.

Unfortunately, it’s prone to false negatives: if the processing is happening offline but the computing time is very similar to the audio duration, such algorithm will guess that realtime processing is in progress instead.

Also, detection depends on time between two consecutive callbacks, and audio buffers for offline processing can be quite long => detection of offline processing will not be immediate

Take away message: don’t do this unless forced to, and don’t base your plug-in logic on it. Using it to give user indication that offline processing is happening might work, though.

1 Like

Great idea. Just adding to the false negative the false positives:
When starting the host needs to prebuffer to compensate latency without immediately playing it out.
And some hosts pre compute a couple of seconds of tracks that are currently not live (IIRC Reaper).

1 Like