listen to control surface via live.observer?
I’m poking around max for live api, and it seems that it should be possible to observe the values coming from a control surface, but I’m not finding this.
Using the live.observer helpfile as an example, I can use the path
path live_set tracks 0 mixer_device volume
to live.observer and request
property value to get the value of the first track’s volume from the live.observer’s outlet.
I’d like to do something similar with a control surface, for example the path
path control_surfaces 0 controls 12
represents, in my case, a SliderElement. However, there is no property "value" that I could observe.
How can I do this?
Now, I realize it is possible to use the midiin object to get these same values, however, that requires the track to be armed, the Track property to be enabled for the controller in the Preferences, and assumes that the Control Surface is MIDI (a fair, but not guaranteed, assumption!).
You should be able to get the value parameter just like you expect….it won’t show up in the list of properties, though. It’s gettable and watchable with most standard ‘controls’. If you set up an observer, it should report the value sent by the physical control that is linked to it in the Python Script. If not, something isn’t set up correctly in Python, the MIDI control is currently disabled (via Python, i.e. its not currently mapped to forward its value) or you’ve gone awry elsewhere.
What script are you trying to get values from?
Thanks…I’m trying in the monohmpad and the ohm64 script. What am I missing?
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 658.3oc0W1riaBCDG+L4ovB0ioQXvDH8V6qQ0pUFvYiWQvQXSZ1tZe2q8PHg MMXHezH5gXjG6XOyO+eFCuOwwMQriIcQeC8Sjiy6Sbb.SFCN6663tltKMmJg o4VTsNgU5NsdHQkJmoTusgUuFt7Bk6TjaBs3EWzS6m0FpJcEu3kmKYop5I56 EOyaJxmXZC8LsXskC+EdFrahjW+JdQytsTTnJnqg8x86kbZN5Gh7rlg0tFuP 6NfihOZr1IAq9sVII+2vJg06tw5GSlXZlNPPrlIkzWXMathsCBMSvtBkpW+R Q9yxpxkzTlD40XRh9BtS5YGYyIGQFNZA7XdGLK5ZXl+YYF99wrk4B8Z2Y3qG lNP4ydJD5O.8S3+U5GdF5JEH3n4FNDG2hIcoO7Fk5i+YLYNoelDOJQRA6WZm 6uHhBkfxQ4cBEHCRmIA+rlIEEYfRTc9jOFJw3cdBEZIS5BRhBNGc7uqBFISc 80YqIBNLv7fPrUag3cgD4BzKWGQj47LK2OaMxI0UUifhpDnMNnUfC0m0K4lJ UautEOBNjDcHLzqxfUF3648vkhMrR0ansz7J1sIE7HGKr1kTHHZrIE5nzQNe Kal4sT5lICpvQHfCB7dHgysU2vewXqtgMzHRjrxs1xgFXMUrOPnXOqr49Ha7 6mMvtqCwhSegeHBL1+LvjhpxzlXto7O5XPjwjJdAUwEEsljIMn0jVwyxXv3M kAVyy1Hzelvdm.8zYO9tHeB2iOYXbqI0qOEDDMKbJZAb7EDA2C7oNX+PnGAl Gz6FiCyEI8y13GJaO4nzBaeb9joTRu9T7kcbeObo9jfmj6LJ7IyGA7H4zPjS mjGLJ7I7i8rCODIN9wl1gGTofE2fOo67wj+.NNYP5B -----------end_max5_patcher-----------
Nothing….that patcher works fine for me (except the range of the slider needs to be set to 127. for it to reflect the correct value). It worked out of the box for me. What version of max/live are you using? Maybe something has gotten fubarred lately (my last build was v. 5.21/5.16). Is the script behaving correctly in other regards?
Hm, yeah, now that I try it again, it’s working. Maybe it just needed your approval, or me to not be mixed up? I’m not sure why it didn’t work before. I did notice that I was getting different results for ID’s when I was editing in Max and trying to observe IDs in the (lifesaving!) LiveAPI explorer patch from within live, which was disconcerting.
Forums > Max For Live