Giocoso Version 3.07 Released

A new version of Giocoso has been released, bringing its version number up to 3.07.

This is rather an important release, though not for particularly good reasons!

The trouble starts with the way Giocoso uses album artwork to display a nice CD cover when something is playing. To do image extraction, resizing, captioning and display of images, Giocoso relies on the ancient and wonderful program called ImageMagick. ImageMagick is a powerhouse of a program that, it turns out, comes in two, rather distinct, versions. Version 6 uses a command called 'convert' to work its wonders; in version 7, using the convert command triggers the display of a warning message about 'convert is now deprecated, use the command 'magick' instead'.

Which is all very well, but the magick command has subtly different syntax from the convert command. With convert, you could say "convert resize 400x400 image.jpg". With magick, however, you have to have mentioned the image first before you say what you want to do with it: so if you wrote "magick resize 400x400 image.jpg" the program would error and say, 'I can't find an image file called 400x400'. You must instead write the command as "magick image.jpg resize 400x400", which I guess makes perfect sense ...but the need to change command syntax ordering remains a royal pain. It means code calling ImageMagick can't just issue the same basic command prefixed by 'convert' or 'magick', depending on what version of ImageMagick it detects: the code has to be structurally different for each utility invoked.

Fortunately, up until now, I've never had to worry about this (or even realised it was an issue): all the distros on which Giocoso runs has tended to install ImageMagick Version 6 by default and thus Giocoso's particular use of the convert command has never been a problem.

And then just a day or so ago, I upgraded one of my Arch installations to use the latest KDE 6 desktop environment ...and Giocoso broke hard:

Nasty error messages left, right and centre, completely scrambling the program display -and all because the upgrade of the KDE environment appears to drag in an upgrade of ImageMagick 6 to 7, which I hadn't been expecting ...and neither had Giocoso's code been designed to work with version 7!

I imagine that this is going to be something that affects lots of distros in the near future, if they haven't been already: it would after all appear sensible to package the latest version of ImageMagick, rather than the version-before-last, as they had been doing (even though Version 6 is still under active development and fully supported).

Anyway, whether it's a sensible thing to do or not, the short version is: I've had to make Giocoso become aware of what version of ImageMagick it's running with and issue the appropriate image handling commands for that environment (convert or magick, as the case may be), and that's the reason for the Giocoso version bump now.

I also took the opportunity to make a tiny functional enhancement to mgiocoso3.sh, which is the control panel sidekick to Giocoso proper: it now has an 'N' option that allows you to make notes about a recording as it plays, instead of you having to remember to make a note about it when it's more convenient to do so! Full details in the Changelog for version 3.07.

As ever: update Giocoso by taking the Administration menu, Option 4 and following the prompts. When the update completes, quit Giocoso, ignoring any error messages that might appear, and then re-launch the program to have the updates 'picked up' and applied.

Incidentally, though Semplice Version 2 has only just been pushed out the door, it is a fact that it too will need to become ImageMagick version aware. Watch this space, therefore, as a similar upgrade to Semplice will be released within a day or two (currently undergoing testing, I'm afraid!)