FerrumPlay 0.7.0
·
0 commits
to 8eb5625695c3393b8a8d08c024a75e3482c98ea9
since this release
- The Lyrion album overview can now be sorted: recently added, artist/year, album, or year/album,
each ascending or descending. The server sorts wherever it can — it knows the library's sort
names and files “The Beatles” under B. Two of its limits are worked around: it cannot sort by
album title at all, so that order is applied locally, and “recently added” only ever returns as
many albums as the server's ownbrowseagelimitallows, which the status line says out loud
instead of pretending it is the whole library. Descending is not a server option either and is
applied to the fetched list. - Added a favorites filter to the Lyrion overview and a star badge on every album tile that also
changes the status. Favorites live on the server, so the change is there immediately and in
every other Lyrion client. - Added a favorites sync: one button in the Lyrion view mirrors the albums marked as favorites
into a folder of your choosing, and the target folder is the only thing to configure. The files
come from the server over HTTP, so the library itself is never touched — not even read — and no
mount or rsync is needed. Only what is missing or has changed is transferred, compared by size
and modification time, and anything in the folder that is no longer a favorite is removed,
empty directories along with it. - The favorites sync now belongs to the application instead of the Lyrion view, and it says what
it is doing. The view is rebuilt every time it is opened, so a running sync used to become
invisible the moment you glanced at the playlist — and the next click started a second run on
the same folder, with both runs fetching into the same.partfile and deleting by the plan each
had made for itself. The run now survives the view: reopening it shows the running sync, its
progress and its result. Progress and result have their own line under the status line, so
re-sorting, filtering or opening an album no longer wipes them, and the result stays readable
until it is dismissed. - Fixed: a sync that had never been cancelled reported “Sync cancelled”.
HttpClientreports its
own timeout as a cancelled operation, and the whole library listing — some 20 MB — went through
the short timeout meant for library queries. The bulk queries now have their own long timeout,
and a timeout is told apart from a cancellation and named as such. - Fixed: the sync did its planning on the UI thread — reading the details of thousands of files,
walking the whole target folder and parsing 20 MB of JSON — so the window stood still for the
duration. It now runs on a background thread. - Cancelling the sync is acknowledged straight away instead of leaving the last progress line
standing, and a cancelled run reports what it had already fetched and removed. - Favorite entries with no matching album — renamed, re-tagged or deleted since they were
bookmarked — can now be taken out of the server's favorites. The button appears on the sync line
once a run found any, and asks first, listing every entry by name. The music itself is never
touched. - Fixed: “N failed, see log” and the note about unresolvable favorites pointed at a log that is off
unless the application is started with--debug. Sync failures are now always written. - The Lyrion overview now loads the library in one go instead of page by page. The server hands
over 6500 albums in a fraction of a second, the scrollbar is honest from the start, and sorting
or filtering no longer has to ask the server again. - Fixed: while a Lyrion track was playing, MPRIS sent no cover at all, so Waybar and notifications
showed none. The artwork of a streamed track is now cached as a file like an embedded cover. - Fixed:
xesam:urlmangled the address of a Lyrion stream into an unusable
file:///https%3A///…instead of passing the stream URL through. - The Lyrion settings no longer show the client-name field. It never had any effect: FerrumPlay
plays the server's files itself and does not register as a player.