I have found some buggy behaviour in the preset loading of the JUCE demo plugin when writing automation in Cubase.
Writing automation by switching presets doesn’t work as expected (tested in Cubase on Windows)
- Load plugin onto a track
- Save two presets (for example one with all minimum values, and another with all maximum values)
- Set the track to write mode for automation
- Start playback
- Toggle between presets
The first preset switch appears to change the data from the beginning of playback rather than from the point it was actually changed.
What should happen:
The first preset switch should be recorded at the time the change actually occurred. (Confirmed with built-in plugins and the aGain VST3 SDK example plugin)
Change the call from setValueNotifyingHost() to setValue() in setStateInformation().
As far as I can tell so far, hosts (tested with Cubase and ProTools) should call getParameter() after calling setStateInformation() (makes sense!). However is anyone aware of any hosts that do not behave like this?