<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.bbritten.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.bbritten.com/feed.php">
        <title>BBritten.com - softwares:giocoso</title>
        <description>A Voyage Around My Ears</description>
        <link>https://www.bbritten.com/</link>
        <image rdf:resource="https://www.bbritten.com/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-04-03T19:44:27+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.bbritten.com/softwares/giocoso/changelog"/>
                <rdf:li rdf:resource="https://www.bbritten.com/softwares/giocoso/gioinstall"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.bbritten.com/_media/wiki/dokuwiki.svg">
        <title>BBritten.com</title>
        <link>https://www.bbritten.com/</link>
        <url>https://www.bbritten.com/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://www.bbritten.com/softwares/giocoso/changelog">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-01T09:06:19+00:00</dc:date>
        <dc:creator>hjr (hjr@undisclosed.example.com)</dc:creator>
        <title>changelog - [Giocoso Version 3.38 - No current scheduled date] </title>
        <link>https://www.bbritten.com/softwares/giocoso/changelog</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;giocoso_version_3_changelog&quot;&gt;Giocoso Version 3 Changelog&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/beethoven99.png?w=220&amp;amp;tok=22e484&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;220&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
The Changelog will record code changes to the release version of Giocoso Version 3 as they are themselves scheduled and, eventually, released.
&lt;/p&gt;

&lt;p&gt;
Changes are listed in reverse chronological order (i.e., the most recent releases appear first). 
&lt;/p&gt;

&lt;p&gt;
For the most part, the main user manual for Giocoso will not be updated to take account of program changes that the Changelog details. You need to read the user manual &lt;em&gt;in conjunction with&lt;/em&gt; this Changelog to get a full understanding of the &lt;em&gt;current&lt;/em&gt; program functionality and its capabilities. 
&lt;/p&gt;

&lt;p&gt;
Sometimes, I may go back and modify the user manual when changes appear to me to represent significant differences from the way the program was behaving when the documentation was originally written, but this is definitely not guaranteed.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3 Changelog&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_3_changelog&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-882&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;giocoso_version_338_-_no_current_scheduled_date&quot;&gt;Giocoso Version 3.38 - No current scheduled date&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Fix&lt;/em&gt;&lt;/strong&gt;: Last release introduced a logo picture size parameter, governing the size of the &amp;#039;Beethoven with Headphones&amp;#039; image and defaulting it to 220&amp;times;220 pixels. On reflection, that is probably much too big for most standard monitor displays, so this release changes the default to 110&amp;times;110 pixels. It remains possible, of course, to set it to any square size you like: it&amp;#039;s just the &lt;em&gt;default&lt;/em&gt; size which changes.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Code modification&lt;/em&gt;&lt;/strong&gt;: Of no practical difference at all, the pieces of code which ensure new shell scripts are downloaded during updates of existing installations has been moved from one shell script to another. It works in exactly the same way as before, but is just differently located.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.38 - No current scheduled date&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_338_-_no_current_scheduled_date&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;883-1657&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;giocoso_version_337_-_march_31st_2026&quot;&gt;Giocoso Version 3.37 - March 31st, 2026&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: The report on composers not played in past 60 days (Reporting menu, Option A) has been enhanced slightly with an additional column showing the number of &lt;em&gt;days.&lt;/em&gt; since that composer&amp;#039;s last play (previously, only a last-played calendar &lt;em&gt;date&lt;/em&gt; was shown: this is now also converted into a &amp;#039;number of days since now&amp;#039; display).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug-fix&lt;/em&gt;&lt;/strong&gt;: There has long been an ARTSIZE parameter to control how large album artwork embedded into a set of FLACs should be displayed as music plays. It is expressed as a single number (say, 580) which is then treated as an instruction to resize the artwork to be displayed at 580 pixels wide by 580 pixels tall. Poor syntax implementation meant, however, that the resizing was not performed correctly in &lt;em&gt;both&lt;/em&gt; dimensions, but only in one. That has now been fixed. You will still end up with square imagery, sized in both dimensions to the one number of pixels specified in the configuration settings and with (deliberately!) no regard for aspect ratios; it will just now be done correctly!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: Two new persistent configuration parameters have been added to the configuration screen options: “Program Logo size” (defaults to 220 pixels) and “Program Logo position” (defaults to 0). This last parameter is entered as a negative [to move left] or positive [to move right] integer. For example, an entry of “-2” means &amp;#039;position the logo two characters to the left of its programmed starting position&amp;#039;. These parameters have been necessitated by the realisation that Retina and non-Retina displays render things very differently… and what looks perfect on my iMac looks awful on my Lenovo laptop! Tweaking these two parameters allows you to make the program look good no matter the screen you&amp;#039;re running on.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancement&lt;/em&gt;&lt;/strong&gt;: The software licence is now viewable within a dialog form, rather than with the &lt;strong&gt;less&lt;/strong&gt; utility.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Significant Enhancement / Bug-fix&lt;/em&gt;&lt;/strong&gt;: The logic for doing default searches of music to play (Option 1 on the Play Music) has been significantly revised. As explained &lt;a href=&quot;https://www.bbritten.com/blog/giocoso_random_music_selection_logic_bomb&quot; class=&quot;wikilink1&quot; title=&quot;blog:giocoso_random_music_selection_logic_bomb&quot; data-wiki-id=&quot;blog:giocoso_random_music_selection_logic_bomb&quot;&gt;in this blog piece&lt;/a&gt;, there was a bit of a logic bomb lurking in Giocoso&amp;#039;s random selection code. By ranking per-composer recordings &lt;em&gt;before&lt;/em&gt; deciding whether any recording qualified, on configured selection grounds, to be played, Giocoso was making it very hard for an eligible recording to be actually selected. The code change now makes all eligible recordings capable of selection, meaning that Giocoso will now more easily find a diverse set of qualifying recordings to play. In plain English, Giocoso&amp;#039;s random selection was previously failing to find things to play when it could and should have because it was doing things in a logically over-restrictive way. Now, that won&amp;#039;t be the case.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Modification&lt;/em&gt;&lt;/strong&gt;: The &lt;em&gt;Pro&lt;/em&gt; menu used only to be visible if you&amp;#039;d configured the IP address of a MySQL database that was acting as a Pro database. Now, the Pro menu &lt;strong&gt;item&lt;/strong&gt; is visible all the time, no matter what you&amp;#039;ve configured… but you won&amp;#039;t actually be able to move into the Pro menu unless your configuration is set to point to a Pro database. In other words, if you are sitting on the top &amp;#039;Administration&amp;#039; item, you&amp;#039;ll always &lt;em&gt;see&lt;/em&gt; something labelled “Pro”. If you haven&amp;#039;t configured a Pro server, however, if you tap the right-arrow button you will jump over the Pro menu item and land on &amp;#039;Quit&amp;#039;. Tap the left-arrow key and again you&amp;#039;ll jump over the Pro menu and land back on &amp;#039;Administration&amp;#039;.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Modification/Bug-fix&lt;/em&gt;&lt;/strong&gt;: Some menus have more than 9 items (for example, Reporting, which had items A and B in addition to nine numbered items). Those extra items were inadvertently assigned letters which conflict with the top-menu items: for example, tapping &amp;#039;A&amp;#039; to produce the &amp;#039;Composers not played in past 60 days&amp;#039; report conflicted with the &amp;#039;A&amp;#039; for Administration menu move. That has now been resolved by making sure 10th and subsequent items do not use letter shortcuts that conflict with anything else. An altogether worse bug was that if you ever landed on the Pro menu, no other top menu options worked: you could tap &amp;#039;D&amp;#039; to jump to the Database Management menu and absolutely nothing would happen! That has now been fixed.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: The &lt;strong&gt;Administration&lt;/strong&gt; menu gets a new &lt;strong&gt;Option 8: Change the program colour scheme&lt;/strong&gt;. This brings up a form that lets you assign colour numbers to each of the Giocoso program display elements and thereby change the look of the program to something that suits you better than the defaults I designed it with:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-27_at_17.47.14.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-27_at_17.47.14.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-27_at_17.47.14.png?w=600&amp;amp;tok=cd8231&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Here, for example, I&amp;#039;m saying I want the Program logo and boilerplate text to appear bright red, rather than it&amp;#039;s default &amp;#039;normal cyan&amp;#039;. The result would be a rather garish confection like this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-27_at_17.50.07.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-27_at_17.50.07.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-27_at_17.50.07.png?w=600&amp;amp;tok=4a7737&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Giocoso is thus brought into line with all my other software programs and now thereby caters to those users who don&amp;#039;t use jet-black terminal emulator colour profiles.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.37 - March 31st, 2026&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_337_-_march_31st_2026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1658-6837&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;giocoso_version_336_-_march_18th_2026&quot;&gt;Giocoso Version 3.36 - March 18th, 2026&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug-fix&lt;/em&gt;&lt;/strong&gt;: Giocoso is written in the United Kingdom, where we expect numbers to be written as “1.43”, using a full-stop as the decimal point. Trouble is, anyone using Giocoso in Europe (for example) would expect that to be written as “1,43” with a comma as the decimal point. European operating systems presented with “1.43” will declare it to be an invalid number and mayhem results. This has recently come to light as an example of UK small-mindedness (and my inability to think globally) as a result of a user in Germany (or at least, using a German locale on a Tuxedo &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;) encountering an &amp;#039;invalid number&amp;#039; error when trying to implement Giocoso&amp;#039;s ReplayGain functionality. This has now been corrected, by forcing Giocoso to use a locale in which full-stops are regarded as &amp;#039;correct&amp;#039;, no matter what the wider operating system may think. My thanks to Helmut for the bug report and working with me to confirm the nature of the problem and success of the fix. If users in other non-UK lands have equally exotic number representation issues, this fix should resolve it for them too. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug-fix&lt;/em&gt;&lt;/strong&gt;: Tiny issue, but the Aggregate Statistics report mentioned &amp;#039;Stat&amp;#039; in one section and &amp;#039;stat&amp;#039; in another: the inconsistency in capitalisation has now been resolved.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug-fix&lt;/em&gt;&lt;/strong&gt;: When reporting a completed play to the Giocoso Pro database, macOS would not identify itself correctly, resulting in the os_type column in the GLOBAL_PLAYS table remaining blank. It now reports &amp;#039;macOS &lt;em&gt;xxxxx&lt;/em&gt;&amp;#039; correctly, where the &amp;#039;xxxxx&amp;#039; bit will be &amp;#039;Tahoe&amp;#039;, &amp;#039;Sequoia&amp;#039;, &amp;#039;Sonoma&amp;#039;, &amp;#039;Ventura&amp;#039; and so on.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;New Feature&lt;/em&gt;&lt;/strong&gt;: MacOS can now do PulseAudio playback. That is, you can run Giocoso on your desktop iMac or Mac Mini and have the audio play via some other PC anywhere on your network. It&amp;#039;s a bit fiddly to configure (article incoming!!), but so long as your Mac has the environment variable PULSE_SERVER set, and has a version of ffmpeg installed that works with PulseAudio, and there&amp;#039;s a remote PC configured to act as a PulseAudio server, then you press play on the iMac and the sound comes out via a Debian box or an Arch PC.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;New Feature&lt;/em&gt;&lt;/strong&gt;: Not specific to macOS at all, but a consequence of me tinkering with the code required to achieve PulseAudio playback generally, even on Linux: there is a new configuration parameter:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-12_at_15.49.29.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-12_at_15.49.29.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-12_at_15.49.29.png?w=600&amp;amp;tok=9e699b&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
This is under the &amp;#039;text entries&amp;#039; parameters: &lt;strong&gt;PulseAudio Server IP Address&lt;/strong&gt; is the IP address of the PC to which you wish your music playback to be directed over the network. It works in conjunction with the later (and long-existing) yes/no parameter to &lt;em&gt;Force the use of PulseAudio&lt;/em&gt;:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-12_at_15.51.25.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-12_at_15.51.25.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-12_at_15.51.25.png?w=600&amp;amp;tok=4187df&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
In all earlier releases of Giocoso, if you set &amp;#039;force PulseAudio&amp;#039; to yes, the server to which audio would be sent would be dictated by whatever you had manually remembered to set with the PULSE_SERVER environment variable before you even launched Giocoso. Now, the IP address you set for the new &amp;#039;PulseAudio IP Address&amp;#039; will &lt;em&gt;override&lt;/em&gt; any environment variable you may have set. Note that if you type an invalid IP address entry into this new parameter field, it is ignored: type “192.168.137.876”, for example, and no valid PulseAudio server will have been specified at all. 
&lt;/p&gt;

