• SupportStage Traxx
  • What is the default logic behind the "Next Song" displayed on the bottom of app?

Hi,

In my band's rehearsal last night, I noticed some really inconsistent behaviour on the "Next Song" data that is displayed at the bottom of the ST3 app. Sometimes it worked as expected, i.e. Next Song would change from the song we were playing, to the next song in the Playlist at some stage (what is that logic? X sec before end of song? X% through the song?). Howevert, sometimes the 'Next Song' would stay 'stuck' on the current song the entire time and never change until the song finished and the next song in the Playlist either loaded, or loaded and Autoplayed.

For context, I have 5 ST3 Clients connected to a Host, and all the clients also observed this inconsistent behaviour at various stages. The ST3 Host is running ST v3.8.31 but I can't be sure what all the clients are running. I know my iPad is on same version, but others may have been on 3.8.30 or even 3.8.29.

All my lyrics and time-stamped and all songs are multi track audio (and all files within a song are same duration). I have Auto load song enabled. In the Playlist we were using, some songs have AutoPlay into next song enabled.

So my starting question is, what is the default logic for what is displayed in "Next Song" when playing through a Playlist?
Specifically;

  1. When you load a song, but before you hit Play, what should be displayed? The just-loaded song? The next song in the Playlist?
  2. After you start the song, at what point should the 'Next Song' change from the song you have just started, to the next song in the Playlist? Is it based on a % of the way through the song? Or X sec from the end? or something else?

Next song on client iPads will always show what song is marked with "NEXT" on the host iPad. It is updated whenever the queue on the host changes. So whenever you select a new song to play next or the current song finishes playing.

    peter Thanks for confirming that Peter. That tracks with my testing at home, but I was seeing some instances (only on occassion) of different behaviour. Not a deal breaker by any means. It was just causing some confusion for some band members you were relying on that Next song info on the bottom of the client app to mentally prepare for the next song given we use Autoplay and only leave a few seconds between songs for big chunks of our sets.

    Now that I know the expected behaviour, I'll be able to better determine when I'm really seeing some different behaviour versus expected.

    So I think I have found one reliable repro where the client is not showing the "Next" song correctly.
    My test system iPads (Host and Client) are both 9th Gen running iOS 18.5 and ST 3.8.31
    For the test, Playlist Autoplay is OFF, but the 3 songs are configured to Autoplay into the next song on the Playlist.

    1. On Host iPad, open Playlist and select first song in Playlist.
    2. On Host iPad, Song 1 has 'Play' displayed next to it, and Song 2 has 'Next' displayed next to it.
    3. On Client iPad, join Host session
    4. On Client iPad, Song 1 lyrics are displayed and at bottom of app window, the Next section displays Song 1 (i.e. it is showing the current song as the Next song as well)
    5. On Host iPad, hit Play and start backing track playback of Song 1.
    6. Client iPad at no stage changes the 'Next' song name
    7. On Host iPad, Song 1 finishes and moves onto Song 2 which automatically plays
    8. On Client iPad, Song 2 displays on main screen and now the Next section at bottom of screen correctly displays Song 3.
      now this is where behaviour changes.
    9. On Host iPad, stop playback and select Song 1 in the Playlist
    10. On Client iPad, Song 1 is displayed and Next section at bottom of screen correctly says Song 2.

    Now, a 'quick fix' was as follows

    1. After Client iPads connect to Host session
    2. On Host iPad, select a different song (any song) in the Playlist, and then go back and select Song 1.
    3. On Client iPad, Song 1 is displayed on main screen and the Next section at bottom of screen correctly says Song 2.

    My assumption here is that:
    IF: the Host iPad has a Playlist with a Song selected
    AND: Client iPads connect to Host session
    THEN: Until you select a different song in the Playlist (manually or by playing through the first Song and it moves to seconds Song in Playlist), then that Next song info is not trasmitted to the Client devices?

    Desired Outcome: When a Client connects to a Host session, and the Host session does have a song displaying on screen as 'Next', then that next song information is correctly displayed on Client devices immediately.

    I hope that all makes sense. I can capture my repro on video if needed.
    As I said, only a small thing and I have a workaround, but hopefully fixable as it was throwing band members due to the inconsistency at our last rehearsal (we were often stopping and starting, jumping from one Playlist to another, to individual songs, so that didn't help).

    Might be a minor bug for when a client connects to a session it will not automatically receive the next song info. Only when an action on the host triggers sending the next song info, it gets updated.

      peter Might be a minor bug for when a client connects to a session it will not automatically receive the next song info. Only when an action on the host triggers sending the next song info, it gets updated.

      Yup. That is my theory also.
      Let me know if you need anything more from me to assist.

      I looked at the code and it sends the appropriate messages when a client connects. So now I think it might be a packet loss in the network. To be honest, I will not investigate this further. It is too minor of an issue and the network stack will be completely redone in version 4. No point spending lots of time on this old code.

        peter To be honest, I will not investigate this further. It is too minor of an issue and the network stack will be completely redone in version 4. No point spending lots of time on this old code.

        Copy that and I completely understand 🙂

        I have a workaround (after every Client has connected to Hoist, on the Host select another song in the Playlist and then go back to the original song) that in my testing works (full band scenario will confirm) and it is a minor inconvenience only.