ncurses Spotify client written in Rust using librespot. It is heavily inspired by ncurses MPD clients, such as ncmpc. My motivation was to provide a simple and resource friendly alternative to the official client as well as to support platforms that currently don't have a Spotify client, such as the *BSDs.
NOTE: ncspot is still in a very early development stage. Things will break and change. The feature set is still very limited. Also, as this is my first contact with Rust, some design decisions may need to be reworked in the future. Contributions welcome, but please be kind ;)
libpulse-dev
(or portaudio-dev
, if you want to use the PortAudio backend)libncurses-dev
and libssl-dev
cargo build --release
F2
for the queue and F3
to
search for a track. More key bindings are described below.These keybindings are hardcoded for now. In the future it may be desirable to have them configurable.
F1
: Debug logF2
: QueueF3
: SearchReturn
and queued using Space
Shift-p
toggles playback of a trackShift-s
stops a trackq
quits ncspotFor now, a configuration file containing Spotify login data needs to be created manually, until a login-screen is implemented (https://github.com/hrkfdn/ncspot/issues/1).
The file needs to look like this:
username = "spotify_user"
password = "spotify_password"
Please save it to ~/.config/ncspot
.
By default ncspot is built using the PulseAudio backend.
To make it use the PortAudio backend (e.g. for macOS, *BSD, ..),
you need to recompile ncspot with the portaudio_backend
feature:
cargo run --no-default-features --features portaudio_backend