We are working on a plugin that offloads some heavier computation tasks that might occur on parameter changes to a background thread and applies the new processing parameters derived on the background thread to the processing as soon as possible. While this works fast enough for real-time playback, this will obviously fail on offline rendering. Therefore we need to have a 100% reliable way to find out if we are currently in an offline rendering situation to switch over to synchronous processing parameter computation on parameter changes.
The strategy of choice would be to query
isNonRealtime on every processBlock callback. However I found some older threads that report some hosts not correctly setting this flag. Is that still the case in 2020 for any major host, so should we create a fallback non realtime detection mechanism such as comparing the play head timestamp with a wall clock timestamp or something like that?