Today, I'm releasing another new version of AMP (this one is version 1.12) with a slightly-tweaked ability to use override switches to control the randomness of what gets played.
Specifically, version 1.09 introduced the ability to specify a --genre= OR a --composer= switch to force AMP to randomly select a work that falls into a specific genre, or that was written by a specific composer.
The new version 1.12 feature is that you can now specify a --genre= AND a --composer= switch at the same time. If you feel like an afternoon of Beethoven symphonies or Haydn masses, for example... then you can now say "--genre=symphonic --composer=beethoven" or "--genre=choral --composer=haydn". What gets selected is still random, but will match both those two criteria. Previously, the composer switch would have taken preference and the genre one would have been silently ignored.
Fundamentally, the reason for the new combo option is that I felt like playing Bruckner symphonies one day and Britten operas the next. Without the ability to specify both components, I'd get some Bruckner (but it might have been a mass) or some symphonies (but they might have been by Mozart); or I'd get some Britten (but it could have been the War Requiem) or some opera (but they might have been by Puccini). This way, I still get a surprise choice of something -but I at least know it will meet both criteria at once.
This is the only combo-deal on offer, however! The other overrides (--performer and --comment) cannot be used in combination with anything else. Both --genre and --composer switches remain available for singular use, too: that is, you don't have to combine them. It's still perfectly legitimate to say 'play some Beethoven (and I don't care what sort it is) or 'play some choral works (and I don't care who wrote them)' by specifying either switch on its own.
And since the new combo deal mentions 'composer', it stands to reason that, like the plain --composer switch still does, the combo ignores any excludes.txt or time-bar prohibitions that might be in force. Specific instructions to 'play some Beethoven', make no sense if we then say 'but the excludes.txt says not to play Beethoven' or 'we played some Beethoven less than 4 hours ago... let's not play any more for a while!' Specific instructions to play X always override other factors that would normally prevent us playing X, in other words.
I should mention also that I discovered a bug in the use of the --comment switch that meant it was always interpreted negatively! If you said --comment=callas, for example, that would guarantee that some music would play that would not involve Maria Callas. Which was a stupid oversight on my part, due to the over-enthusiastic use of copy-and-paste, so that's now fixed. Version 1.12 is thus worth having, even if you never envisage a need for using the combo deal yourself!
As ever, the upgrade is done simply by downloading the new version from the Technical Articles page, into your $HOME/Downloads folder, and then issuing these commands afterwards:
chmod +x $HOME/Downloads/amp.sh sudo mv $HOME/Downloads/amp.sh /usr/bin