[Never mind!] How to use a different range for a parameter?

I’m trying to read in some old pre-JUCE AAX session (chunk) data, and apply it to my parameters. However, I have a problem with applying certain of those old parameter values from the chunk data. The parameters they are being applied to are set with a range of [0.0,1.0], but those values may represent a different number of “real world” values, depending upon some other settings.

For example, this one drop-down might have two selections in one case, but three in another case. When I try to set the parameter value to 0.5 (which would be the second selection of a list of three), the underlying setValueNotifyingHost() call always converts that value to 0 (via convertFrom0To1()), and so the first item in my list is selected, even though I need the second item selected.

What I was hoping to do was to modify the range of the parameter so that when there are three items in the parameter, it would be set to [0.0,2.0], and that would allow my 0.5 to get properly mapped to 1 instead of 0. But there is no way to access the Parameter object that was created and added to the AudioProcessorValueTreeState. I can query that range, but the result is a copy, not a reference to the original Parameter’s range. So I can’t change it to allow setValueNotifyingHost() to use the range I need.

How can I apply the value 0.5 to my parameter, when its range is defined initially as [0.0,1.0], such then when convertFrom0To1() is called, it gives me 1 instead of 0?

Never mind! I found there is code that populates the combo boxes in question in certain conditions, and then calls setSelectedId(1) on them. This code is getting executed in AAX after the session data has been read in, causing the correct settings to be lost. D’oh!