Standalone Mode
We can finally call ourselves a "music player" now, heh.
- New: Builtin MPD server orchestration for a normal music player-like experience. This is achieved by running
mpdas a subprocess with a managed configuration file and private state, DB and playlist paths. Connection to said subprocess is done via a managed Unix socket so as to avoid taking up any TCP port on your system. As long as you havempdinstalled locally and in$PATH, Euphonica can borrow it. This does not hijack your existing systemd service. Euphonica only shares the executable and runs its own instance. - New: A (relatively) rich GUI-based MPD configurator for its own instance. Does not support import/export yet as we only implement a subset of the whole config language (many things are unnecessary for our intents and purposes).
- Change: more pages added to the onboarding guide to help new users pick a mode (Standalone or Client).
You're invited to read the notes & view screenshots in #354 for more information.
Notes to package maintainers: Please add MPD as a dependency from now on, and spin off an MPD-less package with -client or some other suitable prefix (see Arch Linux precedent).
Notes to AUR users: If you've been using the euphonica package by supermario, you should be set. If you're using euphonica-git, the next update will install mpd. Should you want to keep it off your system (for example if you're exclusively connecting to a remote MPD server), please switch to euphonica-client-git.
Euphonica remains GPL3.0-licensed as it and MPD are still separate programmes communicating via a pipe (see the mere aggregation clause).
Visualiser
- Change: Visualiser now uses asymmetric sliding-window averaging to capture transients better.
- Fix: incorrect FIFO visualiser behaviour.
Other changes
- Change: rotating artwork now uses trilinear filtering for a less noisy look.
- Fix: lyrics deletion now works correctly.
- Fix: a big memory leak on closing window in background mode. Long-lived Euphonica instances should no longer gobble up RAM now.
- Fix: various console warnings regarding UI elements, might also fix crashes on Macs running Asahi Linux.
Pull Requests
- Redesign onboarding library type selection by @aaravrav in #355
- Add Nix flake by @aaravrav in #356
- Run
cargo fmtby @catap in #359 - Fix a few issues by @htkhiem in #361
- fix: correct minimized option flags by @aaravrav in #362
- fix: seekbar GTK criticals by @aaravrav in #363
- fix: handle missing durations in LRCLIB results by @aaravrav in #364
- fix: apply upstream webp workaround to flake dev shell by @aaravrav in #365
- feat: use trilinear filtering for rotating artwork by @aaravrav in #366
- docs: update nixpkgs package maintainers by @aaravrav in #367
- fix: preserve preferences page layout manager by @aaravrav in #369
- fix: fit artist header at minimum window width by @aaravrav in #370
- fix: size marquee labels correctly by @aaravrav in #371
- Add automatic MPD server management by @htkhiem in #354
Full Changelog: v0.99.7-beta-1...v0.99.8-beta