get GUI values from parameters in device in Ableton Live: is it possible????

miguelvb's icon

Hi,

i am trying to get the values displayed in the gui in a parameter device in ableton live, using the api or osc.
Does anybody knows how to do that?
i can get the values but they are not the same as the ones shown in the gui.
Say for example a filter with a freq shown in the gui as "20.45 Hz", i want to get that 20.45 number. If a call the liveobject to get the value, i do not get the shown value but an inner working one (from 0.05 to 1 for example). .....

thank you !!!

french exits's icon

I'm curious about this as well. As an addendum, I'm looking for a way to set parameters with the GUI value (e.g., send 2000 ms to the release parameter of an Operator envelope). This would actually be desirable to me over getting the values for the project I'm working on at the moment.

It's tough to try to deal with these using their internal 0..1 values as they're scaled logarithmically, and different devices & envelope parameters have different GUI ranges (0-20ms, 1ms-60s, etc) so it's difficult to scale appropriately if you're aiming for a precise ms value... Any methods/hacks/workarounds?

miguelvb's icon

yes, same thing for me.... any help???

leighhunt's icon

Just a quick thought... IMidi remote scripts could well be your friend for this purpose.
The midi remote script I made for the Mackie C4 gets and displays the real parameter values of Live Instrumnets / effects.
If you search on the Live forum there are some great links to be had on Python scripting for midi remote scripts.
For starters;

If you have never used Python, I was a bit daunted at dipping my toes into yet another programming language at first, but it's not so difficult!

Hope this helps
Leigh

amounra's icon

The 'mapped parameter' value is what you are looking for, and unfortunately, I can't find any way to access this value without some Python voodoo. It was available prior to 8.22, but that behaviour changed with the current version. Anyway, it wasn't very usable even when it was available, as it got delivered to Max as an unsortable tuple. Now you get the id of the mapped parameter when you get 'mapped parameter' from a control in a remote script. I can see how this would be useful, but its not useful to me ;)

There is no way to set parameter values via the 'displayed value' that your speaking of, and I highly doubt there ever will be. The standard for any parameter value within a plugin is 0.0 to 1.0. Unfortunately, I don't think there's any good way to do this sort of thing (reverse interpolation or whatever) aside from figuring out what the scale factor is and designing a function specific to each case. There are no shortcuts that I'm aware of within Python, either...this conversion process takes place within each individual plugin, I think.

I manage this sort of thing with Python, although it is still problematic in some ways (casting values to the correct type is sometimes an issue with certain plugins).

miguelvb's icon

Hi, thank you for all those answers. It seems it is quite difficult to get that info. For the moment i try to get the exponent number of the mapping and undo that on my side... quite difficult sometimes. it is very strange that it is not simpler than that.