Giocoso - A New Randomising FLAC Player

Today, I'm announcing the initial release of Giocoso, the randomising FLAC player for Linux, which is a replacement for my old AMP program. Giocoso is built on much the same code-base as AMP, but with quite a few changes. The most significant differences between Giocoso and AMP are, probably:

  • AMP scrobbled by default and had to be told not to; Giocoso does not scrobble by default, and has to be told to do so if it's required.
  • AMP scrobbling required the installation and running of a separate 'amp-scrobbler' script. Giocoso uses no external functionality to scrobble: it's all built-in to the main program.
  • AMP had acquired a bunch of 'statistical overrides' (such as --levelup, --xlevelup and --xxlevelup); those are now gone from Giocoso.
  • AMP could only apply --minduration and --maxduration filters after selecting something to play. This could result in a significant pause before stumbling across something randomly selected that happened to have the correct duration. Giocoso now knows the durations of pieces from the get-go, so duration-based selections are done successfully within fractions of a second.
  • AMP only displayed album art; when Giocoso displays album art, it adds a 'caption' to it, with its text derived from the ALBUM tag of the music being played: the album art can therefore now visually provide you with all information about what, precisely, is being played.

There are lots of other differences, detailed in Appendix A of Giocoso's User Manual, which is available for download on Giocoso's new product page[...] 

Continue Reading

AMP Per-Cycle Pause

Today, I'm releasing yet another new version of AMP (version 1.28 if you're keeping count).

It's main reason for existence is that it contains a new feature: you have been able to get AMP to do multiple 'cycles' of play since the very earliest versions, by setting the --selections=x run-time parameter. Replace 'x' with 2, for example, and AMP will randomly select one piece of music to play, play it from start to finish, then pick a second piece of music and play it from start to finish, and only then stop playing anything further. [...] 

Continue Reading

Another AMP Release

Just a day or two after the last one, there's a new AMP release (version 1.27). I am heroically trying to reduce the rate of version releases, I hasten to add! But if I come across a bug that needs fixing, my hands are rather tied to making the fixes available as soon as possible!

Sure enough, whilst this releases introduces a useful new feature, it also fixes a quite significant bug I just encountered. [...] 

Continue Reading

AMP Version 1.26 Released

Just a quick note to mention that I've today released a new version of AMP: version 1.26.

The new version contains a couple of new features, rather than any bug-fixes (for once!). Firstly, I've increased the maximum time-bar for a composer to 999 hours (up from the previous maximum of just 9 hours). That's approximately 42 days, so by running amp --timebar=999, you are effectively saying 'don't randomly select a composer for a new play that has previously had anything played within the past month or so'. Added as a new feature largely because I kept being offered Beethoven things to play and there's only so much Beethoven a man can take one month at a time! [...] 

Continue Reading


Yeah, I know I promised last time no more tinkering with AMP and the next release would be called version 2.

But version 1.22 is out anyway, representing a tiny, tiny, puny little bug-fix! [...] 

Continue Reading

AMP: Are we there yet?

I am aware that as new AMP feature follows new AMP feature, it can feel like a never-ending ride to who-knows-where, prompting the 'Oh God, not another one!' reaction, as well as the 'Will it never end?' one -as well as the one alluded to in the thumbnail at the right!

For the record, I think we are closing in on a feature-complete AMP that needs no major bug-fixes nor has use for substantial new pieces of functionality. [...] 

Continue Reading

Another round of AMP enhancements...

Let's start with a warning: this is quite a long post and covers quite a lot of ground! I don't normally 'section up' my posts, but I will on this occasion, to try to make things clearer. So, this time we have:

  • Two new override switches for AMP
  • The removal of a switch
  • The fixing of quite a nasty bug
  • The introduction of a new composition-specific selection switch
  • An increase to the number of play 'selections' you're allowed

Taking each of those in turn, therefore... [...] 

Continue Reading

Duration-based Plays

Another week, another new version of the Absolutely Baching Music Player (AMP to its friends). We move from 1.10 to 1.11... and the new release contains two basic new features being introduced!

First, a new run-time parameter is provided called --artsize=xxx. The 'xxx' values permitted are 'small', 'medium' and 'large', with 'medium' being the default if the parameter is not supplied at all, or if it's supplied with an otherwise invalid value. [...] 

Continue Reading

Another new AMP version

A few days ago, I reported that I had finally re-balanced by 'plays': my top ten composers were no longer so dominant in my history of composition plays as they had once been.

I mentioned then that I had, by way of response, been able to remove my 'top ten' from the excludes.txt which prevented AMP from playing anything by those composers. I had hoped that, in response, AMP would start playing at least something of my top ten! Sadly, the maths is against them still: if there are 500 composers in a collection, then the odds of any of the top ten being picked for a random play is 1 in 50, or about 2%. I wouldn't want to bet on a horse with those odds! [...] 

Continue Reading

AMP and CCDT Updates

Another couple of software updates to announce.

AMP is bumped to version 1.08. The code changes are mostly minor and cosmetic and to do with displaying a count-down timer indicating when play of the currently-playing music will end. Slightly unfortunately, a side-effect of this new time display is that if you were to Ctrl+Z to pause play, the countdown timer would be wrong on playback resumption, and two pieces of music would play simultaneously when the resumed piece gets near its end. I may revisit this in the future, but for now, I've just disabled Ctrl+Z completely. If you want to pause playback, hit Ctrl+C and terminate it completely (which actually was my original design goal anyway!) [...] 

Continue Reading