Playing a removed song makes AbleSet jump back to the first song of the setlist (3.0.11)

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

Hey @patopretti, thank you for reporting this!

This is kind of expected behavior, but only because I haven’t found a better alternative yet. What would you expect to happen after playing a song that isn’t in the setlist?

I’m looking forward to your reply!