Suppose we want to modify a list-type parameter to add more items to it, thus increasing its number of steps. When loading session data, we can easily adjust the old value stored in the chunk based on version information we also store in the chunk. But what about automation data that is saved in the session? Is there anything we can do such that existing automation data will not be broken by an update that changes a parameter’s range. Automation is stored as “normalized” values, correct? So, if the values 0…1 map to a different set of step data, then the indexes may be off when reading old automation data, correct? Is there any way around this?
yes automation is saved as normalized value, that why changing the curve or the range meaning will lead to wrong automation playback.
For now we do not have a way to remap from an old automation to a new automation for a given parameter, we have it on our TODO list.
The best practice in the actual situation is to create a new parameter (new ID), you can keep the old parameter for playback old project automation.
We often have this issue when we want to modify a continuous parameter mapping.
A way to remap a parameter automation with the VST3 SDK would be really appreciated.