7 ms·
Show HN: Spotify for the Terminal Written in Rust
- isatty 7y agoThis 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'll try this out later.
- keliris 7y agoAs a light weight alternative to the official client, you can try https://github.com/Spotifyd/spotifyd https://github.com/Spotifyd/spotifyd `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.
- Scarbutt 7y agoYou need to have the official Spotify app open in order to play songs
- yellowapple 7y agoOr spotifyd, which provides the necessary shimmage to do the streaming.
- Insanity 7y agoI 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.
- SmellyGeekBoy 7y agoMy 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...
- lucsky 7y agoThe Spotify client is indeed an ugly bloated mess but is it not based on Electron and never has been. It's using Chromium Embedded Framework (aka CEF): https://en.wikipedia.org/wiki/Chromium_Embedded_Framework https://en.wikipedia.org/wiki/Chromium_Embedded_Framework
- travolter 7y ago> You need to have the official Spotify app open in order to play songs, but you can control all your devices with this app. Will it ever be possible to have it work without the app open?
- Spivak 7y agoYes? Spotify dropped their support for libspotify a long time ago so the community had to develop their own replacement. https://github.com/Spotifyd/spotifyd https://github.com/Spotifyd/spotifyd
- arthurcolle 7y agoAside, 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.
- vnair 7y agoYes! 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
- Amorymeltzer 7y agoNot 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. 1: https://6xq.net/pianobar/ https://6xq.net/pianobar/ or https://github.com/PromyLOPh/pianobar https://github.com/PromyLOPh/pianobar
- cmrx64 7y agopianobar was quite receptive to my small patches. lovely software, definitely stretched the lifetime of pandora for me
- jplayer01 7y agoOh 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.
- snide 7y agoReminder that there is also CMUS[1] for those of us who prefer pointing to a library of MP3s. 1: https://cmus.github.io/ https://cmus.github.io/
- edgarvaldes 7y agoNow that you bring console music players to the discussion, I admit that I have never understood how to use ncmpc/ncmpcpp.
- SkyMarshal 7y agoPretend it’s like emacs or vim for music. Also a shoutout to xmms2: https://en.wikipedia.org/wiki/XMMS2 https://en.wikipedia.org/wiki/XMMS2
- sys_64738 7y agoIs this news? There’s already a Spotify client for Emacs.
- moreira 7y agoImagine living in a world where "spotify client for emacs" is supposed to common knowledge and not news. I envy you (no sarcasm!).
- scrumper 7y agoEmacs is about the only cross-platform environment I can think of that makes Electron look efficient ;)
- yellowapple 7y agoIt'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 :)
- randomcarbloke 7y agowow, no.
- mrmekon 7y agoMight as well plug my similar project here: https://github.com/mrmekon/connectr https://github.com/mrmekon/connectr 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.
- k2enemy 7y agoDoes anyone happen to know if there is an Apple music terminal client now that they have an official web UI? A quick search did not reveal anything.
- miki123211 7y agoAnother interesting one is https://github.com/librespot-org/librespot 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.
- therein 7y agoThis is very nice. I might use this. By the way with puppeteer you can login and intercept the bearer auth token to masquerade as the web player.
- sint762 7y agokinda useless
- deleted 7y ago[deleted]
- mbbennis 7y agoLate to the party, but this is super cool. This fits my workflow perfectly by letting the me change tracks without leaving the command line. It would be cool to see separate commands for simple operations like stop, play, and skip without having to even open the tui
- redraw 7y agoIs there any extra value that "it is written in Rust"?