diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-02 13:12:48 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-02 13:12:48 +0100 |
| commit | 863b4017714130f042f993e7c9d0f3f8adee22bf (patch) | |
| tree | e5ae8094f6be4f0c0a5332a9ca4bb95c8bf87b18 /TODO.md | |
| parent | queue: use let chains and tidy imports (diff) | |
| download | rsplayer-863b4017714130f042f993e7c9d0f3f8adee22bf.tar.gz rsplayer-863b4017714130f042f993e7c9d0f3f8adee22bf.zip | |
state: persist the queue and pick up where playback stopped
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.
Diffstat (limited to '')
| -rw-r--r-- | TODO.md | 4 |
1 files changed, 3 insertions, 1 deletions
| @@ -1,6 +1,8 @@ | |||
| 1 | # TODO | 1 | # TODO |
| 2 | 2 | ||
| 3 | - **Persist queue state** - Save queue to disk so it survives daemon restarts. | 3 | - [x] **Persist queue state** - Queue, shuffle order and play state are written to `~/.local/state/rsplayer/state.json` and restored on start; `rsp resume` picks up a session that was paused when the daemon stopped |
| 4 | |||
| 5 | - **Resume mid-track** - Store the playback offset with the queue state and seek there on restore (needs `rsp seek`) | ||
| 4 | 6 | ||
| 5 | - [x] **Dynamic autocompletion of artists, albums and tracks** - `rsp complete <entity> [prefix]` queries DB directly; zsh completion wrapper concatenated via install.sh | 7 | - [x] **Dynamic autocompletion of artists, albums and tracks** - `rsp complete <entity> [prefix]` queries DB directly; zsh completion wrapper concatenated via install.sh |
| 6 | 8 | ||
