AbletonOSC pushes an int beat number to the client on every beat via start_listen/beat
Calling /live/song/start_listen/beat asks AbletonOSC to send a message to the client on each beat of Live’s transport; every beat, a reply arrives at /live/song/get/beat carrying an int with the current beat number. /live/song/stop_listen/beat unsubscribes. This is the primary, purpose-built hook for driving visual events from Live’s clock — it fires from Live’s own transport rather than requiring the client to poll song time, so a visual host can trigger a flash, advance a sequence, or re-seed a generator exactly on the beat. It is the concrete AV-sync counterpart to the general property-listener pattern (beat is a dedicated event stream, not a property whose value you read).
Examples
Subscribe: send /live/song/start_listen/beat (no args). Every beat, receive /live/song/get/beat with an int beat count (0, 1, 2, …). Drive visuals: on each beat message, trigger a strobe or step a Hydra/p5 pattern. Stop: /live/song/stop_listen/beat.
Assessment
Write the OSC message to receive a callback on every beat. What address and argument type does each beat reply use? Why is listening for beat events preferable to polling /live/song/get/current_song_time for beat-synced visuals?