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?
Not to my knowledge otherwise if would fail as well for any sampler that does HD streaming
Haven’t worked on the project for a while, but in 2018 FinalCutProX didn’t set it. I had to add a flag to always assume non-realtime in FCPX, otherwise it didn’t work.
It was especially peculiar, because it spawns background instances to render the waveform in the background (which is a nice feature to see the applied effect in the wave profile).
Samplers are not a problem there, because FCPX doesn’t support augn generator plugins. Only aufx to apply on clips.
Reaper allows the user to manually override it but IIRC the default behavior is that the offline flag is set when offline rendering.
Alright, thank you for your feedback. Since FinalCut is probably not one of the major hosts of our customers we’ll go with the builtin isNonRealtime function at first…
I’ll let you know if we find hosts that don’t reliably report this!
By the way
Why would you want to override that
For plugins that are buggy or behave inconsistently when the offline flag is set.
Host working around buggy plugins & plugins working around buggy hosts – I really love the audio software world