I've been playing around with this trying to find a solution for global settings. Things like oversampling. What I would like is:
When a new instance of the plugin is loaded, these controls load according to a global settings json file which I set on user control of the knob Unless! It's a session being recalled where that knob has already been set by the user.So when the user clicks off something like oversampling, it will apply to that instance and any new ones loaded, unless an instance is being recalled from a saved session. I absolutely can't have it breaking recall by changing the sound when a user reloads a project.
Unfortunately the .isInternalPresetLoad() method seems to not work well for this. First the settings blink. For a split second it loads the value saved in the preset and it both visually and audibly jumps to that setting for a moment before jumping back to what it was before the preset load.
And second if a user quickly changes presets this method fails after a few clicks. I suspect it has to do with the system trying to load a next preset before it's completed things and set the finished flag. The result is that after a few rapid "next preset" clicks, my control loads the value saved in preset instead of maintaining the prior value as it's supposed to.