| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | seek: jump within the current track from the CLI and over MPRIS | salmonik | 6 days | 1 | -21/+50 |
| | | | | | | | | | | | | | | | `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. | ||||
| * | state: persist the queue and pick up where playback stopped | salmonik | 6 days | 1 | -3/+3 |
| | | | | | | | | | | | | The queue, its shuffle order and whether playback was running are written to ~/.local/state/rsplayer/state.json whenever they change, and on shutdown, then restored at daemon start. Tracks that disappeared from disk are dropped instead of failing on play. `rsp resume`/`rsp toggle` now start the restored track when nothing is loaded into the engine yet, which is the state right after a restart with a queue that was paused. | ||||
| * | mpris: report trackid as an object path, drop artUrl, track loop status | salmonik | 6 days | 1 | -22/+203 |
| | | | | | | | An empty artUrl is not a valid URI and makes some clients render a broken image, and the repeat button snapped back to "None" because LoopStatus was not stored. | ||||
| * | Fix synchronous HTTP calls | salmonik | 2026-07-30 | 1 | -14/+8 |
| | | |||||
| * | add track index to MPRIS | salmonik | 2026-07-06 | 1 | -1/+4 |
| | | |||||
| * | add MPRIS support and non-blocking notifs | salmonik | 2026-07-06 | 1 | -0/+467 |
