Giocoso - Version 2.02 now available

A minor update to Giocoso has just been released, pushing it to version number 2.02.

It's minor because it only includes a single bug-fix and one enhancement, details of which are described at the top of the Giocoso changelog. On the other hand, the bug being fixed is quite a significant one, so I wouldn't dismiss it as an unimportant bug-fix!

The short story of the bug fix is that the durations of recordings were being stored incorrectly in the database when a play finished if that play had been interrupted. Say your symphony is meant to last 30 minutes, but 3 minutes after you start it, someone rings your doorbell. You therefore Ctrl+C to interrupt playback. When you come back and resume play, version 2.01 would correctly have told you that 27 minutes of the recording remained to be played. Unfortunately, it would also store that '27' number as the duration of the entire recording in the database Plays table, once the play had completed. Version 2.02 fixes this so that whilst 27 minutes is initially displayed as remaining to be played, the full 30 minutes is now (correctly!) stored as the total length of the recording upon completion of the play.

The enhancement is also a minor one and again related to recording durations. When a Giocoso database is created or refreshed, the durations of each discovered recording are worked out and stored in the database's Recordings table. In version 2.01 and earlier, however, whenever a new play started, Giocoso would re-compute the recording's duration from scratch: the fact that a pre-computed value was there to be read from the database never crossed Giocoso's mind! If you had a recording consisting of dozens of separate tracks, working out the complete duration for the whole set of tracks in real time like this was bound to be slow, and playback would take a while to start in consequence. In version 2.02, therefore, Giocoso will first try to fetch the pre-computed recording duration from the database; only if it fails to do that will it compute the duration afresh as it always used to. The time taken to start the playback of recordings containing many tracks will therefore be shortened a little.

As ever, you can obtain the latest version of Giocoso by simply running your existing installation like so:

giocoso --checkver

Supply the sudo password when prompted and the new version should be copied over the top of your existing one.