Hi,
If you play a song that was removed from the setlist, AbleSet jumps back to the first song of the setlist when that song ends, and keeps playing. The “Next Song” button does the same thing while you’re in a removed song.
SETUP
- AbleSet 3.0.11
- Ableton Live 12.4.3
- macOS 26.5.1 (Apple Silicon)
- Settings: Auto-Jump to the Next Song off, Always Stop at the End of Songs off, Jump Mode: Quantized
- Plain locators only, setlist in the same order as the arrangement.
HOW TO REPRODUCE
1. Create a set with four plain locators: Song 1 (bar 5), Song 2 (bar 13), Song 3 (bar 21), Song 4 (bar 29).
2. In the setlist editor, remove Song 2 (click its “x”, so it turns grey).
3. In Live, click inside Song 2 (bar 15) and press play.
Expected: playback continues into Song 3.
Actual: when the playhead reaches Song 3 (bar 21), AbleSet jumps to Song 1 (bar 5) and keeps playing.
4. Click inside Song 2 again, press play, and press “Next Song” in AbleSet.
Expected: jump to Song 3, the next song in the setlist.
Actual: it jumps to Song 1.
From the log:
15:02:39.277Z Matched cue: "Song 3"
15:02:39.279Z Reached a song end, jumping to next song. previousSong: "Song 2", nextSong: "Song 1"
15:02:39.280Z Jumping to song id: "16" (Song 1), forcePlay: true
15:02:39.469Z Matched cue: "Song 1"
15:03:09.499Z Received OSC /setlist/jumpBySongs \[1\]
15:03:09.500Z Jumping to song id: "16" (Song 1)
15:03:09.787Z Matched cue: "Song 1"
It also happens with “Remove played songs” enabled: if you go back and replay a song that was already played (and removed), when it ends AbleSet jumps to the first remaining song instead of the next one.
WHY IT MATTERS LIVE
A common case is removing a song from the setlist before the show and then deciding to play it anyway. When it ends, the set jumps back to the beginning in front of the audience.
I’ve also seen past posts in support from other users describing similar issues (AbleSet unexpectedly jumping back to the start of the set or to the wrong song), so this might be the same cause.
POSSIBLE CAUSE
At the end of a song, and also for “Next Song”, AbleSet finds the next song with getNthNextSong(), which searches parsedCues.filtered (the setlist without removed songs). Since the current song was removed, findIndex() returns -1, and filtered[-1 + 1] = filtered[0] is the first song of the setlist. A possible fix is to look for the first non-removed song that comes after the current one.
I’ve uploaded a minimal repro set (Song 2 is already removed), a screen recording, and the log through the support inbox.
Thanks!
Patricio