v0.2.0: Device menu — sync a playlist to the Rabbit R1
New Device menu (left of Track) with "Sync Playlist to Rabbit", enabled only when a playlist is showing and the Rabbit is plugged in. The Rabbit mounts over MTP/gvfs (not mass storage), so device_sync.py drives it with plain file I/O honoring the MTP caveats: no copystat, diff by name+size. One-way mirror into Music/<Playlist>/ on the device — stale files deleted (that folder only), Auxio-importable .m3u carries the order, free space checked up front with a needed-vs-available alert, and a right-justified status-bar progress bar tracks the chunked copies. Verified live against the real Rabbit end to end. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,40 @@
|
||||
Legend: `[ ]` todo · `[~]` in progress · `[x]` done.
|
||||
When a round closes, move its finished items to `tasks-done.md`.
|
||||
|
||||
|
||||
|
||||
# tasks
|
||||
|
||||
- [ ] ability to delete songs from library
|
||||
- [ ] archive the done tasks in here to another file, this is crufty....
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# old
|
||||
|
||||
## Round 26 — Device menu: sync playlist to Rabbit R1 (v0.2.0)
|
||||
|
||||
- [x] Device menu (left of Track) with "Sync Playlist to Rabbit"; grayed out on
|
||||
the Library view, while syncing, or when no Rabbit is plugged in.
|
||||
- [x] `device_sync.py`: MTP/gvfs detection (the Rabbit mounts via MTP, not mass
|
||||
storage), name+size incremental diff, stale-file deletion scoped to the
|
||||
playlist's own folder, Auxio-importable `.m3u`, chunked-copy worker thread.
|
||||
- [x] Up-front free-space check with a needed-vs-available alert.
|
||||
- [x] Right-justified sync progress bar in the status bar (version left,
|
||||
totals middle, sync right).
|
||||
|
||||
Tests in `tests/test_round26.py`. Feature round → minor bump **0.2.0**.
|
||||
|
||||
## Round 25 — folder highlight while dragging a playlist (v0.1.6)
|
||||
|
||||
Tests in `tests/test_round25.py`. Fix round → patch bump **0.1.6**.
|
||||
|
||||
Reference in New Issue
Block a user