Stamps is a terminal client for *sonic music servers, inspired by ncmpcpp and musickube.
- Browse by folder
- Queue songs and albums
- Create and play playlists
- Mark favorites
- Volume control
- Server-side scrobbling (e.g., on Navidrome, gonic)
- MPRIS2 control and metadata
These screenshots use Navidrome's demo server (config file).
- mpv
- Linux (Debian/Ubuntu):
apt install pkg-config libmpv libmpv-dev
- MacOS (Homebrew):
brew install pkg-config mpv
(not the cask)
- Linux (Debian/Ubuntu):
Compile STMPS with go build
. Cgo is needed for interfacing with libmpv.
STMPS looks for a configuration file named stmp.toml
in either $HOME/.config/stmp
or the directory containing the executable.
[auth]
username = 'admin'
password = 'password'
plaintext = true # Use 'legacy' unsalted password authentication (default: false)
[server]
host = 'https://your-subsonic-host.tld'
scrobble = true # Use Subsonic scrobbling for last.fm/ListenBrainz (default: false)
[client]
random-songs = 50
Q
: Quit1
: Folder view2
: Queue view3
: Playlist view4
: Log (errors, etc.) viewEscape
/Return
: Close modal if open
These controls are accessible from any view:
p
: Play/pauseP
: Stop>
: Next song-
/=
: Volume down/volume up,
/.
: Seek -10/+10 secondsr
: Add 50 random songs to the queue
Enter
: Play song (clears current queue)a
: Add album or song to queuey
: Toggle star on song/albumA
: Add song to playlistR
: Refresh the list (if in artist directory, only refreshes that artist)/
: Search artistsn
: Continue search forwardN
: Continue search backwardS
: Add similar artist/song/album to playlist
d
/Delete
: Remove currently selected song from the queueD
: Remove all songs from queuey
: Toggle star on song
n
: New playlistd
: Delete playlista
: Add playlist or song to queue
This is a fork of STMP. See AUTHORS for more information. The codebase has diverged significantly from the original.
To enable MPRIS2 support (Linux only), run STMPS with the -mpris
flag. Ensure you have D-Bus set up correctly on your system.
On MacOS, STMPS integrates with the native MediaPlayer framework to handle system media controls. This is automatically enabled if running on MacOS. Note: This is work in progress.
To profile the application, use the following flags:
-cpuprofile=<file>
: Write CPU profile tofile
-memprofile=<file>
: Write memory profile tofile
These flags are useful for performance debugging and analysis.
View logs and error messages in the log view by pressing 4
. This can help diagnose issues with server connections, playback, or other functionalities.
Contributions are welcome! Feel free to open issues or submit pull requests on GitHub. For major changes, please discuss first to ensure alignment with the project goals.
STMPS is licensed under the GNU General Public License v3.0 (GPL-3.0-only). This license allows you to freely use, modify, and distribute the software, provided that any distributed versions of the software, or derivative works, are also licensed under the GPL-3.0-only.
For more details, refer to the LICENSE file in the repository.