v1.4.1
rox 1.4.1 is a durability release: playlists and play history now survive their files leaving and coming back, and the thumbnail cache stores each cover once.
Playlists and history follow their files
A file missing at scan time loses its library row, and until now anything pointing at it stayed orphaned when the file returned: the playlist entry went silent, the play count restarted at zero. Every playlist entry and listen now remembers the file's path alongside its tags, and after each scan rox matches orphaned entries back to the library - by that path first, then by the tags when they name exactly one track. An ambiguous match never guesses. Unplug a drive, delete and restore an album, reorganize your folders with the app closed: your playlists and play counts find the files again, even at a new path. Existing playlists and history pick this up automatically, no re-add needed.
A track that left the library but whose file is still on disk also keeps its cover in playlist and history rows now, instead of going blank.
One cover, stored once
The thumbnail cache kept a copy of the cover per track, so an album of twelve tracks carried twelve identical JPEGs and paid twelve decodes. Covers now pool by content: any number of tracks sharing an image store it once, and only the first sight of a cover pays the decode. Existing caches migrate in place on first launch, and images nothing references anymore are swept on the next one.
Also
- The README benchmarks were redone through a single measurement harness across seven players (startup, load time, memory, idle CPU), and the page gained a feature rundown, download instructions, and the command line flags.
Full Changelog: v1.4.0...v1.4.1