aboutsummaryrefslogtreecommitdiffstats
path: root/TODO.md
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-02 13:12:48 +0100
committersalmonik <salmonik@tuta.io>2026-11-02 13:12:48 +0100
commit863b4017714130f042f993e7c9d0f3f8adee22bf (patch)
treee5ae8094f6be4f0c0a5332a9ca4bb95c8bf87b18 /TODO.md
parentqueue: use let chains and tidy imports (diff)
downloadrsplayer-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.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/TODO.md b/TODO.md
index 55f7d52..291a4f4 100644
--- a/TODO.md
+++ b/TODO.md
@@ -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