1.0 License (or Licence)
If you launch Giocoso with the --license (or --licence) runtime parameter, the program will fetch and display the GNU General Public Licence Version 2 under which Giocoso is licensed. All other runtime parameters you might accidentally (or otherwise!) throw onto the command line are silently ignored. Thus, this command:
giocoso --license
...yields this response:
...which will flash on the screen very briefly before giving way to this:
The license text can be scrolled through in either direction. When you have read enough, type the letter q to quit. Section 2(c) of this license requires "telling the user how to view a copy of this License" -and the --license runtime parameter is Giocoso's way of fulfilling this requirement.
2.0 Debugging
If Giocoso ever seems to be doing weird things (such as playing 20-minute long pieces of music when you've got a --minduration=40, or playing Beethoven when you're certain you've added him to the excludes.txt), it can sometimes prove helpful to see, precisely, what is going on 'under the hood'. Putting Giocoso into 'debug mode' lets us do precisely this, and that's done with the --debug runtime parameter does. You tack it onto the end of whatever command you'd commonly use to launch Giocoso. For example, if I usually ran Giocoso with the command:
giocoso --dbname=main --maxduration=90 --unplayedworks
...then I'd put my normal Giocoso session into debug mode by issuing this command instead:
giocoso --dbname=main --maxduration=90 --unplayedworks --debug
...and the output I'd get at this point would be something like this:
At the top of the screen is a long list of variables that Giocoso uses to process things correctly, along with their current values. Underneath that is the select query that Giocoso is using to randomise its search for a new piece of music to play. In the example shown above, you can see that the query says, in part, 'composer not in Beethoven, Bach, Mozart or Haydn' -which happen to be the four composers who are currently in my excludes.txt; the 'playdate must be greater than now -6 hours' bit tells me I'm running with a default timebar and so on.
Once this data has been displayed, the system pauses, waiting for you either to press Ctrl+C to quit completely, or to press [Enter] at which point normal music playback will resume.
Debug mode is not something you'll willingly want to use very often, I think! But if you ever email me for help/support on why something seems not to be working correctly, you can be sure that I am likely to ask you to submit a debug report before I pursue things too far!