Updating product and preset procedure
-
Currently working on a project that will see new algorithms in the future (hardcoded DSP), I have a question regarding the preset compatibility.
There's the Overwrite Old User Presets that takes care of the Factory presets, but then is there a way to populate customer presets with new controls?
If not, is there a risk to load an older preset? (aside from just having new parameters not moving...)Anything I should be particularly careful about when developing and/or exporting?
-
-
@ustk The biggest risk, I would guess, is if HISE is attempting to load values into components that don't exist.
-
@ustk If there is a new parameter and the old preset does not contain it, the parameter will be loaded at the default value. So far I haven't seen any problems with this.
Therefore, for the backwards compatibility, when adding a new parameter-algorithm, it should be added by default in a way that does not affect old user presets.
-
@d-healey @clevername27 @orange Thanks guys for your precious answers!
I have to delve into the PresetHandler, I'm not sure it could be/is helpful in this case.But anyway if nothing bad can happen loading an older preset, I'm feeling relieved already
-
@ustk said in Updating product and preset procedure:
But anyway if nothing bad can happen loading an older preset, I'm feeling relieved already
Yup as @orange said, if you're only adding new controls, just make sure that the default values are sensible and they will be initialised to those values.
There are more advanced tools available in the UserPresetHandler class, but they are only required if there are breaking changes in your preset design (eg. because you have changed internal ranges or something else).