From 43562db0804338f2d55dff13439f1165f8dd9d3f Mon Sep 17 00:00:00 2001 From: salmonik Date: Sat, 16 May 2026 12:47:43 +0200 Subject: first public release. --- README.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..2092f2a --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# RSPlayer is a daemon driven CLI music player with scrobbling written in rust + +## Installation +``` +git clone https://codeberg.org/salmonik/RSPlayer.git +cd RSPlayer +./install.sh +``` + +install.sh will: +compile RSP (make sure you have rust properly installed!) +install shell autocompletions (zsh, bash and fish supported) +install user systemd 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, still WIP) +scan_interval (same as above) + +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 systemd service: +`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 +`volume` Set volume (0-100) +`shuffle` Shuffle mode +`queue` Queue management +`status` Show player status +`scan` Scan music paths to populate database +`settings` Settings management +`help` Print this message or the help of the given subcommand(s) + + +## Technical stuff +The main culprit of this player is lack of integration with programs such as playerctl +this is due to the daemon not being asynchronous -- cgit v1.2.3