Clips not returning
I am running pylive 0.4.0, Ableton Live 11.3.2, and AbletonOSC downloaded 2/29/24.
When I open a set with many clips, I cannot seem to get any clips. Even when I create a brand new MIDI track, create a clip, and name it, it doesn't appear in a dump(). When I tried creating a clip with pylive, it returns just fine, but I do not see it in the Ableton GUI.
`import live import logging
set = live.Set(scan=True) set.logger.setLevel(logging.DEBUG) set.dump()`
`───────────────────────────────────────────────────────
Live set with 16 tracks in 0 groups, total 0 clips ────────────────────────────────────────────────────────`
Thank you for this super helpful package!
@jcc-dhudson How many clips are in the set? I've just tried to replicate this with a set containing 16 tracks with 320 clips each, and it scans and displays OK. Are you running on Windows or macOS? Is there anything else unusual in your setup? Does it scan OK when you create a fresh set with a few clips in it?
Thanks for the reply. See below for an example set which returns 0 clips in pylive set.dump(). I think about 17 clips among the 18 tracks in the screenshot. I also tried with a fresh set and just double-clicked on a midi track to make a single midi clip, no luck. I've tried on two different Windows 11 machines, one with a fresh Python 3.11 install. Thanks again!
Digging in a little more, it seems that I do get clips that are in clip slots in the Session View, but nothing in Arrangement View. The same thing happens using your run-console.py querying AbletonOSC directly, so clearly not a bug in pylive. Is this just a limitation or am I using it wrong?
/live/song/get/track_data 0 2 clip.name
Thank you!
I believe I have found my answer in AbletonOSC documentation. While it doesn't look like it is implemented in pylive, /live/track/get/arrangement_clips/ seems to do what I need:
| /live/track/get/arrangement_clips/name | track_id | track_id, [name, ....] | Query all arrangement view clip names on track |
|---|---|---|---|
| /live/track/get/arrangement_clips/length | track_id | track_id, [length, ...] | Query all arrangement view clip lengths on track |
| /live/track/get/arrangement_clips/start_time | track_id | track_id, [start_time, ...] | Query all arrangement view clip times on track |
@ideoforms - sorry for wasting your time. Hopefully this will be useful to someone. Thank you for all your work on this project!
Thanks for digging, that's useful feedback! I'll leave this issue open and add a clarification note in the README/pydocs that these functions specifically apply to Session View.