In my plugin I have many parameters that are added/removed/changed dynamically and are not part of the AudioProcessor's official AudioProcessorParameters list. When a change is made to one of these parameters, I need a way to let the host know that the plugin state is "dirty" and to make sure it will call getStateInformation().
Right now I have a "dummy" parameter that I've added to my processor, & through some finagling (It seems that, at least for AUs, the value of a parameter must be different than the one that was read through getParameter() when the last getStateInformation() was called. Also, only the value up to 2 decimal places is regarded) I've managed to create a custom method that will make sure the host saves the state.
As a side effect, in certain hosts this dummy parameter shows up in the automation list (even though it is set as a non-automatable parameter).
It just feels a bit too hackish. I suppose the best solution may be to just add all these "dynamic" parameters as official AudioProcessorParameters but I'm wondering if there's another way.