get_clip
Retrieve a Session clip's properties—length, loop, warp, pitch, markers, flags—with has_clip status. Handles empty slots by reporting them instead of failing.
Instructions
Read one Session clip's properties: length, loop, warp, pitch, markers, flags.
Returns:
Dictionary with ``has_clip``, and where that is true the clip path, whether
it is MIDI, and the property fields. An empty slot answers ``has_clip:
false`` and says so rather than failing.
Note:
Notes and automation are not properties: use ``read_clip_notes`` and
``read_automation``.
``warping``, ``warp_mode`` and ``pitch_coarse`` are reachable only through a
generic path. Each was read, written, read back and restored on 2026-08-29
against Live 12.4.5, and all three rows are ``verified``. ``pitch_fine`` is
read-verified only, and the integer mapping behind ``warp_mode`` is still a
hypothesis: confirm it against ``clip.available_warp_modes``.
**An audio clip's times are in seconds while warping is off, and in beats while
it is on.** ``times_in`` says which, and the per-field ``unit`` follows it. A MIDI
clip is always in beats. Measured 2026-09-19 against Live 12.4.6 on three
unwarped clips of one 228.792167 s file: ``loop_end`` read 228.79216666666667 on
all three, and a write of a larger ``end_marker`` clamped to that same number.
**Toggling ``warping`` rescales the stored markers and does not undo it.** On the
same clip, turning warping on took ``end_marker`` from 240.918 to 253.682, a
factor of 1.05298, and turning it back off left it at 253.682 while ``loop_end``
returned to the file length. The factor is the clip's own warp tempo over 60
(1.05298 is 63.18 BPM; another clip moved 0.5704 to 1.1408 at 120 BPM and not at
all at 60). Every toggle multiplies again, so a clip toggled twice carries markers
well past the end of its own file and nothing reports it. Read the markers after
any write to ``warping`` and set them back deliberately.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | LOM path to a Session clip, song.tracks[N].clip_slots[M] with or without a trailing .clip, as an alternative to track and slot. A song.tracks[N].arrangement_clips[i] path is refused with code region_not_addressable. | |
| slot | No | Clip slot index in track.clip_slots, counted from 0, which is the scene the clip sits in. Give track and slot, or give path instead. These are Session coordinates; an Arrangement clip has none. | |
| track | No | Session track index in song.tracks, counted from 0. Give track and slot, or give path instead. These are Session coordinates; an Arrangement clip has none. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||