Dropbeat 50.0.0: fullscreen album art and GNOME 50

GNOME 50 support, a fullscreen now-playing view, control over remote album-art downloads, and smoother track changes.

Note: GNOME Extensions distributes 50.0.1. Both versions are the same besides for source changes.

Dropbeat was originally inspired by Apple CarPlay and Android Auto now-playing screens. I've now added a fullscreen view which lets you turn your whole monitor into this display.

Album art can take over the screen

Click the cover in Dropbeat and it now opens a fullscreen now-playing view. The current cover sits over a blurred, darkened version of itself, with the track and artist underneath. It changes when the song changes, and a click or the Escape key closes it.

The fullscreen window is not a whole 'nother music player, but simply a display with no controls. You can still use media keys to control the music, and the screen updates to track or art changes.

Better handling for real-world cover art

Album art is not always a neat square. Some players hand over wide images, transparent PNGs, or a web URL instead of a local file. Dropbeat now center-crops non-square covers and gives transparent artwork a more predictable background. Track labels update immediately while the image work finishes, so changing songs feels much less sluggish.

There is also a new Fetch Album Covers switch under Preferences. It is enabled by default. Turn it off and Dropbeat will not download HTTP or HTTPS cover URLs supplied by your media player. The only reason this extension would ever use the network is to fetch album covers so I've added a nice switch to disable it if wanted.

GNOME 50 and smoother experience

This release supports GNOME 50 while keeping GNOME 48 and 49 support. I also fixed an annoying multiple-player case: if the player currently shown by Dropbeat closes, the extension now moves to another available player instead of disappearing from the panel.

Welcome screen

Dropbeat needs ImageMagick for cover cropping and blurred backgrounds. If it is missing, the extension now tells you on first run and shows the install command for Debian, Ubuntu, Mint, Fedora, Arch, Manjaro, and openSUSE.

An external dependency is an extra step, so I wanted the extension to explain it up front instead of leaving people to diagnose it from logs.