home/ atoms/ osc-property-listener-pattern

AbletonOSC's start_listen/stop_listen pattern subscribes to Live property changes and delivers them as push messages

For any readable property (tempo, volume, playing_slot_index, etc.), AbletonOSC provides three OSC addresses: get/ (one-shot query), start_listen/ (subscribe), and stop_listen/ (unsubscribe). When you call start_listen, AbletonOSC registers a Python callback on the Live object’s property-change notification, and immediately sends the current value. After that, every time Live changes the property, the client receives a push message at /live//get/ without polling. This is the correct pattern for driving continuous AV visuals — reacting to volume changes or clip launches without polling at 60fps. A listener must be explicitly stopped with stop_listen.

Examples

To receive volume updates for track 0: send /live/track/start_listen/volume 0. Track volume changes in Live immediately push to /live/track/get/volume with params (0, new_volume). Stop: /live/track/stop_listen/volume 0. For clip playback position: /live/clip/start_listen/playing_position 0 0.

Assessment

A student wants to update a visual parameter whenever a track’s mute state changes. Write the OSC message to subscribe. Which address and arguments will deliver the updates? How do they stop receiving updates?

“Changes to any Track property can be listened for by calling `/live/song/start_listen/<property>` - Responses will be sent to `/live/song/get/<property>`, with parameters `<property_value>`”
corpus · abletonosc-osc-control-interface-for-ableton-live-live-objec · chunk 4