The integration of Spotify, the great daddy of audio streamers with third-party apps has been difficult over the years. Years ago, in their beginning they liberated libspotify, coded in for integration with different clients. Integration with major audio players like Foobar, Clementine and MusicBee were working, but in 2015 the company decided to drop the new development on the library and decided to shut down the integration last June.
The new feature called Spotify Connect that allows multiple device to act as remote controller for the device that its playing in real time made new possibilities. But the wheel was inventend with LibReSpot, a library written in Rust. More libraries ported from the original in Rust appeared later in Go and Java. This last one is special, since it allows to be controlled by HTTP requests and interacts with a potential client through WebSockets. So a good player is possible to be built through a GUI library, and so I picked the most user friendly GUI framework, PySimpleGUI, that wraps multiple and more complex GUI frameworks like Tkinter and PyQT providing easyness of development.
And so my experiment is here:
You can install it trough
pip install respotgui
and launch it from the command line:
python -m respot.gui
. But before that you must have the librespot-api.jar that you can download from here. The instructions for the configuration (you must a Spotify Premium subcriber) are here. Once you got the JAR up with
java -jar librespot-api.jar you can launch the GUI.
By now, it’s a just a experiment in programming that I do in my spare time. The GUI launches with a list of suggested in the listbox below and allow to search playlists by name. The queue of the playlist appears on the right.
For now, it’s more lightweight than the Spotify official client. But I plan to improve it by the future.