Nope, but I have a bunch of threads that I collapse into a single-thread execution when it’s non-realtime rendering. Still don’t understand why the AU produce complete silence, while it gets to know it’s offline rendering… I am sure I am to blame about this (will debug), but the issue for VST and VST3 not getting to know whether it’s realtime rendering or not in their prepareToPlay remains.
Testing Ableton Live I get even more inconsistencies with prepareToPlay… VST’s get their prepareToPlay called and isNonRealtime () returns the correct value, but after export their prepareToPlay is called twice more, both times with isNonRealtime () saying true, so if you switch to offline rendering - that’s what will be used next in realtime processBlock calls. AU’s in Live don’t get their prepareToPlay called at all on export (neither before, nor after) so it renders your plugin in realtime at all times.
The only consistency I find so far is isNonRealtime () calls within the processBlock. Only there I haven’t found a case where it is incorrect.