A terminal client for *sonic music servers. Inspired by ncmpcpp and musickube.
I'm now working with @spezifisch's fork. I've submitted a number of patches; this fork contains all of those, and I plan to keep this in sync with any of @spezifisch's changes.
- browse by folder
- queue songs and albums
- create and play playlists
- favorites
- volume control
- server-side scrobbling (e.g. on Navidrome, gonic)
- MPRIS2 control
These are using Navidrome's demo server (config file).
Queue:
Browser:
mpv:
- Linux (Debian/Ubuntu):
apt install libmpv libmpv-dev
- MacOS (Homebrew):
brew install mpv
(not the cask)
Go build dependencies
On OSX if you installed mpv with brew you may need to set the following paths (these differ between Intel and ARM Macs):
export C_INCLUDE_PATH="$(brew --prefix)/include:$C_INCLUDE_PATH"
export LIBRARY_PATH="$(brew --prefix)/lib:$LIBRARY_PATH"
stmp should compile normally with go build
. Cgo is needed for linking with libmpv.
stmp looks for a config file called stmp.toml
in either $HOME/.config/stmp
or the directory in which the executable is placed.
[auth]
username = 'admin'
password = 'password'
plaintext = true # Use 'legacy' unsalted password auth. (default: false)
[server]
host = 'https://your-subsonic-host.tld'
scrobble = true # Use Subsonic scrobbling for last.fm/ListenBrainz (default: false)
- Q - quit
- 1 - folder view
- 2 - queue view
- 3 - playlist view
- 4 - log (errors, etc) view
- Escape/Return - close modal if open
These are accessible in every view.
- p - play/pause
- P - stop
- > - next song
- -/= volume down/volume up
- ,/. seek -10/+10 seconds
- r - add 50 random songs to the queue
- Enter - play song (clears current queue)
- a - add album or song to queue
- y - toggle star on song/album
- A - add song to playlist
- R - refresh the list (if in artist directory, only refreshes that artist)
- / - Search artists
- n - Continue search forward
- N - Continue search backwards
- d/Delete - remove currently selected song from the queue
- D - remove all songs from queue
- y - toggle star on song
- n - new playlist
- d - delete playlist
- a - add playlist or song to queue