home/ atoms/ abletonosc-bulk-track-data-query

The /live/song/get/track_data command queries multiple tracks and clips in a single OSC message

AbletonOSC’s /live/song/get/track_data accepts (track_index_min, track_index_max, property1, property2, …) and returns a flat tuple of values for all requested properties across the track range. Properties must be namespaced as track.name, clip.name, clip.length, or clip_slot.property_name. The response is ordered track-by-track, then property-by-property within each track, with clip data interleaved per clip slot. This is the correct approach for syncing a large visual client to the current session state on startup — a single round-trip instead of one OSC message per track×property.

Examples

/live/song/get/track_data 0 12 track.name clip.name → returns a flat list: [track0_name, clip0_0_name, clip0_1_name, …, track1_name, …]. Parse by knowing the number of tracks and clips per track.

Assessment

Write the /live/song/get/track_data call to retrieve the name and length of every clip across tracks 0–3. Why is this preferable to issuing individual /live/clip/get/name calls on startup?

“It is often useful to be able to query data en masse about lots of different tracks and clips -- for example, when a set is first opened, to synchronise the state of your client with the Ableton set.”
corpus · abletonosc-osc-control-interface-for-ableton-live-live-objec · chunk 6