aboutsummaryrefslogtreecommitdiffstats

RSPlayer is a daemon driven CLI music player with scrobbling written in rust

Installation

GNU/Linux

git clone https://codeberg.org/salmonik/RSPlayer.git
cd RSPlayer
./install.sh

FreeBSD

Requirements:

alsa-lib alsa-plugins

install.sh does all of the above on FreeBSD and additionally installs an rc.d service. Enable it with:

sudo sysrc rsplayer_enable=YES
sudo sysrc rsplayer_user=salmon   # the user that runs the rsp CLI
sudo service rsplayer start

FreeBSD notes: - If you have multiple sound cards, pick the output with: sysctl hw.snd.default_unit=N (persist in /etc/sysctl.conf).

install.sh will:
- compile RSP (make sure you have rust properly installed!) - install shell autocompletions (zsh, bash and fish supported) - install user systemd/rc service and activate it

Usage

configuration is generated at startup in $XDG_CONFIG_HOME/rsplayer/config.toml - most important values there are: - listenbrainz_token (last.fm scrobbling not yet tested) - display_format (supports $ARTIST $ALBUM and $TRACK) - music_paths (for DB usage) - scan_interval (same as above)
- sample_rate ("auto" follows each track's own rate, or e.g. 48000 to force one)

all other values can be changed in runtime using commands

as for commands:
RSP will be installed as rsp, in this fragment, rsp will be ommited

these commands should only be used in testing or by the init system (systemd/rc.d):
- start-daemon Start the daemon - stop-daemon Stop the daemon - restart Restart the daemon (kill existing and start new)

these are normal commands:
- play Play a track, album, or artist - pause Pause playback - resume Resume playback - toggle Toggle play/pause - stop Stop playback - next Skip to next track - previous Skip to previous track - seek Seek within the current track (absolute, +30/-30, or 1:30) - volume Set volume (0-100) - shuffle Shuffle mode - queue Show the current queue - status Show player status - scan Scan music paths to populate database - settings Settings management - ctl Interactive shell with history and tab completion (like bluetoothctl) - help Print this message or the help of the given subcommand(s)