&lt;p&gt;
Also note that if you set a valid value for the Server IP address, but do not &lt;em&gt;also&lt;/em&gt; set &amp;#039;force PulseAudio&amp;#039; to yes, then the IP address is ignored: audio being transmitted over the home network requires &lt;strong&gt;both&lt;/strong&gt; parameters to be set, not just one. New documentation for this feature is being prepared: PulseAudio is a complex subject! The new parameters do allow, however, for a powerful desktop PC to be the &amp;#039;playing PC&amp;#039;, but for sound to be heard coming out of a relatively trivial Raspberry Pi that happens to be hooked up to your DAC, amplifier and speakers! Being able to modify the IP address &amp;#039;inside&amp;#039; Giocoso also makes it convenient to broadcast audio to a variety of &amp;#039;player PCs&amp;#039; dotted around your house. If you need music playing in your greenhouse, you can set the IP address to 192.168.0.52; you come back inside and need music in your kitchen, just adjust the IP address to 192.168.0.76 and hit &amp;#039;play&amp;#039; once more… Sort of like a Sonos multi-room capability, but without the huge cost or proprietariness!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Significant New Feature&lt;/em&gt;&lt;/strong&gt;: A minimal player mode has been created:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_17.59.28.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-14_at_17.59.28.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_17.59.28.png?w=400&amp;amp;tok=e0f643&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
This is essentially a cut-down Play menu that lets you initiate a &amp;#039;default play&amp;#039; only: no filtered search allowed, no playing music directly in a folder, etc., etc. You get a standard, randomised search for something to play that depends on what you&amp;#039;ve configured in your persistent configuration file (and which requires the full-blown Giocoso interface to modify). Once play has been initiated, the display changes to this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-13_at_11.02.18.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-13_at_11.02.18.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-13_at_11.02.18.png?w=400&amp;amp;tok=2bcdc6&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
You get to see information about the music playing but you don&amp;#039;t get any album art or play duration/countdown data as you would in the full-blown Giocoso interface: this is for kicking off music playback using a mobile telephone or tablet, on a remote device, over ssh. Usually such terminal emulators don&amp;#039;t handle graphics display in-terminal at all, so the lack of graphics components in this display is completely deliberate. The lack of a countdown timer is more a function of the lack of space on such terminal displays, to be fair!
&lt;/p&gt;

