aboutsummaryrefslogtreecommitdiffstats
path: root/src/cli.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* seek: jump within the current track from the CLI and over MPRISsalmonik6 days1-0/+11
| | | | | | | | | | | | | | `rsp seek 1:30`, `rsp seek +15`, `rsp seek -30` and `rsp seek` (print the position) drive a new AudioCommand that seeks the format reader, resets the decoder and drops the buffered samples, so the cpal stream keeps running and playback continues from the new spot. MPRIS gets a working Seek/SetPosition, reports CanSeek, and the state watcher now emits Seeked when the playhead jumps (not just on track changes), which is what clients need to move their progress bar after an external seek. `rsp status` also reports the position (and duration when known) and says Paused instead of Stopped when a track is loaded but not playing.
* delete unused path for queuesalmon2026-08-121-17/+5
|
* Relative volume via prefixing/suffixing with +/-salmonik2026-07-301-2/+2
|
* fix -a to work properlysalmonik2026-06-251-1/+1
|
* Add shell path finding as a fallback.salmonik2026-06-231-11/+127
|
* Add lyrics supportsalmonik2026-06-071-0/+5
|
* correctly working auto completion for dbsalmonik2026-06-061-19/+24
|
* dirty, broken commitsalmonik2026-06-041-1/+35
|
* play [track] [-a/--album] optionsalmonik2026-05-271-2/+13
| | | | | if supplied when a track is played, the rest of the album will be queued after the track
* add licensingsalmonik2026-05-261-0/+7
|
* no need to ship completions anymore!salmonik2026-05-261-2/+16
|
* Add scrobbling support (Last.fm + ListenBrainz) and rsp settings reloadsalmonik2026-05-161-0/+8
| | | | | | | | | | | | - Full Last.fm API implementation with MD5 signing (track.updateNowPlaying, track.scrobble) - Full ListenBrainz API implementation (/1/submit-listens for playing_now and single) - ScrobbleState in daemon tracking track, start time, and unix timestamp per play - Scrobble threshold: ≥30s play AND (≥half duration OR ≥4 min) - Duration extraction from symphonia codec params into AudioMetadata and Track - Token validation at daemon startup and on config change - ListenBrainz token valid (user: Salmonium) command to re-read config from disk (avoids token in shell history) - Desktop notifications for token validation results - Empty-credential filtering (empty string = no-op)
* Regenerate shell completions and install script fixessalmonik2026-05-131-1/+42
| | | | | | | | | - Add hidden completions subcommand to CLI (developer use only) - Regenerate all completion scripts from current CLI structure - Add elvish and powershell completion scripts - install.sh: Fix rsp stop -> rsp stop-daemon, rsp start -> rsp start-daemon - install.sh: Install completions for user's current shell - install.sh: Zsh uses /usr/share/zsh/site-functions/_rsp directly
* Add display_format config, fix restart command, clean up config codesalmonik2026-05-111-6/+6
| | | | | | | | | | | - Add display_format option with get/set/list/unset for customizing track display - Add Track::format() supporting $ARTIST, $ALBUM, $TRACK variables - Update queue, status, notifications to use display_format - Fix restart command using wrong subcommand 'start' -> 'start-daemon' - Remove socket_path from config (now computed at runtime from XDG_RUNTIME_DIR) - Consolidate duplicate save() and save_all() into single save() - Fix redundant .clone().clone() in config.rs - Add todo item for caching config in daemon hot paths
* Major rewrite: play command, queue display, and shuffle modessalmonik2026-05-091-7/+4
| | | | | | | | - Play command: no args queues to end (play only if queue empty + player playing), -i inserts after current and skips, -n inserts after current, removed -l flag - Queue display: detect terminal size, use pager only if queue exceeds terminal rows - Shuffle modes: always remember original queue, restore on 'shuffle none', album shuffle shuffles within each album's range separately
* Add toggle command to resume/pause playback and fix queue display bugsalmonik2026-05-061-0/+5
| | | | | | - Add 'rsp toggle' command to toggle between play and pause - Fix queue display showing wrong track as playing when shuffle is enabled - Update shell completion scripts for new toggle command
* Add install script, shell completions, and systemd servicesalmonik2026-05-061-1/+1
| | | | | | | | | - Add install.sh script that builds release, stops daemon, and installs binary - Add shell completions for bash, zsh, and fish - Add systemd user service unit file - Add public binary declaration in Cargo.toml - Add install command to CLI - Make current_track field public for MPRIS integration (placeholder)
* Add flexible play command with position flagssalmonik2026-05-051-2/+20
| | | | | | | | | | | | | - Add -i/--now, -n/--next, -l/--last flags to play command: - 'play MUSIC' (default) adds to end of queue and plays - 'play -i MUSIC' inserts after current and skips to it - 'play -n MUSIC' inserts after current, doesn't skip - 'play -l MUSIC' adds to end of queue (default behavior) - Add insert_after_current and track_at methods to Queue in daemon - Update play command handler to handle position arguments - Fix queue display to correctly show playing track (compare track_idx instead of display_idx with current_position)
* fix(daemon): robust auto-advance; ensure next track starts even if playback ↵salmonik2026-05-051-0/+186
fails