AUv3 Suspends

Hi,

During beta testing for my AUv3 there are reports that the plugin will “go to sleep” within Logic and Cubase. While it’s suspended the plugin’s virtual keyboard doesn’t trigger the audio engine. Modifying a parameter on the plugin UI also doesn’t wake the plugin. Once the host transport starts, the plugin wakes up. It’s like the host is not calling the render callback until the transport resumes?

Has anyone seen this before, or know how to handle this scenario?

edit:
So “renderCallback()” in juce_audio_plugin_client_AUv3.mm is not called until the transport starts or
external MIDI is received. Is this expected behaviour?

edit 2:
This seems to only happen during plugin state restore when Logic opens the project for the first time and the plug is re-loaded.

thanks

Reply from Apple via the CoreAudio mailing list:

In your case you do not have a generator plugin, but rather an instrument or effect and these plugin types are only processed by Logic Pro when needed, meaning: when Logic knows that there is something to process, e.g. MIDI or Audio going in. This is an optimization – active many years – to avoid wasting CPU cycles on plugins processing „nothing“. Such a plugin can’t trigger itself.

Here’s a patch that seems to fix it for iPadOS - i.e. the render callback is suspended by Logic so send the MIDI from a timer.