&lt;p&gt;
This new player mode essentially takes the place of Mgiocoso, which is now therefore deprecated (it&amp;#039;s still there for now and works as ever it did, but it will be removed in a future version). The new feature is enabled by running the command &lt;strong&gt;minig&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;New Feature&lt;/em&gt;&lt;/strong&gt;: Related to this new mini-player mode, the “Set up PulseAudio Server details” allows you to configure up to five &amp;#039;audio sinks&amp;#039;:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_18.01.23.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-14_at_18.01.23.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_18.01.23.png?w=400&amp;amp;tok=4ba353&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Free-form text labels are paired with IP addresses (and stored in the &lt;strong&gt;local&lt;/strong&gt; Giocoso database as the table PULSESINKS). These can then be used when taking the new mini-player option 1, to &lt;em&gt;select&lt;/em&gt; a PulseAudio sink to &amp;#039;play to&amp;#039;:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/giocoso/screenshot_2026-03-14_at_18.04.08.png&quot; class=&quot;media&quot; title=&quot;softwares:giocoso:screenshot_2026-03-14_at_18.04.08.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/giocoso/screenshot_2026-03-14_at_18.04.08.png?w=400&amp;amp;tok=f335cc&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
If your Giocoso installation is configured to use PulseAudio, whatever server/sink you select on this screen &lt;em&gt;overrides&lt;/em&gt; the one exported as the PULSE_SERVER in your shell environment and the one configured in the new Giocoso persistent parameter file, for the purposes of music playback initiated by the mini-player. In other words, there&amp;#039;s a hierarchy of specifying which PulseAudio server receives this Giocoso&amp;#039;s audio stream: the PULSE_SERVER environment variable, over-ridden by the new configuration parameter setting, over-ridden by this mini-player setting.
&lt;/p&gt;

&lt;p&gt;
Note that if you &lt;strong&gt;don&amp;#039;t&lt;/strong&gt; set &amp;#039;force the use of PulseAudio&amp;#039; to &amp;#039;yes&amp;#039; in the main configuration file, it won&amp;#039;t matter what PulseAudio server you pick here: playback will always be directed to the &lt;em&gt;local&lt;/em&gt; machine on which the miniplayer is running. Only when PulseAudio is forced will the server selection kick in and direct playback to whatever sink/server you&amp;#039;ve specified.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug-fix&lt;/em&gt;&lt;/strong&gt;: On the &lt;strong&gt;Reporting&lt;/strong&gt; menu, Option A is said to list &amp;#039;Composers not played in the past 60 days&amp;#039;. The report then went on to list composers not played in the past &lt;em&gt;120&lt;/em&gt; days. The report code has been adjusted to match what the menu says it will list!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Changed Feature&lt;/em&gt;&lt;/strong&gt;: This is possibly a bug-fix too! I&amp;#039;ve long known that if your terminal didn&amp;#039;t use a jet-black background then the Giocoso program logo would appear awkwardly in the terminal:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_21.34.58.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-14_at_21.34.58.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_21.34.58.png?w=600&amp;amp;tok=97da0d&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The issue is simply that I put that logo together in some art package or other from &amp;#039;components&amp;#039; lying about the place without a lot of thought… and it&amp;#039;s black background thus got &amp;#039;baked&amp;#039; in-place for evermore, meaning it sticks out like a sore thumb when your terminal background &lt;em&gt;isn&amp;#039;t&lt;/em&gt; jet black to match. It&amp;#039;s not exactly a show-stopper, but it&amp;#039;s less than great for light-background terminals and the like. So: welcome to the new, almost-completely text-based logo:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/giocoso/screenshot_2026-03-14_at_21.45.40.png&quot; class=&quot;media&quot; title=&quot;softwares:giocoso:screenshot_2026-03-14_at_21.45.40.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/giocoso/screenshot_2026-03-14_at_21.45.40.png?w=600&amp;amp;tok=9dc988&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
I am not a fan of &lt;abbr title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/abbr&gt; art, but at least it keeps everything completely text-based and thus truly independent of the terminal background. Other terminal colour schemes work well, too:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/screenshot_2026-03-14_at_21.47.54.png&quot; class=&quot;media&quot; title=&quot;software:screenshot_2026-03-14_at_21.47.54.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/screenshot_2026-03-14_at_21.47.54.png?w=600&amp;amp;tok=778a11&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
But some will still be a disaster -but not for particularly logo-related reasons:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_21.48.39.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-03-14_at_21.48.39.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-03-14_at_21.48.39.png?w=600&amp;amp;tok=c9519d&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
This is not the logo looking odd but the entire colour scheme of the terminal working against Giocoso&amp;#039;s choice of text colours. The only fix for that remains choosing a different terminal colour profile, I&amp;#039;m afraid!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.36 - March 18th, 2026&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_336_-_march_18th_2026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;6838-15914&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;giocoso_version_335_-_february_22nd_2026&quot;&gt;Giocoso Version 3.35 - February 22nd, 2026&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug-fix&lt;/em&gt;&lt;/strong&gt;: Reports were re-coded carefully to work on macOS in Version 3.34… &lt;em&gt;provided&lt;/em&gt; you were using Giocoso Pro features! If you were only using a local database, then some of the reports would have failed to display properly. Now fixed: all reports run perfectly on macOS in both local and Pro modes.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: A new Report (&lt;strong&gt;Option A&lt;/strong&gt; on the Reporting menu) has been created that lists all composers who haven&amp;#039;t been played within the past 120 days (an arbitrary cut-off point, I&amp;#039;ll admit): these might be composers you want to force playback for.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: Further improvements in code to make Giocoso a first-class macOS citizen! A specific example: being able to tap the &amp;#039;B&amp;#039; key on any menu and have Sqlitebrowser launch, if that program is already installed. You could do that only on Linux before, but now it works on macOS, too.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Significant Enhancement&lt;/em&gt;&lt;/strong&gt;: Giocoso&amp;#039;s reporting capabilities have been overhauled. All reports now output as &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; to your system&amp;#039;s default browser, with polished and responsive formatting. For example:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-13_at_19.06.43.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-13_at_19.06.43.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-13_at_19.06.43.png?w=650&amp;amp;tok=a57f1f&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: You now no longer have to remember that Pro table names have a global_ prefix when doing Advanced SQL Reporting (&lt;strong&gt;Reporting&lt;/strong&gt; menu, &lt;strong&gt;Option 5&lt;/strong&gt;). In previous versions, you had to know that when querying in global mode, it was “select * from &lt;strong&gt;global_plays&lt;/strong&gt;”, but in local mode it&amp;#039;s just “select * from &lt;strong&gt;plays&lt;/strong&gt;”. Similarly, you had to know whether you were supposed to be querying &lt;strong&gt;global_recordings&lt;/strong&gt; or just &lt;strong&gt;recordings&lt;/strong&gt;. That&amp;#039;s all handled for you now: if you query “global_plays” when in non-Pro mode, your query will be silently re-written to mention “plays”. Likewise, querying “recordings” or “plays” when in Pro mode, your SQL will be silently re-written to refer to “global_recordings” or “global_plays”. The short version is that if all your queries mention just “plays” and “recordings”, they&amp;#039;ll work no matter which reporting mode you&amp;#039;re in.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;New Feature&lt;/em&gt;&lt;/strong&gt;: A new configuration parameter has been created to allow you to specify your preferred browser in which to open Giocoso reports:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-14_at_20.52.36.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-14_at_20.52.36.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-14_at_20.52.36.png?w=600&amp;amp;tok=6be671&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The new parameter is the last one on the first page: &lt;strong&gt;Preferred browser&lt;/strong&gt;. If you leave this field blank, Giocoso will use whatever your system&amp;#039;s default browser is. If you specify a name here, however, as I have done, then that will be the browser Giocoso uses instead (if it exists). If you name a browser that doesn&amp;#039;t exist (for example, you accidentally type “fyrefox”) then Giocoso will fall back to using the system&amp;#039;s default browser instead. This flexibility means that the new reporting functionality might produce results like this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-14_at_20.51.40.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-14_at_20.51.40.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-14_at_20.51.40.png?w=600&amp;amp;tok=0fe370&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…or like this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-14_at_21.00.16.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-14_at_21.00.16.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-14_at_21.00.16.png?w=600&amp;amp;tok=3e05cc&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
It&amp;#039;s the same data, just presented by (in the first case) Firefox and (in the second) w3m browsers: the option to keep things within the terminal window is still there, in other words. Incidentally, w3m has become a dependency of Giocoso&amp;#039;s: it will attempt to install it as part of its own install, though if it cannot do so for one reason or another, reporting capabilities will not be compromised.
&lt;/p&gt;

&lt;p&gt;
&lt;em class=&quot;u&quot;&gt;&lt;strong&gt;New Feature&lt;/strong&gt;&lt;/em&gt;: A new selection filter has been added to the form you see when you take the &lt;strong&gt;Play Music&lt;/strong&gt; menu, &lt;strong&gt;Option 2&lt;/strong&gt;:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-16_at_17.30.49.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-16_at_17.30.49.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-16_at_17.30.49.png?w=600&amp;amp;tok=5fafa9&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The new filter says “Find me composers who haven&amp;#039;t been played in X number of days and play some of their music for me”. It is an unusual filter in one sense because it &lt;em&gt;negates&lt;/em&gt; every other filter you may have set on the form. That is, it cannot be combined with any of the other filters: if you set the &amp;#039;play me long-unplayed composers&amp;#039; filter &lt;strong&gt;and&lt;/strong&gt; the &amp;#039;where the maximum duration is 60 minutes&amp;#039;, you will get long-unplayed composers&amp;#039; music however long it plays for. The maximum duration filter will be silently ignored (and so will any other filter you may have set).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: A new “timeout” parameter has been applied to all attempted connections to a Pro database (when one is in use, obviously). If your network was dodgy or you accidentally specified the wrong IP address for the Pro database, Giocoso would keep locking up and being unresponsive for up to around 10 seconds, until the database connection attempt failed (ask me how I know!). A new “connection-timeout” of 1 second has been applied to all attempts at connecting to a Pro database, so there is now only a momentary wait before the connection fails. This doesn&amp;#039;t much help you, of course, in the sense that not being able to connect to a Pro database rather spoils the fun of using Giocoso Pro: nothing works! But at least your system doesn&amp;#039;t now just appear to hang for no apparent reason.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: A streamlined upgrade procedure has been implemented. It&amp;#039;s simpler and faster than before.
&lt;/p&gt;

&lt;p&gt;
There has been quite a flurry of new Giocoso releases lately: that&amp;#039;s largely a function of the fact that I&amp;#039;ve been getting it to work on macOS and, in the process, tidying up quite a few long-standing irritations. I think it fair to say that this phase is now over: I will certainly keep releasing new versions as the need arises (and bugs are pointed out to me!) but, as of right now, I&amp;#039;m fairly convinced that Giocoso is working as I want it to, on all the platforms I need it to, and I don&amp;#039;t, therefore, anticipate very many new releases in the immediate future. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.35 - February 22nd, 2026&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_335_-_february_22nd_2026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;15915-21622&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;giocoso_version_334_-_february_8th_2026&quot;&gt;Giocoso Version 3.34 - February 8th, 2026&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement/New Feature&lt;/em&gt;&lt;/strong&gt;: Giocoso has acquired ReplayGain playback capability. &lt;a href=&quot;https://en.wikipedia.org/wiki/ReplayGain&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://en.wikipedia.org/wiki/ReplayGain&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ReplayGain&lt;/a&gt; is a standard way of describing how much to boost an audio signal by &lt;em&gt;at playback time&lt;/em&gt;, dynamically, with the information stored in special metadata tags. If enabled in the program configuration settings, Giocoso will now read the REPLAYGAIN_ALBUM_GAIN tag and apply the value it has been assigned to increase the playback volume by that amount. For example, when shown this set of FLACs:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/semplice/screenshot_2026-01-19_at_20.04.07.png&quot; class=&quot;media&quot; title=&quot;software:semplice:screenshot_2026-01-19_at_20.04.07.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/semplice/screenshot_2026-01-19_at_20.04.07.png?w=600&amp;amp;tok=d287a1&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…Giocoso will automatically play the music back with a +10.73dB volume boost (although it applies a hard cap, so that only a boost of +7.5dB will take place: this avoids making too dramatic a volume change to something the recording engineer presumably mastered excessively quietly for a reason).
&lt;/p&gt;

&lt;p&gt;
To support the new functionality, the Administration menu, Option 2 Create or Edit the Configuration file gets a new option:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-01-19_at_21.37.20.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-01-19_at_21.37.20.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-01-19_at_21.37.20.png?w=650&amp;amp;tok=9a22f5&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The parameter takes a value of yes or no: &lt;strong&gt;no is the default&lt;/strong&gt;. If set to yes &lt;em&gt;and if the first FLAC in a folder contains a REPLAYGAIN_ALBUM_GAIN metadata tag&lt;/em&gt;, then the appropriate volume boost will be dynamically applied. If set to no &lt;em&gt;or&lt;/em&gt; there is no REPLAYGAIN_ALBUM_GAIN tag, then no dynamic volume boost will take place.
&lt;/p&gt;

&lt;p&gt;
Playback of music will now show whether ReplayGain is being applied or not:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-04_at_16.51.43.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-04_at_16.51.43.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-04_at_16.51.43.png?w=650&amp;amp;tok=ed3c25&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The last line of descriptive text on the left of the screen will say &amp;#039;ReplayGain Applied: None“ if no REPLAYGAIN_ALBUM_GAIN tag exists or if the new configuration parameter is set to a value of “no”.
&lt;/p&gt;

&lt;p&gt;
Note that ReplayGain uses a completely different acoustic model than simply boosting a FLACs audio to its maximum loudness without distortion. As a result, if you&amp;#039;ve previously volume boosted your FLACs using Semplice&amp;#039;s &amp;#039;real&amp;#039; mode, you may well now see this happen when playing those FLACs in Giocoso:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-04_at_17.26.13.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-04_at_17.26.13.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-04_at_17.26.13.png?w=650&amp;amp;tok=bbee22&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
That ”-0.18 dB“ Replay “gain” tells you that the physical FLAC has been boosted to a non-distorting loudness that ReplayGain considers too loud. That&amp;#039;s absolutely fine: it doesn&amp;#039;t mean the physical volume boost has done any harm to your FLACs. They are simply too loud for ReplayGain&amp;#039;s taste (which is hard-coded to think that an 89dB volume is just fine).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancement&lt;/em&gt;&lt;/strong&gt;: The &lt;strong&gt;mgiocoso&lt;/strong&gt; script now displays what ReplayGain (if any) has been applied for playback of the currently-playing FLAC:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/semplice/screenshot_2026-01-22_at_18.50.26.png&quot; class=&quot;media&quot; title=&quot;software:semplice:screenshot_2026-01-22_at_18.50.26.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/semplice/screenshot_2026-01-22_at_18.50.26.png?w=400&amp;amp;tok=8814b2&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
If no ReplayGain is being applied, the line will display a value of “none”.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Interface Change&lt;/em&gt;&lt;/strong&gt;: The program display has been modified slightly during playback of music, as you&amp;#039;ve seen in the above screenshots. The composition details are now delineated apart from the &amp;#039;recording details/history&amp;#039; part of the display. A new “days since last played” item of data also makes an appearance (which will also display an approximate conversion into a years-since-last-played figure, if it&amp;#039;s been more than 365 days), as well as the new ReplayGain data.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Bug Fixes&lt;/em&gt;&lt;/strong&gt;: Various fixes to code have been implemented to allow Giocoso to run on the latest versions of macOS running on Apple Silicon chips and using Homebrew packages to satisfy software dependencies. In particular, it was discovered that the default ImageMagick installation on these more modern Macs could not do text manipulation and would trigger Giocoso to fail in ugly ways. That is all now handled by the Giocoso installation script and by subtler code dealing with the production of the &amp;#039;caption bar&amp;#039; under any album art that is displayed during playback. On macOS, album art captions are now always coded to use the built-in Palatino font.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fixes&lt;/em&gt;&lt;/strong&gt;: The &lt;strong&gt;Reporting&lt;/strong&gt; menu, &lt;strong&gt;Options 6, 7, 8 and 9&lt;/strong&gt; had a bug in them that prevented reports from displaying at all on macOS (because they used a Linux-ism to open the reports in the system&amp;#039;s default browser). That has now been resolved and those reports will now also open in macOS&amp;#039; default browser, too.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: Not that anyone would really notice, but the code controlling the playback of music has been re-factored to make maintenance easier in the future. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Major Enhancement&lt;/em&gt;&lt;/strong&gt;: Mgiocoso is Giocoso&amp;#039;s optional “control panel”: you run it on a mobile device, for example, to be able to send control commands to a playing Giocoso session (i.e., tell it to pause, resume, autostop or terminate etc). If you need the functionality (such as being able to see precisely what is playing on a headless Raspberry Pi that&amp;#039;s playing away in a drawer), it&amp;#039;s a nice tool. It was written in a hurry, however, and the display &amp;#039;flashed&amp;#039; repeatedly every 5 seconds as the thing re-checked what the playing session was doing. The whole thing has now been re-written to be much more intelligent about when it updates its display. It also acquires “ReplyGain” and “Days since last play” data in its display. Mgiocoso now runs properly on macOS, too:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-05_at_18.43.58.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_2026-02-05_at_18.43.58.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_2026-02-05_at_18.43.58.png?w=650&amp;amp;tok=248798&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: If you are running in Pro mode, a fast refresh to pick up new recordings has always triggered a &lt;em&gt;complete&lt;/em&gt; re-build of the Pro server&amp;#039;s copy of the recordings table. This means you discover 3 new recordings locally… but then have to endure loading 17000 records to the Pro server over the network! The new feature in this release of Giocoso is that fast refreshes only load the newly-discovered recordings to the remote database. If it happens that the global database knows about recordings that no longer exist in the local database (perhaps because you moved them to a different physical path or re-tagged them) then the fast refresh process now also deletes out the &amp;#039;unwanted&amp;#039; recordings from the global database, thereby keeping local and remote databases &amp;#039;in sync&amp;#039;. The result is a considerably faster remote data load. Full local refreshes still completely re-load the remote database, of course.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.34 - February 8th, 2026&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_334_-_february_8th_2026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;21623-27937&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;giocoso_version_333_-_january_1st_2026&quot;&gt;Giocoso Version 3.33 - January 1st, 2026&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancement&lt;/em&gt;&lt;/strong&gt;: The font size used to generate the captions for display under the album art display when music is playing has always been fixed (at 14 or 16pt, depending on certain factors). On high-resolution screens or when Kitty graphics are used to do the artwork display, this is problematic: the caption text tends to come out much too small when you start increasing the display size of the artwork itself. This is now not the case. Giocoso will now take the configured artwork display size (for example, 500, meaning “500px x 500px), divide by 100 (i.e., 5 in this case) and multiply by 4 to give a final text size of 20pt. Change the artwork size to, say, 600&amp;times;600 and the caption text point size will become 24pt (i.e., 6*4). This seems to yield acceptable results on all manner of screen resolutions and with varying artwork size configurations. On a related note, the caption panel itself was also always previously fixed at 45 pixels tall: that looks absurdly small when album art is displayed at sizes of 600 or more pixels. Accordingly, it too is now sized dynamically to be as wide as the album art work and as tall as 10% of that. That is, if you set album art to display at 600 pixels, the caption bar will be 600 pixels wide and 60 tall; set a size of 475 and the caption bar will be 475&amp;times;47 and so on.
&lt;/p&gt;

&lt;p&gt;
The difference is subtle, but apparent:
&lt;/p&gt;

&lt;p&gt;
Here&amp;#039;s the before-shot, when caption bar height and text point size were fixed:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/blog/screenshot_2025-12-16_at_14.00.57.png&quot; class=&quot;media&quot; title=&quot;blog:screenshot_2025-12-16_at_14.00.57.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/blog/screenshot_2025-12-16_at_14.00.57.png?w=650&amp;amp;tok=7eff27&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…where I think we can agree that the two-line caption under the album art is a bit spidery, a tad small and quite hard to read. And here&amp;#039;s the revised version:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/blog/screenshot_2025-12-16_at_14.02.14.png&quot; class=&quot;media&quot; title=&quot;blog:screenshot_2025-12-16_at_14.02.14.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/blog/screenshot_2025-12-16_at_14.02.14.png?w=650&amp;amp;tok=5bcd38&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…where the caption is taller, the text is in a larger font and it&amp;#039;s all a bit more legible.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: From the screenshots above, you&amp;#039;ll notice that Giocoso, when running on macOS, was not doing a very good job at presenting the &amp;#039;Selection 2 of 2&amp;#039; data in the top right-hand corner of the program display. There, you&amp;#039;ll see it padding the first number with zeroes and the second with spaces …and padding with enough spaces or zeroes to represent a 5-digit number in each case. Not a good look …and entirely down to the variables involves being treated as strings, not numbers. This has now been corrected, and Giocoso on macOS displays the counts much more appropriately:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/blog/screenshot_2025-12-16_at_14.57.50.png&quot; class=&quot;media&quot; title=&quot;blog:screenshot_2025-12-16_at_14.57.50.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/blog/screenshot_2025-12-16_at_14.57.50.png?w=650&amp;amp;tok=e81e68&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancements&lt;/em&gt;&lt;/strong&gt;: Other minor tweaks and improvements to the way Giocoso installs and runs on macOS have been made, in light of further testing on more modern &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt; releases, and with due regard to the difference between the way Homebrew and MacPorts work.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Significant Enhancement&lt;/em&gt;&lt;/strong&gt;: Screen redrawing has always been fairly slow, such that on less powerful computers (such as Raspberry Pi, or old Intel hardware) the screen could seem to &amp;#039;flash&amp;#039; annoyingly when, for example, you tapped along the top menu options (from Play to Database to Reporting, for example). Sometimes, screen refreshes were so slow to occur that you&amp;#039;d be able to see escape sequences (such as “&lt;strong&gt;^[[C&lt;/strong&gt;”) displayed on the screen as menu navigation took place, making things very ugly indeed. Accordingly, the screen redrawing code has been completely overhauled and now the program responds much more cleanly and swiftly to events that trigger screen redraws. The result is that even on low &lt;abbr title=&quot;specification&quot;&gt;spec&lt;/abbr&gt; hardware, Giocoso now &amp;#039;flashes&amp;#039; very infrequently and the random appearance of escape sequences on screen should almost never occur. This is achieved basically by replacing calls to the external “tput” utility with a pure Bash approach that keeps everything within the one Bash session, resulting in much less context switching on the CPU, and hence a swifter-feeling interface.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: The new handling of Kitty graphics in Version 3.32 introduced a logic error which prevented the display of the program logo properly under many non-kitty-related conditions. Now fixed: the logo should display properly in all terminals that support in-terminal display of either sixel or kitty graphics.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: I recently increased my &amp;#039;timebar&amp;#039; parameter from 720 hours (basically, 30 days) to 1440 (60 days). If I play Mahler on January 1st, he can&amp;#039;t be played again until March 1st, give or take, unless especially exempted. Unfortunately, I&amp;#039;d forgotten that back in the dim mists of time, I couldn&amp;#039;t conceive why anyone would ever want to bar a composer from being replayed beyond 999 hours: any time bar submitted larger than that limit was automatically set to a paltry 6 hours… which is why I suddenly started hearing Bruckner and Perti just days after having played them! In this version, the upper limit on the time bar has been completely removed. One of 1000 hours or above will work just fine… though, bear in mind, a huge time bar will potentially leave you with very few candidate composers for the next play!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement/Bug Fix&lt;/em&gt;&lt;/strong&gt;: On macOS, support for running Giocoso in Pro mode was extremely hit-and-miss. If you were using a very old version of MariaDB client to talk to your Pro Server (as you would if you had installed MariaDB via MacPorts on old hardware) then connections to the Pro server would fail to be established. That&amp;#039;s because Giocoso really expects you to be using a modern client and thus be aware of the –skip-ssl component of a database connection string. Ancient versions of MariaDB had no idea what ssl connections to a database were and therefore choked on that –skip-ssl parameter: no Pro for them! If you manually removed that bit of the connection string to avoid this, but were using a modern version of MariaDB on more modern hardware, the MariaDB client would again choke, this time because failure to mention –skip-ssl would stop the database connection being made. The new version includes code which checks whether your MariaDB client understands ssl connections at all: if it does, it tells it to skip using them; if it doesn&amp;#039;t, it simply doesn&amp;#039;t mention them. All macOS Giocoso Pro connections thus work correctly, no matter how you installed your MariaDB client or how modern or old it is. This conceivably benefits ancient Linux distros too, though I&amp;#039;ve never met one in the wild with client software as old as it is on my iMac!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement/Bug Fix&lt;/em&gt;&lt;/strong&gt;: On macOS, when using a &amp;#039;Magic Mouse&amp;#039;, accidental swipes left/right on the mouse would produce a trail of visible escape characters and garble the main Giocoso program display. Some of those escape characters could also be interpreted to mean &amp;#039;launch Sqlitebrowser&amp;#039; or &amp;#039;Enable/Disable Autostop&amp;#039;, meaning it wasn&amp;#039;t just visually annoying but could also affect program functionality: it was very annoying, basically! That is now fixed. New user-input handling code means that mouse (or trackpad) swipes are completely ignored and new ttype control means that the escape characters generated by such swipes are not echoed across the screen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.33 - January 1st, 2026&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_333_-_january_1st_2026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;27938-35055&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;giocoso_version_332_-_december_11th_2025&quot;&gt;Giocoso Version 3.32 - December 11th, 2025&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;General code tidying&lt;/em&gt;&lt;/strong&gt;: Giocoso uses Bash script code developed over 5 years and several different versions of Bash. A lot of old Bash-isms therefore persisted and needed updating. For example, the syntax to do if statements (e.g., if [ “$var” == “some-string” ]; etc etc) could usefully be updated to use the double-square-bracket technique, which then no longer requires variable or string quoting (so if [[ $var == some-string ]]; etc etc). Another example is where you do conjoined tests: instead of if [[ $a == some ]] &amp;amp;&amp;amp; [[ $b == text ]], it&amp;#039;s cleaner to do if [[ $a == some &amp;amp;&amp;amp; $b == text]], where the concatenation takes place inside the single set of double-brackets. Such code tidying should make zero difference to functionality, but makes the code somewhat easier to read and maintain and brings coding consistency to the program.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancement&lt;/em&gt;&lt;/strong&gt;: When playing music, Giocoso now blanks out the program&amp;#039;s graphical logo before overlaying the currently-playing album art on top. In the previous Giocoso version, depending on your precise choice of album art, you could see the extreme left-edge of the program logo appearing underneath the displayed album art. That won&amp;#039;t now happen.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Bug Fix&lt;/em&gt;&lt;/strong&gt;: If your graphics hardware is ancient, Giocoso could emit the following error when using the &amp;#039;B&amp;#039; key to launch the Sqlitebrowser database querying tool: &lt;em&gt;MESA-INTEL: warning: Haswell Vulkan support is incomplete […] Some incorrect rendering might occur because the selected Vulkan device […] doesn&amp;#039;t support base Zink requirements.&lt;/em&gt; This error message would appear to garble the main Giocoso program display, as it would be printed in black text, causing apparently blank lines to over-write parts of the terminal. The error would not appear at all if the PC running Giocoso had more modern graphics hardware: I&amp;#039;m using a 2014 Mac Mini, with an integrated Intel HD Graphics 5000 chipset, which is now obviously too ancient to cope with the way its Linux Mint 22 now renders things. The bug fix is that Giocoso now traps those errors so that the display is no longer garbled. Sqlitebrowser continues to launch and display correctly regardless.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: Sometimes, Giocoso could forget a configured minimum duration. Your configuration file might be saying “only play recordings that are at least 20 minutes long” and Giocoso would go and randomly select a 6 minute-long recording to play. Now fixed: the configuration file is re-read for every select performed, ensuring that a value for minimum duration is always correctly applied.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: The calculation of the &amp;#039;rechashvalue&amp;#039; for a played piece of music could be wrong if the composition or composer name  contained a single quote (e.g., Vincent d&amp;#039;Indy). This would mean that the program display would claim that there were &amp;#039;Previous plays: 0&amp;#039; for that recording, even though there were plenty of them. Now fixed: the program computes the rechashvalue correctly and thus is able to get an accurate count of previous plays, no matter if apostrophes are present or not.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancement/Functionality Change&lt;/em&gt;&lt;/strong&gt;: If you are running Giocoso with pop-out art enabled (perhaps because in-terminal graphics are not supported), you might close that pop-out window and thus lose &amp;#039;sight&amp;#039; of what music you&amp;#039;re listening to. The new feature is that you can press the “Z” key (or lower-case &amp;#039;z&amp;#039;) at any time to re-display the standalone album art. If it&amp;#039;s already being displayed, the existing window is killed off and a new one launched; if the window has already been closed, a fresh one is simply opened. There was once a menu option under the &lt;strong&gt;Administration&lt;/strong&gt; menu (option 6: &amp;#039;Re-display Album Art in pop-out window&amp;#039;) that was intended to achieve the same sort of thing, but it&amp;#039;s now been made redundant, so that option has disappeared. Other menu items in the Administration menu have been re-numbered accordingly.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancement/Bug Fix&lt;/em&gt;&lt;/strong&gt;: Sometimes when quitting Giocoso, the terminal might get &amp;#039;stuck&amp;#039; and appear unresponsive. You&amp;#039;d type things at the command line, but you wouldn&amp;#039;t see what you were typing being echoed back to the terminal. It would look like you were typing nothing at all. Giocoso now performs a &amp;#039;reset&amp;#039; on quitting, which restores full functionality to the terminal: what you go on to type will display normally.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Major Enhancement&lt;/em&gt;&lt;/strong&gt;: For various reasons, Konsole and other terminals that &lt;em&gt;used&lt;/em&gt; to display in-terminal graphics have stopped doing so on specific distros. As described &lt;a href=&quot;https://www.bbritten.com/blog/giocoso_broken&quot; class=&quot;wikilink1&quot; title=&quot;blog:giocoso_broken&quot; data-wiki-id=&quot;blog:giocoso_broken&quot;&gt;here&lt;/a&gt;, the technical issue is whether a terminal emulator supports &lt;strong&gt;sixel graphics&lt;/strong&gt;. Many do not and the ones that do often have to have that support &amp;#039;compiled in&amp;#039; for it to work properly… and several distros choose not to do that, either! An alternative way of displaying graphics in-terminal is to use the &amp;#039;kitty graphics protocol&amp;#039;: some terminals support that when they don&amp;#039;t support sixel graphics. Accordingly: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; A new configuration option is provided to &amp;#039;Use Kitty Graphics for in-terminal graphics display&amp;#039;. The default value is &amp;#039;no&amp;#039;. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; If nevertheless set to &amp;#039;yes&amp;#039;, the program logo and album art are then displayed using kitty graphics, rather than sixel graphics. If your terminal supports it, album art should then be displayed appropriately.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The way kitty graphics displays things is heavily dependent on your choice of terminal and terminal font. Use the configuration parameter &amp;#039;Size of album art when displayed&amp;#039; to make the kitty display bigger or smaller to suit.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
As a result of this change, the kitty terminal has become an installation dependency for Giocoso. You don&amp;#039;t need to use it for anything else, but it needs to be present on the system to provide this new and alternative graphics display capability. If you are installing Giocoso afresh, then Kitty will be automatically installed; if you are merely upgrading to the new version of Giocoso, you&amp;#039;ll need to install Kitty yourself: &lt;span class=&quot;wrap_inlinecode &quot;&gt;sudo apt install kitty&lt;/span&gt; or &lt;span class=&quot;wrap_inlinecode &quot;&gt;sudo zypper install kitty&lt;/span&gt; and similar commands, depending on distro, will achieve the necessary.
&lt;/p&gt;

&lt;p&gt;
Note that kitty graphics are notably &amp;#039;blockier&amp;#039; than sixel graphics, so kitty is not the default display technology: it&amp;#039;s there for when sixel graphics fail!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Significant Bug-Fix&lt;/em&gt;&lt;/strong&gt;: A horrible logic error on my part in Version 3.30 completely screwed up the application of the &amp;#039;Time Bar&amp;#039;. When you take the &lt;strong&gt;Play Music&lt;/strong&gt; menu, &lt;strong&gt;Option 1&lt;/strong&gt; Giocoso&amp;#039;s random selection of music to play is meant to take your value for the &amp;#039;Hours before &lt;strong&gt;composer&lt;/strong&gt; eligible for second play&amp;#039; configuration parameter and prevent playback of further music by any composer who&amp;#039;s had &lt;em&gt;something&lt;/em&gt; played within that number of hours. So, say you set the parameter to “240”, then if Composer A&amp;#039;s “Symphony No. 1” is played on the 1st of the month, nothing else by that composer can be played until the 11th of the month (because 240 hours is 10 days, so he&amp;#039;s blocked from &lt;em&gt;random selection&lt;/em&gt; using the default music selection process for 10 days). Unfortunately, my logic flaw was to apply the time bar to the &lt;strong&gt;recordings&lt;/strong&gt; eligible for a second play, not the &lt;strong&gt;composer&lt;/strong&gt;! This meant that if Solti&amp;#039;s recording of Beethoven&amp;#039;s fifth took place on December 1st, Bernstein&amp;#039;s recording of anything by Beethoven was still eligible to be played on the 2nd December, despite a 10-day time-bar allegedly being set on &lt;em&gt;anything&lt;/em&gt; by Beethoven. Mea culpa. This has now been fixed and works as intended and as previously advertised.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Significant Enhancement&lt;/em&gt;&lt;/strong&gt;: The way the Exempts file is processed has also changed, to make it more efficient. A composer listed in the Exempts file is explicitly exempted from *any* configured time bar. If the configuration file says &amp;#039;don&amp;#039;t re-play a composer until at least 240 hours has elapsed&amp;#039;, then a Mahler symphony played on December 1st precludes anything else by Mahler from being played until December 11th (10 days later, 240 hours being 10 days). But if Mahler is &lt;em&gt;also&lt;/em&gt; listed in the Exempts file, then that time bar is &lt;strong&gt;not&lt;/strong&gt; applied to Mahler, so something by him &lt;em&gt;could&lt;/em&gt; (not &amp;#039;will&amp;#039;) be played on December 3rd, say. In a previous release, this exemption was applied to the whole pool of candidate composers, so that if (say) Britten (time-barred), Bax (also time-barred) and Mahler (exempted) were all randomly selected as candidate composers for the next play, the Mahler exemption was applied to Britten and Bax as well. The exemption is now done &amp;#039;cleanly&amp;#039; and &lt;strong&gt;only&lt;/strong&gt; affects the explicitly-exempted composers. In this example, both Britten and Bax would now still be time-barred for 10 days, and Mahler would not be.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: The Giocoso installer has been re-written to be somewhat more elegant to view and efficient to use. It has also had new support for installing onto AlmaLinux and Rocky Linux (both free clones of Red Hat Enterprise Linux). The existing support for installing onto Raspberry Pi &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt; (sometimes called “Raspbian”, as it&amp;#039;s a derivative of Debian) has been re-worked and some kinks ironed out. The Pi 4 is now a first class platform on which to run Giocoso, rather than being something of an afterthought! Note that the Giocoso installer will now quit without doing anything if it detects that your system has pending updates: previously, Giocoso charged ahead and performed a full system update for you… but there are obvious issues with doing that, so now it won&amp;#039;t be quite so cavalier! You won&amp;#039;t be able to install Giocoso until and unless you&amp;#039;ve fully updated your system, even so: but such an update is left as a matter for you to deal with.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: Support for running Giocoso on macOS has been re-introduced. The installer now detects the presence of macOS and responds appropriately (though note: you&amp;#039;ll need to have pre-installed Homebrew or Macports yourself for the install to succeed). Giocoso then runs successfully on macOS -though there are still currently some rough edges and there is no support at all for pausing a music play. 
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.32 - December 11th, 2025&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_332_-_december_11th_2025&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;35056-45263&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;giocoso_version_331_-_april_10th_2025&quot;&gt;Giocoso Version 3.31 - April 10th, 2025&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Minor bug-fix&lt;/strong&gt;: The program display could become garbled (with mysterious blank lines seemingly over-writing the proper display elements at random) because of an inappropriate use of the &amp;#039;ps&amp;#039; program. That has now been fixed.
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.31 - April 10th, 2025&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_331_-_april_10th_2025&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;45264-45551&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;giocoso_version_330_-_march_7th_2025&quot;&gt;Giocoso Version 3.30 - March 7th, 2025&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
A huge update, warranting another version jump (to Version 3.30, direct from 3.20). Please note that upgrading to this version requires special steps and cannot be performed by using the in-program &amp;#039;check for updates&amp;#039; option as would normally be the case.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Significant New Feature&lt;/strong&gt;: The release of &amp;#039;Giocoso Pro&amp;#039;. A new configuration option allows a local Giocoso session to be pointed at a remote MySQL database. Subsequent plays of music will be recorded in the local database and the remote database. This means multiple devices will be aware of all music played on &lt;em&gt;any&lt;/em&gt; of them. Filters to &amp;#039;play me previously unplayed music&amp;#039; will therefore now correctly &lt;strong&gt;not&lt;/strong&gt; start playing music which &lt;em&gt;this&lt;/em&gt; device hasn&amp;#039;t played before but &lt;em&gt;that&lt;/em&gt; one has played previously. Reports will now be generated from the remote database, including data from plays made on all devices, not just the local one. An entirely new &amp;#039;Pro&amp;#039; menu allows you to initialise a remote MySQL database and export a local PLAYS table to it. In case anyone is wondering: no, having a &amp;#039;Pro&amp;#039; version doesn&amp;#039;t mean money is charged or functionality compromised. &amp;#039;Giocoso Pro&amp;#039; is still completely free of charge to use and full functionality is available to every user, without caveats or reservations. The &amp;#039;Pro&amp;#039; name arises simply because working with MySQL is generally considered to be &amp;#039;proper database administration territory&amp;#039;, and thus rather harder and more nerdy to do than using the local database Giocoso originally used. Pro features are entirely optional: if you don&amp;#039;t want them, you can switch them off (and back on!) at will.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;New Feature&lt;/strong&gt;: Added a new &amp;#039;hotkey&amp;#039; option. Pressing &amp;#039;F&amp;#039; (or &amp;#039;f&amp;#039;, upper or lower case being irrelevant) &lt;strong&gt;during music playback&lt;/strong&gt; launches the system&amp;#039;s default file manager in the currently-playing recording&amp;#039;s folder. If Britten&amp;#039;s Peter Grimes was playing, for example, and I tapped &amp;#039;f&amp;#039;, Dolphin (the KDE default file manager) would open in (for me) &lt;em&gt;/sourcedata/music/classical/B/Benjamin Britten/Peter Grimes (Britten - 1958)&lt;/em&gt;. If you notice a cataloguing error as a piece of music plays, this helps you get to the music file(s) involved quickly for editing and correction. Different distros and desktop environments will open the relevant folder in whatever file manager is configured to be &lt;em&gt;their&lt;/em&gt; default. Note that the program display does &lt;strong&gt;not&lt;/strong&gt; indicate that &amp;#039;f&amp;#039; is a valid keypress that will do something: you just have to know it&amp;#039;s there as an option!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;New Feature&lt;/strong&gt;: Another new hotkey option is available &lt;strong&gt;during music playback&lt;/strong&gt;: if you press &amp;#039;K&amp;#039; or &amp;#039;k&amp;#039;, and there is a file called &amp;#039;booklet.pdf&amp;#039; in the folder being played, then it is opened in your system&amp;#039;s default PDF reader. It&amp;#039;s intended to help you easily access the digital versions of CD booklets that you have (hopefully!) stored within the same folder as the FLAC files ripped from the CD. If no such file exists, nothing happens: booklets in non-PDF format or not literally called &amp;#039;booklet.pdf&amp;#039; won&amp;#039;t be opened. Note that the program display does not indicate that &amp;#039;k&amp;#039; (or &amp;#039;K&amp;#039;) is a valid keypress that will do something: you just have to know it&amp;#039;s there as an option. Be aware that &amp;#039;K&amp;#039; tapped when music is &lt;strong&gt;not&lt;/strong&gt; playing does something completely different (recalling prior advanced SQL selections, a function that &lt;em&gt;is&lt;/em&gt; shown on the main menu display).
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Enhancement or possible feature removal&lt;/strong&gt;: Due to popular demand, the &amp;#039;scrolling logo&amp;#039; has been removed: whether that counts as &amp;#039;feature removal&amp;#039; or an enhancement is a matter of opinon! Instead the program starts up instantly with a new graphical logo:
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20250205_162711.jpg?w=650&amp;amp;tok=68790a&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Enhancement&lt;/strong&gt;: For new installations, the Luxi Mono font is now the default. Upgrades won&amp;#039;t pick up this change automatically, however: the font &lt;a href=&quot;https://www.fontsquirrel.com/fonts/luxi-mono&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.fontsquirrel.com/fonts/luxi-mono&quot; rel=&quot;ugc nofollow noopener&quot;&gt;can be downloaded here&lt;/a&gt;, for free. Install it using your distro&amp;#039;s standard font installation tools: until you do, the program display may be garbled as your terminal application attempts to approximate a font it doesn&amp;#039;t actually know how to draw.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Enhancement&lt;/strong&gt;: Fast database refreshes now clear out entries in the RECORDINGS table which are found to no longer exist on disk. Previously, if you moved a recording from /orchestral to /symphonic (say), the fast refresh would have picked up the &amp;#039;new&amp;#039; recording in the /symphonic folder, but the old entry for the same recording in its /orchestral folder location was &lt;em&gt;not&lt;/em&gt; cleared out (you needed a full refresh to do that). Now, it will be.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Enhancement&lt;/strong&gt;: The various ways of searching for music to play have been significantly tweaked to better deal with situations where folders the database &lt;em&gt;thinks&lt;/em&gt; exist actually don&amp;#039;t, or where folders that exist turn out not to contain playable FLACs. Consider a play list you created 8 months ago: it consists of a listing of hard disk folders that may all now no longer exist at those specific locations. The new search code handles these sorts of issues rather more gracefully than before. One significant side-effect: if your search returns many candidate folders, there&amp;#039;ll be a potentially significant wait for the candidate folders to be checked for existence and the presence of FLACs within them. A new progress counter lets you know how far the file checking has got. If you tighten your selection criteria, so that fewer folders are considered candidates, you can speed up this folder checking considerably.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Enhancement&lt;/strong&gt;: The &lt;strong&gt;default&lt;/strong&gt; music search (Option 1 on the Play Music menu) has been substantially re-written to make it a faster and more bullet-proof batch process. The old default search picked one composer and then tried to find music by that composer to play; if it failed to find a suitable recording, it would discard its first composer selection and try again. This would involve a lot of trips to the database before you happened to get lucky and find a suitable recording to play. This does not work well if the database is at the other end of a network cable! Now, therefore, Giocoso selects a &lt;em&gt;batch&lt;/em&gt; of all eligible composers; then it selects a batch of all eligible compositions; then it limits them down to the size of your &amp;#039;Number of plays per cycle&amp;#039;. A bit of filtering ensures that within a play cycle, the same composer can&amp;#039;t be picked more than once. Sometimes, this will mean that there &lt;em&gt;won&amp;#039;t&lt;/em&gt; be 10 plays per cycle: if there aren&amp;#039;t enough candidate recordings by unique composers, the cycle will end early. No matter: a new default search will enable a new cycle to be constructed from new candidates …and away you go once more.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Removed Feature&lt;/strong&gt;: Because default search now operates on a &amp;#039;batch select&amp;#039; basis, the “maximum number of searches before giving up” parameter is no longer used: you get your 10 (or whatever) candidate recordings selected in one go: either you get a result, or you don&amp;#039;t, but there&amp;#039;s no &amp;#039;having another go, over and over&amp;#039; as there used to be. That&amp;#039;s simply because that&amp;#039;s the way SQL works: if it didn&amp;#039;t return anything this time, there&amp;#039;s no point re-submitting it and hoping you get a different result! The parameter has accordingly been removed from the Administration menu, Option 2 screens and, if already present in the configuration file, is simply ignored. Any update to your configured parameters made by taking the Administration menu, Option 2 will trigger the removal of the parameter if it&amp;#039;s found in the active configuration file.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Removed Feature&lt;/strong&gt;: The &lt;strong&gt;Database Management&lt;/strong&gt; main menu &lt;strong&gt;Option 8 : Pull remote database to be primary&lt;/strong&gt; has been removed. That menu option provided rudimentary functionality allowing one Giocoso instance to become aware of plays made by another, but it was clunky and awkward to use. The new Giocoso Pro functionality renders this mechanism entirely redundant and is therefore completely removed from the program.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Modified Feature&lt;/strong&gt;: Pressing [Enter] on a main menu item triggers the first option within that menu. If the “Play Music” menu is active, for example, pressing [Enter] triggers the “Play music with defaults” option, as though the user had typed &amp;#039;1&amp;#039;. This was a feature introduced in Version 3.20. In Version 3.30, it is modified: it doesn&amp;#039;t work with the Administration menu, nor with the new Pro menu, though it continues to work for all other menus. The reason for this change is simply that Play Music, Database Management and Reporting menus don&amp;#039;t actually do anything &amp;#039;dangerous&amp;#039; when you take their first options… but the Administration menu first option triggers a software update (which might not be convenient or wanted) and the Pro menu first option threatens to re-create a Giocoso Pro database server from scratch, which potentially involves data destruction! If you &lt;em&gt;really&lt;/em&gt; want to do either of those things, you now need to type in the relevant menu option number: pressing [Enter] on those two menus (often by accident!) now no longer does anything.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Modified Feature&lt;/strong&gt;: The aggregate statistics report has always reported on &amp;#039;Average number of plays per day&amp;#039;. That has now been modified to be &amp;#039;Average number of plays per day in past year&amp;#039;: the underlying query now only looks at &amp;#039;today minus 365 days&amp;#039;. It seemed pointless to average your plays over (potentially!) a decade or more, as if the figure would be meaningful.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;New Feature&lt;/strong&gt;: In Version 3.12, the ability to create notes about a currently-playing recording was introduced. This capability remains as-was, but the new feature in Version 3.30 is that, if the program is operating in &amp;#039;Pro mode&amp;#039;, notes are now stored in the globally-shared database, not as a single text file stored on the local playing device. &lt;strong&gt;Global Notes&lt;/strong&gt;, as the feature is called, only permits one note per recording, but a note can be added to at will, as often as you like, and can be up to 4GB in size. When adding a note, you tap the &amp;#039;n&amp;#039; key (as in previous Giocoso versions) and the nano editor opens automatically. When saving the text file, it&amp;#039;s stored back into the Pro database, where it can then be accessed for read-only purposes by any other Giocoso Pro client device. Global notes are displayed within the main Giocoso program window in a simple, &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt;-like text file display tool. Non-Pro notes made prior to this release are still stored on local disk, but are no longer accessible through Giocoso for as long as the program runs in Pro mode.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Changed Feature&lt;/strong&gt;: The syntax for doing command-line database refreshes has been clarified (i.e., changed!). You need to check your crontab to ensure it is submitting things in the correct way. The syntax is now: /usr/bin/giocoso3.sh &lt;span class=&quot;wrap_redtext &quot;&gt;music_database_name&lt;/span&gt; &lt;span class=&quot;wrap_bluetext &quot;&gt;/some/dir/of/music&lt;/span&gt; &lt;span class=&quot;wrap_greentext &quot;&gt;--fullrefresh&lt;/span&gt; (or &lt;span class=&quot;wrap_greentext &quot;&gt;--fastrefresh&lt;/span&gt; if that&amp;#039;s the refresh mode you&amp;#039;re wanting to use). Basically, you invoke Giocoso with three arguments: &lt;span class=&quot;wrap_redtext &quot;&gt;database&lt;/span&gt;, &lt;span class=&quot;wrap_bluetext &quot;&gt;music folder&lt;/span&gt; and the full or fast &lt;span class=&quot;wrap_greentext &quot;&gt;refresh type switch&lt;/span&gt;, in that order.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;New Feature&lt;/strong&gt;: If you operate in &amp;#039;Pro mode&amp;#039;, one client device can pause the playback of a recording and a different client device can resume that same recording from where the first got to (give or take a second), a feature called &lt;strong&gt;Global Pause/Resume&lt;/strong&gt;. If you are listening to some Wagner in the listening room late in the evening and fancy completing the opera propped up in bed on the laptop, Giocoso Pro features now let you do exactly that: music can now follow you around the house and to different devices at will.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Bug Fix&lt;/strong&gt;: If one Giocoso session is playing music, a second session is not supposed to be able to initiate music playback. The test to check for this condition was broken by the changes introduced in Version 3.20, however. The new release implements the correct check once more, thus again making a second session unable to start music playback when another session is already engaged in it.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Bug Fix&lt;/strong&gt;: The “Selection: X of Y” counter did not increment the &amp;#039;X&amp;#039; component of the play count in any play mode &lt;em&gt;except&lt;/em&gt; the default. If you did a play by &amp;#039;selection filter&amp;#039; or an &amp;#039;advanced SQL selection&amp;#039; or a &amp;#039;play from a playlist&amp;#039;, the &amp;#039;X&amp;#039; was always stuck at 1 (a bug introduced in Version 3.20, sadly). Now fixed: it increments by 1 every time a recording completes a play no matter which play mode you&amp;#039;re using.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Bug Fix&lt;/strong&gt;: When manually creating a new playlist, previous Giocoso versions would pre-populate it with the last-played recording (if there had been one), rather than creating it genuinely blank. That now doesn&amp;#039;t happen: the &lt;strong&gt;Play Music&lt;/strong&gt; menu, &lt;strong&gt;Option 7&lt;/strong&gt; now always creates completely-blank playlists.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Minor Enhancement&lt;/strong&gt;: The &lt;strong&gt;Database Management&lt;/strong&gt; menu, &lt;strong&gt;Option 6: Backup a local database&lt;/strong&gt; now displays a message explaining where the new local database backup can be found on your file system.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Minor Enhancement&lt;/strong&gt;: The &lt;strong&gt;Database Management&lt;/strong&gt; menu, &lt;strong&gt;Option 7: Optimise a local database&lt;/strong&gt; now tells you the before and after sizes of the database on disk, so you can see something has actually been achieved by the optimisation process. If there&amp;#039;s no size difference, before to after, then you&amp;#039;re told that too.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Minor Enhancement&lt;/strong&gt;: If you press &amp;#039;B&amp;#039; on any menu, Giocoso tries to launch the sqlitebrowser tool for managing local, Sqlite databases. If that tool has not been installed on your system, however, the &amp;#039;B&amp;#039; key simply appeared to do nothing in earlier Giocoso versions: now a message will be displayed explaining that for &amp;#039;B&amp;#039; to do anything, &lt;em&gt;you&lt;/em&gt; have to manually install sqlitebrowser first.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Minor Enhancement&lt;/strong&gt;: When editing the configuration file (&lt;strong&gt;Administration&lt;/strong&gt; menu, &lt;strong&gt;Option 2&lt;/strong&gt;), if you pressed [Cancel] half-way through the editing process, the entire configuration file would revert to default values, losing any non-defaults you may have previously set. Now, cancelling at any point aborts the entire editing process &lt;em&gt;and restores things to the way they were before you started editing anything&lt;/em&gt;. Instead of reverting to defaults, you revert to the configuration file values you began with, in other words.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Minor Enhancement&lt;/strong&gt;: When producing advanced SQL reports (&lt;strong&gt;Reporting&lt;/strong&gt; menu, &lt;strong&gt;Option 5&lt;/strong&gt;), the panel in which you type your query will now remember the last query you typed, so won&amp;#039;t ever open blank except on the first time of use. Any previous query displayed can be edited to become a new query (which will then be remembered for the next time of use). A previous query can also simply be wiped, so that a new query can be typed in &lt;em&gt;ab initio&lt;/em&gt;. An additional refinement to the way advanced SQL queries work is that you don&amp;#039;t return to the main program menu after each query: the query form remains open for typing/editing and re-submitting until such time as you explicitly press [Cancel].
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Minor Enhancement&lt;/strong&gt;: When creating a database for the first time, Giocoso runs off to the proposed &amp;#039;root of the music collection&amp;#039; folder provided by the user and checks whether any FLACs are stored within that folder hierarchy. In previous versions, it performed a &lt;em&gt;complete&lt;/em&gt; count of FLACs before deciding whether the proposed folder was a &amp;#039;good&amp;#039; one or not. That was a bit of over-kill, in the sense that you only really need to find one FLAC in the folder structure to know the folder choice was legitimate. New in Version 3.30, therefore, as soon as one FLAC is found, the counting process stops, resulting in significantly faster progress towards actually processing/analysing the FLACs. The database creation process speeds up as a result.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
&lt;span class=&quot;wrap_centermessage &quot;&gt;Please note: This indicates the end of the 3.2x line of Giocoso. Entries above this are for version 3.3x and higher.&lt;/span&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Giocoso Version 3.30 - March 7th, 2025&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;giocoso_version_330_-_march_7th_2025&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;45552-&amp;quot;} --&gt;
&lt;!-- cachefile /var/www/dokuwiki/data/cache/4/47f864c8bc49b6c3e4ef3c8ff94ec3d8.xhtml used --&gt;
</description>
    </item>
    <item rdf:about="https://www.bbritten.com/softwares/giocoso/gioinstall">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T10:59:44+00:00</dc:date>
        <dc:creator>hjr (hjr@undisclosed.example.com)</dc:creator>
        <title>gioinstall - [2.0 Installation] </title>
        <link>https://www.bbritten.com/softwares/giocoso/gioinstall</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;installing_giocoso&quot;&gt;Installing Giocoso&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installing Giocoso&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installing_giocoso&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-33&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;operating_system_support&quot;&gt;1.0 Operating System Support&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
