Parameter Range min/max values problem in CSS 3.1 vs 2.8

0

I’ve been struggling with something that became a problem only after migrating, and then attempting to rebuild, a script in 3.1 that was originally built in 2.8 and was working fine.

In 2.8, I used a couple lines of pads on my Akai APC Key 25 to set device parameter values on this specific M4L device. The device sends midi program change messages out to an external fx unit to change its presets. I had a Device Parameter mapping for each pad, the input control type set to “On/Off” (On = 127, Off = 0). For the pad I wanted to trigger PC 1, the Parameter Range was set to “Minimum (%)” = 0 and “Maximum (%)” = 1. This would set the corresponding parameter value of the M4L device to 1, allowing me to use the pad to toggle back and forth between sending PC 1 and PC 0, the latter used to bypass the external unit. For the other pads, the mapping was the same except the Maximum (%) of the Parameter Range was increased to 2, 3, 4, etc. to correspond with the PC numbers I wanted to send. This all worked perfectly and I even set up a series of Reactions mappings to control the LED behavior of the pads to make it easy to see which fx unit preset was on.

In 3.1, the same Maximum % values of the Parameter Ranges are no longer producing the same device parameter values. For instance, the pad that sends Max % = 1 (formerly setting the device parameter value to “1”) now sets it to 127. To get the device values I want, it seems I have to enter Max % values in the Parameter Range that are more like percentages expressed as a numeric decimal value, although this isn’t entirely consistent. As an example, I can’t find a Max % decimal that will produce a device parameter value of 2. I can only get 1 or 3 not matter what I send.

Was there any underlying change in how Parameter Range values were recorded or sent to Live between CSS versions 2.8 and 3.1? Can’t figure out what accounts for this weirdness.

Hellem Answered question
0

Yes, I’ve tried all kinds of percentages, but still can’t figure it out.

In this example, I’m trying to set the value of Macro 1 in a chain device with a range of 0-127. As I mentioned, the Parameter Range fields in CSS3 are labelled “Minimum (%)” and “Maximum (%)”, which would obviously lead the user to believe that we’re supposed to enter % values, e.g. “100” for 100%. However, entering “1” in the Maximum % field sets the Macro to 127, which leads me to believe “1” is functioning like 100%, and I’ve got to enter decimals in the Maximum % field to achieve the desired parameter values with the Macro.

So using that logic, I’m assuming I’m trying to find the percentage (expressed as a numeric decimal value) that corresponds with whole numbers on a 128 value range (0-127). Assuming 0 is actually at 0%, I try entering “0.0078125” (i.e. 1/128) in the Maximum % field, which gives me a Macro parameter value of 1 displayed in Live but 1.2699999809265137 recorded in the CSS log. Entering “0.015625” (i.e. 2/128) gives me a Macro parameter value of 3 in Live and 2.5399999618530273 in the CSS log. I could very easily be doing the math wrong but honestly I don’t understand why I’d have to do this kind of math in the first place. I didn’t have to do it in CSS2 to make this work.

micbearing Answered question
You are viewing 1 out of 4 answers, click here to view all answers.