
Show HN: Spotify for the Terminal Written in Rust - keliris
https://github.com/Rigellute/spotify-tui
======
miki123211
Another 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
This 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.

------
Amorymeltzer
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.

1: [https://6xq.net/pianobar/](https://6xq.net/pianobar/) or
[https://github.com/PromyLOPh/pianobar](https://github.com/PromyLOPh/pianobar)

~~~
jplayer01
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.

------
snide
Reminder 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
Now that you bring console music players to the discussion, I admit that I
have never understood how to use ncmpc/ncmpcpp.

~~~
SkyMarshal
Pretend 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)

------
isatty
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'll try this out later.

~~~
Insanity
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.

~~~
SmellyGeekBoy
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...

------
mrmekon
Might 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.

------
arthurcolle
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.

------
travolter
> 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
Yes? 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)

------
vnair
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

------
mbbennis
Late 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

------
k2enemy
Does 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.

------
redraw
Is there any extra value that "it is written in Rust"?

------
sys_64738
Is this news? There’s already a Spotify client for Emacs.

~~~
scrumper
Emacs is about the only cross-platform environment I can think of that makes
Electron look efficient ;)

~~~
yellowapple
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 :)