There are four levels of support for installing Giocoso onto assorted Linux distros and other operating systems, as follows:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 1: Used by me daily, on real hardware, extensively tested, guaranteed to work&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 2: Used by me infrequently, only in virtual machines, lightly tested, tested extensively in the past, things will almost certainly work&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 3: Hardly ever used by me and then only in virtual machines. No testing done, unless specific issues are reported, but has worked in the past just fine, so things &lt;em&gt;ought&lt;/em&gt; still to work, too&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 4: Thought to work, and tested to work in the past, but you&amp;#039;re really on your own.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Putting specific, named distros into each tier goes as follows:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 1: AlmaLinux 9 and 10; Raspberry Pi &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, Fedora, Linux Mint, Apple macOS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 2: Debian, EndeavourOS, Ubuntu&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 3: OpenSuse Leap &amp;amp; Tumbleweed, GeckoLinux, Arch, Manjaro, Garuda Linux, Devuan, Linux Mint Debian Edition, Peppermint &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, MX Linux, AntiX Linux, Pop! &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, Linux Lite, Zorin &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, Elementary &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, KDE Neon, Tuxedo &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, Nobara, Ultramarine&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tier 4: Windows&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Every listed distro &lt;em&gt;did&lt;/em&gt; run Giocoso perfectly at some time in the past and, if the distro developers haven&amp;#039;t messed around with core libraries too much, they &lt;em&gt;should&lt;/em&gt; still work. However, only those distros in Tier 1 will receive extensive real-world testing from Version 3.32 and up. Other distros will receive either light-touch testing to make sure most things seem to work fine (Tier 2), or will only be tested on-demand by users reporting specific problems (Tier 3). I&amp;#039;ve provided some distro-specific notes and gotchas elsewhere.
&lt;/p&gt;

