aboutsummaryrefslogtreecommitdiffstats
path: root/src/queue.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* add track index to MPRISsalmonik2026-07-061-0/+3
|
* correctly working auto completion for dbsalmonik2026-06-061-1/+13
|
* fix no metadata songs handlingsalmonik2026-05-271-0/+11
| | | | format string is no longer used to represent songs that have insufficient metadata to fullfill the format string
* Add internet streams supportsalmonik2026-05-271-0/+30
|
* add licensingsalmonik2026-05-261-0/+7
|
* Fix metadata extraction for symphonia 0.6 and add Albums shuffle modesalmonik2026-05-221-23/+107
|
* fix for new symphony API and less debug info in releasesalmonik2026-05-181-32/+32
|
* first public release.salmonik2026-05-161-0/+16
|
* Add scrobbling support (Last.fm + ListenBrainz) and rsp settings reloadsalmonik2026-05-161-1/+19
| | | | | | | | | | | | - 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)
* Add display_format config, fix restart command, clean up config codesalmonik2026-05-111-0/+16
| | | | | | | | | | | - 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
* Fix shuffle to not shuffle current track - only shuffle tracks after current ↵salmonik2026-05-101-10/+7
| | | | position
* Fix album shuffle - shuffle tracks when adding in album modesalmonik2026-05-101-31/+14
|
* Add shuffle restore tests, remove debug prints, update TODOsalmonik2026-05-101-5/+17
|
* Fix queue display returning nothing - removed daemon pager, return full ↵salmonik2026-05-101-7/+16
| | | | output instead. Increase pre-buffer to 100 packets.
* Fix shuffle restore - track played tracks via shuffled_indices, not positionsalmonik2026-05-091-8/+21
|
* Fix shuffle none - keep played tracks in placesalmonik2026-05-091-4/+15
|
* Major rewrite: play command, queue display, and shuffle modessalmonik2026-05-091-2/+83
| | | | | | | | - 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
* Pad queue display numbers with leading zerossalmonik2026-05-081-3/+4
| | | | | | display_string now takes a total parameter to compute the zero-padding width. Queue positions are formatted as 01, 02, ..., 10 instead of 1, 2, ..., 10, keeping columns aligned.
* Fix shuffle first song not being shuffledsalmonik2026-05-081-1/+3
| | | | | | | | | | | update_shuffle_indices now shuffles all indices when position is 0 (no tracks have been played yet), so the first track played is random instead of always being tracks[0]. Directory playback now uses q.current() to pick the first track, resolving through shuffled indices when shuffle is active. Also pins notify-rust version in Cargo.toml and removes PLAN.md (superseded by TODO.md).
* Extract queue module, add comprehensive tests, fix queue/play bugssalmonik2026-05-081-0/+250
• Moved Queue, Track, ShuffleMode, AudioMetadata from daemon.rs into new src/queue.rs module with public API\n• Fixed rsp play <file> interrupting active playback (now checks is_playing)\n• Fixed directory play -n/-i inserting files in reverse order (now uses .iter().rev())\n• Removed dead duplicate shuffle handler in process_command\n• Fixed queue display showing (playing) when playback is stopped\n• Added 34 tests covering navigation, shuffle, insert ordering, edge cases, display