How to tell if a Live dial is being automated/modulated?
I'm working on a device that needs to change its behavior depending on whether a certain live.dial is being automated/modulated in Live vs if it is being dragged with the mouse or controlled with MIDI. Is there any way to get this information into the patcher? A boolean value would be ideal (1 if the dial is being automated/modulated, 0 if not).
Look at the DeviceParameter api in the LOM, particularly the automation_state property. It feels funny to set it up because you need to get the id of your device’s local dial just like it’s in a different device (e.g. get it through the LOM rather than normal Max code).
And actually if memory serves you may want “is_enabled” property too.
Thanks so much! That's exactly what I needed. I'm very new to the Live Object Model so I appreciate your help.
For anyone who might have the same question as me:
The automation_state property only reports automation, not modulation (when the parameter is being controlled by another device like Shaper or LFO). But in these cases the parameter is actually disabled, so I can tell if that's happening with the is_enabled property. Combining automation_state and is_enabled gives me a single flag to tell if the parameter is being controlled externally :-)