Selective Runtime Parameters


In Giocoso version 2, all selective parameters can be used with all the others, simultaneously. If you want to 'play previously-unplayed recordings by Britten that last between 20 and 40 minutes', you can do that now, by constructing a selective filter of --composer=britten --unplayedworks --minduration=20 --maxduration=40. The five principal filters (composer, performer, comment, genre and composition) can each be 'negated' by adding an asterisk to their parameter value. Thus --genre=choral --composer=beethoven* would mean 'play choral works by anyone other than Beethoven'. Unplayed and duration filters cannot be negated, mostly because it doesn't make logical sense to do so!

These parameters all have to do with controlling or filtering the randomised playback that Giocoso typically performs when running in Database Playback Mode. They allow you to do things like say 'play me something by Chopin', or 'play me a Beethoven Concerto'. You can also invert the logic, so that you can say 'play me something so long as it's not a Choral work' or 'play me anything not written by Mozart'. Several of these parameters have 'sensible defaults', which are shown in the third column below.
Runtime ParameterDescriptionDefaults
--dbname=xxxxDefines which database Giocoso will read from in order to find music files to play. If not specified, a default value of 'music' is assumed (which, if it doesn't exist, will trigger the program to quit with an error message). If the parameter value contains spaces, the whole value must be enclosed within double quotes (so, for example, --dbname="My Music").music
--sourcedb=xxxxAn exact synonym for --dbname: the two parameters are functionally identical and simply different ways to tell Giocoso which database stores details of what music files exist and where they can be found.music
--playlist=xxxxPoints to a text file containing a list of folders in which music files can be found, one folder per line. This parameter must be used with --dbname=none, otherwise Giocoso will default to sourcing its next music play from a database rather than the specified playlist.
--destdb=xxxxDefines the database into which Giocoso will write a history of music plays made when in direct play mode. The parameter is entirely optional: if absent, no record of a play of music is kept. If you have specified a valid --dbname to switch on database play mode, this parameter is ignored: the source database is always the destination database in such cases. Only when there is no source database used to tell Giocoso where to find music files on disk (i.e., in Direct Play Mode) does explicitly telling it where to write a history of music plays make sense.
--selections=nDefines how many separate whole recordings Giocoso will play before quitting. The default is 1, the maximum possible parameter value is 99. If a value of more than 99 is supplied, the default of 1 is applied instead. Coupled with Giocoso's default randomised play function when in Database Play Mode, this allows Giocoso to create an essentially uninterrupted 'wall of music', lasting many hours, but constantly changing content -much like a regular Classical Music radio station.1
--timebar=nDefines a period of time (measured in hours) in which a composer cannot be re-selected for randomised playback if that composer has already had something played. If a recording of some Beethoven was selected for playing at 9AM, the default setting of this parameter would therefore ensure nothing else by Beethoven was played again until at least 3PM. The idea is to stop the constant playing of a single composer's work, simply because your collection happens to contain a lot of examples of that composer's music. The timebar can be disabled by explicitly setting the parameter to a value of 0. The maximum parameter value is 999, and 999 hours is equivalent to about 42 days. Parameter values outside the 0 to 999 value range are silently converted to the default value of 6 hours. If no timebar parameter is supplied at all, the default value applies, too.6 (hours)
--genre=xxxxSpecifies a string that Giocoso will search the GENRE tag for, in order to make a recording eligible for playing. That is, if you were to run Giocoso with --genre=mass, Giocoso will randomly select music to be played from its database, but only if those recordings have been tagged with a GENRE tag of 'mass'. Text matches are case insensitive (so "mass" will match MASS, Mass, or MaSs equally well). Text matches are also wild-carded, so that 'mas' would match 'Christmas Carols' or 'Sacred Masses'.

If you append the at-symbol (@) to the end of the parameter value, the sense is changed to mean 'not this'. IE, --genre=mass will mean 'find me masses to play' but --genre=mass@ will mean 'find me anything which is not a mass to play'.

As with all parameters that take textual values, if you need to include spaces or apostrophes, wrap the entire parameter value in double quotes (e.g., --genre="Choral Works").
--composer=xxxxSpecifies a string that Giocoso will search the ARTIST tag for, in order to make a recording eligible for playing. Note that this specifically does not search the COMPOSER tag. If you were to run Giocoso with --composer=brit, Giocoso will randomly select music to be played from its database, but only if those recordings have been tagged with an ARTIST tag containing the letters 'brit'. Text matches are case insensitive (so "brit" will match BRIT, bRit, or brit equally well). Text matches are also wild-carded, so that 'bri' will match 'Benjamin Britten' or 'Frank Bridge'.

If you append the at-symbol (@) to the end of the parameter value, the sense is changed to mean 'not this'. IE, --composer=britten will mean 'find me something by Britten to play' but --composer=britten@ will mean 'find me something to play which is not composed by Britten'.

As with all parameters that take textual values, if you need to include spaces or apostrophes, wrap the entire parameter value in double quotes (e.g., --composer="Leopold Mozart" or --composer="Vincent d'Indy").
--performer=xxxxSpecifies a string that Giocoso will search the PERFORMER tag for, in order to make a recording eligible for playing. If you were to run Giocoso with --performer=karajan, Giocoso will randomly select music to be played from its database, but only if those recordings have been tagged with an PERFORMER tag containing the letters 'karajan'. Text matches are case insensitive (so "karajan" will match Karajan, KaRaJaN, or karajan equally well). Text matches are also wild-carded, so that 'karajan' will match 'Herbert Karajan', 'Herbert von Karajan' or 'H v. Karajan'.

If you append the at-symbol (@) to the end of the parameter value, the sense is changed to mean 'not this'. IE, --performer=karajan will mean 'find me something conducted by Karajan to play' but --performer=karajan@ will mean 'find me something to play which is not conducted by Karajan'.

As with all parameters that take textual values, if you need to include spaces or apostrophes, wrap the entire parameter value in double quotes (e.g., --performer="Marissa Robles").
--composition=xxxxSpecifies a string that Giocoso will search the ALBUM tag for, in order to make a recording eligible for playing. If you were to run Giocoso with --composition=Otello, Giocoso will randomly select music to be played from its database, but only if those recordings have been tagged with an ALBUM tag containing the letters 'otello'. Text matches are case insensitive (so "otello" will match Otello, OTELLO or otello equally well). Text matches are also wild-carded, so that 'otello' will match 'Otello (Karajan - 1967)', 'Otello (Callas - 1957)' and so on.

If you append the at-symbol (@) to the end of the parameter value, the sense is changed to mean 'not this'. IE, --composition=planets will mean 'find me a recording of The Planets suite to play' but --composition=planets@ will mean 'find me something to play so long as it doesn't have the word 'planet' in its title'.

As with all parameters that take textual values, if you need to include spaces or apostrophes, wrap the entire parameter value in double quotes (e.g., --composition="Peter Grimes" or --composition="L'enfant et les sortileges").
--comment=xxxxSpecifies a string that Giocoso will search the COMMENTS tag for, in order to make a recording eligible for playing. If you were to run Giocoso with --comment=Robles, Giocoso will randomly select music to be played from its database, but only if those recordings have been tagged with a COMMENT tag containing the letters 'robles'. Text matches are case insensitive (so "robles" will match Robles, ROBLES or RoBleS equally well). Text matches are also wild-carded, so that 'Rob' will match 'Marissa Robles', 'Robert Shaw' and so on.

If you append the at-symbol (@) to the end of the parameter value, the sense is changed to mean 'not this'. IE, --comment=pears will mean 'find me something that Peter Pears is singing' but --comment=pears@ will mean 'find me something to play so long as Peter Pears is not singing in it'.

As with all parameters that take textual values, if you need to include spaces or apostrophes, wrap the entire parameter value in double quotes (e.g., --comment="Maria Callas" or --comment="The King's Consort").
--recordnumber=nSpecifies a specific recording number for Giocoso to play. The recording number is assigned by Giocoso when populating its database and can be determined by first running Giocoso with the --albumlist parameter (see below). If you know that the 1958 recording of Peter Grimes has acquired the unique recording number 1842, then the command giocoso --recordnumber=1842 is an instruction to Giocoso to play that specific recording only.

This parameter provides the only instance where Database Play Mode is explicitly non-randomised. Since the parameter is a specific instruction to play something unique, the usual timebar and excludes file bars on playback do not apply.
--unplayedTriggers a search for recordings by composers who have not previously been played at all (that is, the contents of the ARTIST tag does not exist in Giocoso's PLAYS table).

Takes no value argument.

Can be combined with other parameters, so that (for example) the filters '--comment=Callas --unplayed' would mean 'select something in which Callas is singing, written by a composer who has never been played before'. Note that for this parameter to work, composer names must appear in the ARTIST tag, as recommended by my axioms of classical tagging.
--unplayedworksTriggers a search for recordings which have not previously been played (that is, the contents of the ALBUM tag does not exist in Giocoso's PLAYS table).

Takes no value argument.

Can be combined with other parameters, so that (by way of example) the filters '--composer=britten --unplayedworks' would mean 'select something newly-acquired, written by Britten, that hasn't previously been played, even though I've played plenty of other recordings by that composer'.
--minduration=nSpecifies a number of minutes that recordings must be longer than before they are eligible for random selection to play. The default value is 0, which effectively means 'no minimum length restriction applies'. Can be combined with other filters.0 (minutes)
--maxduration=nSpecifies a number of minutes that recordings must be shorter than before they are eligible for random selection to play. The default value is 525960, which is approximately the number of minutes in a year, and therefore effectively means 'no maximum length restriction applies'. Can be combined with other filters.525960 (minutes)
--pause=nSpecifies a number of seconds to wait after one random selection has played and another begins. Requires --selections to be greater than 1 (otherwise, Giocoso simply quits when the first random selection finishes playing). There is no maximum value for this parameter, but values less than 0 will be silently converted into the default value of 10 seconds.10 (seconds)
--ignore-excludesRequires the contents of the excludes.txt (if any) to be ignored for the duration of the music playing session. The excludes.txt contains a list of composers (one name per line) whose music you do NOT want to be randomly selected for play. The new parameter makes it possible to act as if no such file existed, but only temporarily. Used by default whenever the 'play music with filters' option is taken from the new menuing interface (that is, using Option 2).Introduced in version 2.01

[Back to Front Page]|[Back to Parameter Front Page]|[Administrative Parameters]|[Appearance Parameters]|[Reporting Parameters]