I'm a bit confused, are you saying you worked around spotify's ratelimits by using non-spotify APIs to achieve similar things? Why not just RE the official client and use the same APIs it uses? (You can get lossless that way, too!)
That is basically what I did. Librespot already reverse engineered the spotify client but mainly for playback. I extended my fork to include internal endpoints. These are spclient (extended-metadata, playlist and rootlist, collection, connect-state, lyrics, radio) and Pathfinder GraphQL for search. It doesnt call the public web API (api.spotify.com) anymore so doesnt suffer from those API rate limits.
I looked at lossless too, that is probably possible, but im not going to implement it. It uses a different key system called PlayPlay. If I manage to implement it, it would be considered DRM circumvention and I dont really want to mess with that tbh
I've never understand the correlation between using Linux and needing to suddenly have everything run in a CLI to the extent of building your own windows in text.
It's like you're not aware Linux has desktop environments.
Not the OP but I would guess its a combination of things
1. The style and motif. I've never met someone who got interested in Linux and didn't immediately appreciate the look and feel of the terminal. People see hackers and fast scrolling text on TV and in movies and it's just fun. Lord knows I was and still am obsessed with CLI and TUI stylings. It brings me joy.
2. It's a lot easier to get started writing a TUI or a CLI. Picking a GUI framework is not easy and many times they are not fun to use. You can only use so many languages to write a GTK app or a QT app. You can use almost any language you want for a CLI tool.
3. CLI and TUI tools are way more universal. I don't have to care if you run GNOME or KDE or if you have GTK-3 or GTK-4 installed or whatever. CLIs and TUIs just work. I can also distribute a single static linked executable instead of a .deb or a Flatpak or something more difficult.
To be fair it was part looking cool and part that the official client Spotify ships for linux is not the greatest. It looked bad and ofcourse used a lot of RAM, that didnt help when i tried to run it on a very old laptop
I'm a bit confused, are you saying you worked around spotify's ratelimits by using non-spotify APIs to achieve similar things? Why not just RE the official client and use the same APIs it uses? (You can get lossless that way, too!)
That is basically what I did. Librespot already reverse engineered the spotify client but mainly for playback. I extended my fork to include internal endpoints. These are spclient (extended-metadata, playlist and rootlist, collection, connect-state, lyrics, radio) and Pathfinder GraphQL for search. It doesnt call the public web API (api.spotify.com) anymore so doesnt suffer from those API rate limits.
I looked at lossless too, that is probably possible, but im not going to implement it. It uses a different key system called PlayPlay. If I manage to implement it, it would be considered DRM circumvention and I dont really want to mess with that tbh
What’s your motivation for implementing a third-party Spotify GUI?
I got into Linux about a year ago and found Spotify-tui but that didn’t work anymore. So I tried to fix it and learn rust at the same time.
A few months ago my dad also wanted to use it but he never opened a terminal before in his life so I build this GUI for him
I've never understand the correlation between using Linux and needing to suddenly have everything run in a CLI to the extent of building your own windows in text.
It's like you're not aware Linux has desktop environments.
Not the OP but I would guess its a combination of things
1. The style and motif. I've never met someone who got interested in Linux and didn't immediately appreciate the look and feel of the terminal. People see hackers and fast scrolling text on TV and in movies and it's just fun. Lord knows I was and still am obsessed with CLI and TUI stylings. It brings me joy.
2. It's a lot easier to get started writing a TUI or a CLI. Picking a GUI framework is not easy and many times they are not fun to use. You can only use so many languages to write a GTK app or a QT app. You can use almost any language you want for a CLI tool.
3. CLI and TUI tools are way more universal. I don't have to care if you run GNOME or KDE or if you have GTK-3 or GTK-4 installed or whatever. CLIs and TUIs just work. I can also distribute a single static linked executable instead of a .deb or a Flatpak or something more difficult.
To be fair it was part looking cool and part that the official client Spotify ships for linux is not the greatest. It looked bad and ofcourse used a lot of RAM, that didnt help when i tried to run it on a very old laptop