&lt;p&gt;
Apple became a Tier 1 operating system when I decided at the end of January 2026 to invest in a brand new Apple Silicon iMac. It&amp;#039;s now my principle desktop operating system and, as my daily driver, is going to be the platform on which I test things out most thoroughly. I also have access to a couple of old Apple iMacs (from 2015 and 2012) that use Intel CPUs and can only run modern versions of the operating system thanks to Open Core Legacy Patcher: their &amp;#039;officially supported&amp;#039; operating systems end with Catalina and Monterey respectively. Accordingly, Giocoso will be a Tier 1 supported application on only Catalina, Monterey and whatever &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt; version runs on a 2024 iMac (Tahoe, probably). All other &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt; versions will be Tier 4 support: definitely do-able and definitely done and &lt;a href=&quot;https://bbritten.com/softwares/giocoso/macos&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://bbritten.com/softwares/giocoso/macos&quot; rel=&quot;ugc nofollow noopener&quot;&gt;documented&lt;/a&gt;: but you&amp;#039;re essentially on your own.
&lt;/p&gt;

&lt;p&gt;
Windows is a bit of a special case, because it probably runs Giocoso just fine… but I have no means of knowing that for sure. Windows 10 reached end of Microsoft&amp;#039;s official support back in October 2025, so all the hardware I have running Giocoso on Windows 10 is now no longer representative of anything supported by the operating system&amp;#039;s own manufacturer. Windows 11 is, of course, fully supported by Microsoft -but I literally have no hardware that is officially supported for running it. I can &lt;em&gt;hack&lt;/em&gt; Windows 11 onto a bunch of spare hardware, but it will be an unsupported and unrepresentative platform. The principle, however, is that if you get Windows running the Windows Subsystem for Linux (WSL2) then you can install one of the supported distros on that (for example, Ubuntu or Fedora) and Giocoso will run perfectly well in that environment. So, it&amp;#039;s not that Giocoso won&amp;#039;t run on Windows: it&amp;#039;s just that I now expend zero development effort proving it does so. Any issues arising as you try to run it are therefore really yours to resolve. I will certainly offer advice and help if asked, but it will be merely on a &amp;#039;best efforts&amp;#039; basis. In the meantime, I have written &lt;a href=&quot;https://www.bbritten.com/softwares/giocoso/win11&quot; class=&quot;wikilink1&quot; title=&quot;softwares:giocoso:win11&quot; data-wiki-id=&quot;softwares:giocoso:win11&quot;&gt;installation instructions for Windows 11 here&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Giocoso does &lt;strong&gt;not&lt;/strong&gt; work on the Solus Linux distro.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1.0 Operating System Support&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;operating_system_support&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;34-3899&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;installation&quot;&gt;2.0 Installation&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The basic installation procedure for any supported operating system is, in a new terminal session:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wget https://software.bbritten.com/gioinst&lt;/pre&gt;

