Support for Spotify
-
Hi, I know this issue has already been raised (https://github.com/strawberrymusicplayer/strawberry/issues/179) and has been criticized.
However, it is true that it is one of the most popular streaming services. Many of my favorite artists don't exist on eg Tidal.Have you considered integrating with unofficial SDKs like this one? https://github.com/librespot-org/librespot
Best regards
-
It would make more sense to write our own, as the library is in rust, and what we do is C/C++.
However it is a lot of work, and also requires a subscription. The best way to do it is through a gstreamer plugin. Most of the work is getting the audio data, as the rest of the API part isn't too much work as we can simply copy the Tidal/Qobuz stuff and modify it for the Spotify API.
Most new features need to come from the community as this is a community driven project, so unless there is a programmer interested in spotify support willing to do it, it won't be done. -
Thanks for the answer.
I'd shoulder it, but I have too many overtime projects right now. It is possible that in March I could deal with it or maybe in the meantime someone would be interested in this topic. -
@dziurka
Since GStreamer has a Spotify plugin using librespot now (https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs) I started work on it here: https://github.com/strawberrymusicplayer/strawberry/tree/spotify
It's almost finished and works but still has issues:- For now we need to use a modified version of the plugin, see: https://github.com/strawberrymusicplayer/strawberry/wiki/GStreamer-Spotify-plugin
- The plugin causes a bit of hang when starting playback of a new song. You'll notice that the fading of the album covers is a bit laggy.
No gapless playback.
-
Actually, gapless playback works, I just didn't correctly load the track duration from the API.