I thought we had our legacy (pre-JUCE) AudioUnit sessions loading with our JUCE (5.3.2) plugins, but we found another issue with the automation data, at least in Logic. (I think it’s ok in Studio One, but need to make a legacy session there to test again.)
While our automated parameters are now showing up correctly, the values that the automation lanes display for their previously recorded automation is incorrect for discrete parameters. It seems that the old data, for discrete parameters, used the “world” values, meaning the actual indexes into the discrete lists of values, rather than the “normalized” values which range from 0.0 to 1.0. This means that every automation value that is greater than 1 gets pinned to 1.0 when the automation data is displayed in the automation lanes.
Since we are never given any access to the automation lane values when loading a saved session, we have no opportunity to decide if the data is for a discrete parameter from old or new session data, and thus all data for discrete parameters gets mapped to either 0 or 1 in the automation lanes.
How can we modify our custom AU wrapper code so that old automation data is correctly mapped?