Tracking this here, as I've had to pull AU validation from CI until this gets fixed.
This JUCE commit results in all AU plugins made with JUCE 8.0.13, including AudioPluginDemo, fail the pluginval "Plugin State Restoration" test: juce-framework/JUCE@4b8454a
!!! Test 2 failed: Slop not restored on setStateInformation -- Expected value within 0.1 of: 0, Actual value: 0.365655
The likely issue is that AU parameter values used to be fetched synchronously, but that was breaking multibus plugins on iOS.
AU plugins not made with JUCE seem to pass.
@reuk did an initial investigation and said:
Pluginval runs the test on a background thread, which means that the calls to set parameter values and plugin states come from that background thread, but the "parameter changed" callback from the plugin happens asynchronously on the main thread. This might lead to some synchronisation issues, but at the moment I can't check with thread sanitizer since it seems to be mutually exclusive with rtcheck.
Tracking this here, as I've had to pull AU validation from CI until this gets fixed.
This JUCE commit results in all AU plugins made with JUCE 8.0.13, including AudioPluginDemo, fail the pluginval "Plugin State Restoration" test: juce-framework/JUCE@4b8454a
The likely issue is that AU parameter values used to be fetched synchronously, but that was breaking multibus plugins on iOS.
AU plugins not made with JUCE seem to pass.
@reuk did an initial investigation and said: