kraxarn / spotify-qt

Lightweight Spotify client using Qt
GNU General Public License v3.0
1.11k stars 63 forks source link

Shuffle/Repeat options not applying when selecting a song in a playlist. #186

Closed bloxythefox closed 1 year ago

bloxythefox commented 2 years ago

I usually leave both shuffle and repeat enabled, but I've noticed some issues with how the app handles generating a new queue when selecting a new song; When I select a new song from a playlist, only the songs after the one I selected are added to the queue even when the Repeat option is enabled. Additionally, the items which ARE added to the queue aren't automatically shuffled when the option is enabled; the songs are only added to the queue in the same order they appear on the playlist. Both issues happen whenever I select a specific song in a playlist with the respective option (shuffle/repeat) enabled.

bloxythefox commented 2 years ago

If its at all important, I currently have spotify-qt v3.9 running spotifyd v0.3.3; Selecting a song via the mobile app seems to generate a queue following the selected options and plays without issue, however.

kraxarn commented 2 years ago

Most likely a duplicate of #92, but I don't think it's an issue with spotify-qt, as it only seems to happen when listening from librespot/spotifyd. It seems to work fine if I use an official client for playback. I'd guess it's probably just the official client not using the same Web API as spotify-qt.

bloxythefox commented 1 year ago

The other issue I mentioned is that Spotify-qt seems to only be adding the song I select/all songs after it, and none of the songs above/before it when the repeat option is enabled. I was only able to see this by opening the official iOS app and checking the queue, and I don't believe the issue with repeat has been mentioned at least. I'd also like to mention that using an "official" client (ex: the iOS app) to select a song for spotifyd to play, seems to have shuffle/repeat correctly apply. Additionally, the repeat 1 song function seems to be unavailable for spotifyd (the official client only enables/disables the normal repeat function, while Spotify-qt still tries to cycle to repeat 1, which could cause confusion...)

arch-btw commented 1 year ago

@bloxythefox @kraxarn

I just wanted to let you guys know that if you run librespot-java in the background (so not the Rust version) the "Repeat one track" works. To be more specific:

  1. Download librespot-player-1.6.2.jar from here.
  2. Run it like this: java -jar librespot-player-1.6.2.jar then close it again.
  3. It will create config.toml in the same directory
  4. In this file change strategy to "USER_PASS" and fill out the username and password right under that line
  5. Run spotify-qt with librespot-player-1.6.2.jar running in the background
  6. Under settings > Spotify disable "start with app" and "Always start" and make sure it says "Not running"
  7. Restart spotify-qt
  8. Should work now

It will still say not running in Settings but it works regardless.

This issue had me trying about 5 different Spotify clients, but I finally got it to work like this, so I thought I'd share it here.