&lt;p&gt;
The installer is small (around 20KB) , so it will take hardly any time to download it. Once  the installer has been downloaded, you launch it in the same folder you saved it to, with the command:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;bash gioinst&lt;/pre&gt;

&lt;p&gt;
You will first see a screen warning you that the installer will make quite a few changes to your system, if you let it:
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20251017_164858.jpg?w=650&amp;amp;tok=a5056e&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
You need to type &amp;#039;y&amp;#039; (and then press [Enter]) to proceed. If you type anything else, the installer will terminate without having touched your system at all.
&lt;/p&gt;

&lt;p&gt;
At the end of the installation, when you first run Giocoso, you &lt;em&gt;may&lt;/em&gt; find the program display garbled (it is equally possible you won&amp;#039;t!). If you do, just visit the &lt;strong&gt;Administration&lt;/strong&gt; menu, take &lt;strong&gt;Option 2&lt;/strong&gt; to “edit the configuration file” and then press [Enter] through the various options (without changing any of them, really) until you return to the main program display: you should find all visual glitches gone (though you may need to go &lt;em&gt;back&lt;/em&gt; into the configuration options to adjust the size of the program logo: it defaults to being 220&amp;times;220 pixels in size and that might be too large on standard 1080p resolution displays).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2.0 Installation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3900-5274&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;software_packages_needed_for_giocoso_to_work&quot;&gt;2.1 Software packages needed for Giocoso to work&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
To start with, the Giocoso installer will check for the presence of various packages on your system and will seek to install any that it finds to be missing. You can usually just let it do it&amp;#039;s thing at this point, but if you are interested, here are the packages/programs that Giocoso deems essential to install:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sqlite3 (a database)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ImageMagick (an image processing program)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ncurses (a program that allows command-line interfaces to look a bit more like graphical interfaces)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; grep (a text processing program)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; libsixel (a program which allows pictures to be displayed inside a terminal)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; util-linux (a program that allows for the generation of universally unique identifiers, or UUIDs)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fontconfig (a utility for managing fonts) bc (a computational library that allows Bash to do floating point arithmetic)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fmt (a tool allowing text messages to be wrapped across a terminal with proper formatting)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; xdotool (a utility allowing command-line management of window placement and sizing)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; xdpyinfo (a utility for determining the current screen resolution)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; flac (the library that allows FLAC audio files to be read and understood)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ffmpeg (an audio player)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; xclip (a little utility allowing command line management of the clipboard)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; nano (a simple text editor)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; curl (a command line tool for fetching files across the Internet)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; xterm (a terminal emulator or console window)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; dialog (a program that allows programs to draw &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt;-like message boxes, file selectors and so on)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
If having any of those installed on your system gives you cause for concern, type &amp;#039;n&amp;#039; when the installer prompts you and give up on the idea of installing Giocoso altogether: the program cannot run without all of them being present, I&amp;#039;m afraid.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2.1 Software packages needed for Giocoso to work&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;software_packages_needed_for_giocoso_to_work&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;5275-7108&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;a_word_about_fonts_and_display_sizes&quot;&gt;2.2 A Word About Fonts and Display Sizes&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Giocoso runs in a terminal session that is ideally at least 103 columns wide and 28 tall. Your choice of default font to use in such a terminal session will determine how Giocoso appears. It can look like this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_peppermint_2025-10-21_13_34_40.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_peppermint_2025-10-21_13_34_40.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_peppermint_2025-10-21_13_34_40.png?w=650&amp;amp;tok=8066d6&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…or like this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_peppermint_2025-10-21_13_35_44.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_peppermint_2025-10-21_13_35_44.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_peppermint_2025-10-21_13_35_44.png?w=650&amp;amp;tok=390f1f&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
…or, if you really decide to pick unfortunate choices of default font and font-size, this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_peppermint_2025-10-21_13_36_17.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_peppermint_2025-10-21_13_36_17.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_peppermint_2025-10-21_13_36_17.png?w=650&amp;amp;tok=a27395&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
From that last example in particular, you can see that injudicious font choice (or font-size choice) can really mess with Giocoso&amp;#039;s display, with the program logo over-writing or colliding with the line drawing characters. To mitigate against this, Giocoso installs a few open source fonts whose existence can then be relied on to produce acceptable-looking program display. The main one is &lt;em&gt;Luxi Mono&lt;/em&gt;: choose that as your terminal&amp;#039;s default font at 12-point size and Giocoso is more or less guaranteed to display things correctly. The program shortcuts that the Giocoso installer places on your desktop and in your start menu are pre-configured to use Luxi Mono 12-point for their display, too, so they are auto-configured to display things correctly &amp;#039;out of the box&amp;#039;.
&lt;/p&gt;

&lt;p&gt;
If you choose to use different fonts, that&amp;#039;s fine too: but you may have to play around with point sizes to get an acceptable program display.
&lt;/p&gt;

&lt;p&gt;
Also note that the Giocoso installer will install the Libre Baskerville font (another open source font, so no licensing issues arise). This is a non-monospaced font (so has nothing to do with the program display in a terminal session), but is instead used to create the &amp;#039;caption labels&amp;#039; that appear underneath displayed album art. The use of this font is hard-coded and cannot be changed.
&lt;/p&gt;

&lt;p&gt;
A final factor to consider that will affect program display is the size of the album art that Giocoso will display as each new recording starts. This is configurable in the Administration menu, Option 2:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20251021_135006.jpg&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_20251021_135006.jpg&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20251021_135006.jpg?w=650&amp;amp;tok=11ccdf&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The default size is 320 (meaning that images will be displayed with a width of 320 pixels). You can increase or decrease this as the mood takes you, but don&amp;#039;t expect the results to look very good if you over-size things:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20231013_121247.png&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_20231013_121247.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20231013_121247.png?w=650&amp;amp;tok=12cb75&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Use of Giocoso may need a little bit of finagling at the start, in order to get these sorts of visual issues sorted. In general, however, if you&amp;#039;re displaying Giocoso in a 103&amp;times;28 terminal with a default, monospaced font that&amp;#039;s 12px in size and with album art dimensions set to 320px, you will &lt;em&gt;probably&lt;/em&gt; have zero display problems.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2.2 A Word About Fonts and Display Sizes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;a_word_about_fonts_and_display_sizes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7109-9936&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;getting_started_post-install&quot;&gt;3.0 Getting Started, post-Install&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Once Giocoso is installed, you can launch it by (a) clicking on the launcher provided on the Desktop (some distros require you to &amp;#039;trust&amp;#039; or &amp;#039;mark as executable&amp;#039; the launcher before it will work); or (b) clicking the option provided somewhere in the main menu, which is usually to be found under &amp;#039;Multimedia&amp;#039; or (depending on distro) &amp;#039;Sounds &amp;amp; Video&amp;#039;. The main program display should then appear:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20251017_171540.jpg&quot; class=&quot;media&quot; title=&quot;software:giocoso:screenshot_20251017_171540.jpg&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/giocoso/screenshot_20251017_171540.jpg?w=650&amp;amp;tok=b68b64&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Operation of the program beyond this point is hopefully self-explanatory: the &lt;strong&gt;Play Music&lt;/strong&gt; menu lets you select and play music; the &lt;strong&gt;Database Management&lt;/strong&gt; menu lets you create a music database and then add new recordings to it; the &lt;strong&gt;Reporting&lt;/strong&gt; menu lets you query your music database and generate reports from it, such as how many recordings you own, what proportion of them you&amp;#039;ve played and so on; the &lt;strong&gt;Administration&lt;/strong&gt; menu lets check for program updates or re-configure the persistent configuration file, and similar tasks. The &lt;strong&gt;Pro&lt;/strong&gt; menu is where advanced networking functionality resides (for example, pausing a play of music in your listening room and resuming it in the garden shed!). 
&lt;/p&gt;

&lt;p&gt;
Use the left- and right-arrow keys to select a menu option and have its various options displayed. You can also tap the letter corresponding to the relevant menu: &amp;#039;R&amp;#039; jumps you to the &lt;strong&gt;R&lt;/strong&gt;eporting menu, for example; &amp;#039;D&amp;#039; gets you directly to the &lt;strong&gt;D&lt;/strong&gt;atabase Management menu, and so on. Once any given menu is displayed, tap the number shown against a menu item to select that item. For example, tap &amp;#039;2&amp;#039; when the Play Music menu is selected to perform a &amp;#039;play music from selection filters&amp;#039; operation.
&lt;/p&gt;

&lt;p&gt;
The usual way to get started with the program would be, though not necessarily in this order:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Database Management → Create a music database&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Administration → Create or Edit the Configuration File&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Play Music → Play music with defaults&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
The underlying issue here is that you need (a) to have a database listing all the FLACs you possess; and (b) to have Giocoso configured to open that database by default; and (c) only when the configured default database name matches the database you&amp;#039;ve actually created can you then play music using it.
&lt;/p&gt;

&lt;p&gt;
By default, Giocoso is configured to expect the existence of a database called &lt;strong&gt;music&lt;/strong&gt;. If you therefore start by creating a database of that name, Giocoso will be fine: as soon as a database of that name is populated with details of the music you own, you&amp;#039;ll be able to use Giocoso to play it. If you want to name your database something else, that&amp;#039;s OK too: use the Database Management menu to create it, then use the Administration menu to adjust the configuration file to use that distinctively-named database as the default and &lt;em&gt;then&lt;/em&gt; you&amp;#039;ll be able to play music.
&lt;/p&gt;

&lt;p&gt;
Beyond that quick-start approach, however, you should read the relevant pages elsewhere in &lt;a href=&quot;https://www.bbritten.com/giocoso&quot; class=&quot;wikilink2&quot; title=&quot;giocoso&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;giocoso&quot;&gt;the user manual&lt;/a&gt; for an exploration (and explanation!) of the rest of the program&amp;#039;s functionality.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3.0 Getting Started, post-Install&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;getting_started_post-install&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;9937-13015&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;conclusion&quot;&gt;4.0 Conclusion&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Summarising things as compactly as I can, then:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Read your distro&amp;#039;s specific installation notes, to see if there are any pre- or post-installation steps you&amp;#039;ll need to take&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Fully update your distro, so that it&amp;#039;s using the latest packages and patches&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;wget &lt;a href=&quot;https://software.bbritten.com/gioinst&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://software.bbritten.com/gioinst&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://software.bbritten.com/gioinst&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;bash gioinst&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Launch Giocoso and create a new database. If it&amp;#039;s called “music”, play music immediately. If it&amp;#039;s called something other than “music”, alter the configuration file to use the non-default-named database instead and &lt;em&gt;then&lt;/em&gt; play music&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
I hope all your Giocoso Version 3 installations work successfully and that you get up-and-running with the new program quickly and painlessly!
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
[ &lt;a href=&quot;https://www.bbritten.com/softwares/giocoso/giocoso&quot; class=&quot;wikilink1&quot; title=&quot;softwares:giocoso:giocoso&quot; data-wiki-id=&quot;softwares:giocoso:giocoso&quot;&gt;Back to Giocoso Home Page&lt;/a&gt; ]
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;4.0 Conclusion&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;conclusion&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;13016-&amp;quot;} --&gt;
&lt;!-- cachefile /var/www/dokuwiki/data/cache/2/2acb764c9467bee1e565cb1a0e79b764.xhtml used --&gt;
</description>
    </item>
</rdf:RDF>
