aboutsummaryrefslogtreecommitdiffstats
path: root/Cargo.lock (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ctl: interactive shell with history, editing and completionsalmonik6 days1-0/+82
| | | | | | | | | | | `rsp ctl` opens a prompt in the spirit of bluetoothctl. Lines are parsed with the same clap definitions as the one-shot CLI, so every command and flag works exactly as it does from a terminal, `help <command>` included. Tab completes subcommands, and track/album/artist paths for `play` through `db-complete` (run out of process, keeping its 100 ms timeout away from the input loop). History lives in the state directory. Piped input falls back to a plain line loop, so `rsp ctl < commands` works without a terminal.
* audio: http streaming, opus/mkv support and stream recoverysalmonik6 days1-0/+60
| | | | | | | | | | | | | | - read http(s) urls through a MediaSourceStream instead of failing - register the libopus decoder and enable mkv/aac/isomp4 in symphonia - resample to the device rate with linear interpolation - rebuild the output stream when the backend dies instead of leaving playback silent while the daemon still reports "Playing" A dead pcm makes cpal call the error callback hundreds of thousands of times per second, so errors are only counted there and reported once when the stream is dropped. The first failure of a healthy stream is retried immediately, consecutive failures back off, and a stream that played long enough clears the failure budget.
* Relative volume via prefixing/suffixing with +/-salmonik2026-07-301-1/+1
|
* add track index to MPRISsalmonik2026-07-061-1/+1
|
* add MPRIS support and non-blocking notifssalmonik2026-07-061-1/+2
|
* Add shell path finding as a fallback.salmonik2026-06-231-1/+1
|
* change lrc lyrics display.salmonik2026-06-071-23/+23
|
* Add lyrics supportsalmonik2026-06-071-1/+1
|
* correctly working auto completion for dbsalmonik2026-06-061-1/+1
|
* Add internet streams supportsalmonik2026-05-271-1/+1
|
* add licensingsalmonik2026-05-261-1/+1
|
* bin size optimizations and queue stopping at the end of itsalmonik2026-05-261-108/+0
|
* fix for new symphony API and less debug info in releasesalmonik2026-05-181-202/+109
|
* first public release.salmonik2026-05-161-1/+1
|
* Add scrobbling support (Last.fm + ListenBrainz) and rsp settings reloadsalmonik2026-05-161-1/+88
| | | | | | | | | | | | - 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)
* aesthetic changessalmonik2026-05-151-1/+1
|
* Add display_format config, fix restart command, clean up config codesalmonik2026-05-111-96/+11
| | | | | | | | | | | - 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/+103
| | | | | | | | - 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 desktop notifications for track changes, queue end, and errorssalmonik2026-05-081-26/+646
| | | | | Uses notify-rust to send D-Bus desktop notifications from the daemon when tracks change, the queue empties, or audio errors occur.
* Fix queue bugs: play -i on empty queue, stale track replay after queue ends, ↵salmonik2026-05-071-0/+10
| | | | | | | | | shuffle preserving current position - insert_after_current: guard against panic on empty queue - play -i (now): skip position increment when queue was empty so track plays - directory last: use audio.is_playing() instead of q.current() to avoid replaying finished track - shuffle: only randomize tracks after current position
* Add unit tests in /tests directory for config, database, playback, and ↵salmonik2026-05-051-15/+118
| | | | scrobbler modules
* fix(daemon): robust auto-advance; ensure next track starts even if playback ↵salmonik2026-05-051-0/+3135
fails