librespot icon indicating copy to clipboard operation
librespot copied to clipboard

pause after last track has finished

Open herrernst opened this issue 6 years ago • 6 comments

Currently, librespot plays endlessly: After the last track in a playlist/album it continues playing the first one.

This changes the behaviour to match the official Spotify client: The first track is loaded again, but the player is paused.

See #237

herrernst avatar Aug 26 '17 17:08 herrernst

+1 would really like to see this. @herrernst any way you could include this PR in your raspberry pi builds?

markubiak avatar Sep 12 '17 17:09 markubiak

What about adding this as a runtime option?

awiouy avatar Sep 20 '17 20:09 awiouy

I don't think it should be included as a runtime option. This is a good stopgap measure until someone gets the repeat button working.

markubiak avatar Sep 26 '17 14:09 markubiak

I also think this shouldn't be an extra option, but the repeat mode should be toggled/controlled with the Spotify app as raised in #237

herrernst avatar Sep 26 '17 18:09 herrernst

I would agree that that is the best possible option. Unfortunately, I do not have any experience with rust and it doesn't seem to share a lot of similarities with languages I am familiar with. If you have the time and energy to implement that, it would be fantastic. It does seem that the repeat status is received in protocol/src/spirc.rs, and the original file (src/spirc.rs) could simply have the logic self.load_track(!was_last_track || is_repeating);

markubiak avatar Sep 26 '17 18:09 markubiak

So I had a go at integrating this with the connect side of things, my first stab at rust: https://github.com/plietar/librespot/compare/master...kingosticks:master

However, it's not quite there yet as it's missing the ability to repeat just one song which is available on the native client (you toggle repeat, repeat one, and off through the same control on the Android app). The repeat state is just a boolean so maybe there's a different bit of state to control repeat one (single?). Any ideas welcome.

I also wanted to do shuffle but doing the actual track shuffle is a bit more work.

kingosticks avatar Oct 30 '17 09:10 kingosticks