This is awesome! I've been looking for an alternative to the bloated Electron mess that is Spotify's UI for a long time. It leaks memory like a sieve on Linux and is generally a pain to use.
I don't find it to be more of a mess than any other electron application though. So that's.. something.
My main issue with the snap install (debian) browsing for songs became slow initially. The UI will be there but it'll just show 'no results' for basically any search until after a minute or so.
My issue with the snap installed (Ubuntu in my case) is that Spotify still doesn't handle scaling properly, so I keep having to modify the launcher to add a command line switch for the scaling factor. Of course, every time the app updates, snap overwrites my changes...
Aside, but another annoying thing about Spotify's native macOS client does not use the Apple API for "Open on login" toggle (that is exposed when you right-click on the app icon in the Dock) and instead has it buried in their own preferences. I uninstalled it yesterday because their web player is decent enough and I didn't have the patience to figure out how to disable this open on startup option.
Yes! I love this - I’m surprised that I haven’t seen more clever Spotify integrations floating about in the dev community.
+1 on Spotify memory/CPU bloat
We also integrated Spotify into Pragli to show “show your status”. If I can see that you’re listening to Spotify, you could be heads down but you’re definitely not on a call. Also could be useful as a social signal if you decide to decide to add a social component to your app
Not Spotify, but for Pandora nothing beats pianobar[1]. I've been using it for years and it's just a delight. No bloated interface, simple and quick to use.
Oh man, Pandora is still around? It was my favorite online radio for so long starting in 2007, but they made it increasingly difficult to access their service from Europe and they never did roll it out here. Ended up being too much effort. Still miss it though.
It's the perfect operating system. A shame it's missing a good text editor.
More seriously, though: the heaviest of my Emacs processes right now is at around 28k of resident memory, while Rambox (Electron wrapper around Gmail and GCal, among potentially other things) is at 395MB + 195MB (presumably for the Gmail and GCal tabs) + some other more negligible subprocesses, and Slack is at 265MB. Total virtual/mapped memory is much higher for all of those (Emacs is still the lowest, at 541MB for the biggest process, while Rambox's are around 1GB each and Slack's is at a "mere" 20.8GB).
Granted, my Emacs processes are doing a bit less than any of the Electron processes, but I still think you've got things the wrong way round :)
A minimal Spotify controller for the menubar/systray. I mostly play on speakers, though sometimes librespot on my desktop to avoid running the hog of the Spotify app. The main feature for me, though, is the alarm clock; I set a raspberry pi to push a new release playlist to one of my speakers every morning.
This actually implements the reverse-engineered Spotify protocol and authenticates as a Spotify Connect device. To avoid Spotify being mad and potential legal problems, they implemented artificial limitations that block you from extracting the audio files unencrypted or using premium features on free accounts. A skilled Rustecean could probably deal with those pretty quickly, though.
30 comments
[ 0.31 ms ] story [ 74.4 ms ] threadI'll try this out later.
`spotify-tui` uses the Spotify Web API, which doesn't handle streaming itself, so as of now you'll need a spotify client that handles streaming.
In the future, I'll see if I can integrate this into the project for a more complete package.
My main issue with the snap install (debian) browsing for songs became slow initially. The UI will be there but it'll just show 'no results' for basically any search until after a minute or so.
Will it ever be possible to have it work without the app open?
https://github.com/Spotifyd/spotifyd
+1 on Spotify memory/CPU bloat
We also integrated Spotify into Pragli to show “show your status”. If I can see that you’re listening to Spotify, you could be heads down but you’re definitely not on a call. Also could be useful as a social signal if you decide to decide to add a social component to your app
1: https://6xq.net/pianobar/ or https://github.com/PromyLOPh/pianobar
1: https://cmus.github.io/
Also a shoutout to xmms2: https://en.wikipedia.org/wiki/XMMS2
More seriously, though: the heaviest of my Emacs processes right now is at around 28k of resident memory, while Rambox (Electron wrapper around Gmail and GCal, among potentially other things) is at 395MB + 195MB (presumably for the Gmail and GCal tabs) + some other more negligible subprocesses, and Slack is at 265MB. Total virtual/mapped memory is much higher for all of those (Emacs is still the lowest, at 541MB for the biggest process, while Rambox's are around 1GB each and Slack's is at a "mere" 20.8GB).
Granted, my Emacs processes are doing a bit less than any of the Electron processes, but I still think you've got things the wrong way round :)
A minimal Spotify controller for the menubar/systray. I mostly play on speakers, though sometimes librespot on my desktop to avoid running the hog of the Spotify app. The main feature for me, though, is the alarm clock; I set a raspberry pi to push a new release playlist to one of my speakers every morning.
https://github.com/librespot-org/librespot
This actually implements the reverse-engineered Spotify protocol and authenticates as a Spotify Connect device. To avoid Spotify being mad and potential legal problems, they implemented artificial limitations that block you from extracting the audio files unencrypted or using premium features on free accounts. A skilled Rustecean could probably deal with those pretty quickly, though.
By the way with puppeteer you can login and intercept the bearer auth token to masquerade as the web player.
It would be cool to see separate commands for simple operations like stop, play, and skip without having to even open the tui