<?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:niente</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:42:58+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.bbritten.com/softwares/niente/neninstall"/>
                <rdf:li rdf:resource="https://www.bbritten.com/softwares/niente/nenchange"/>
            </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/niente/neninstall">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T11:06:10+00:00</dc:date>
        <dc:creator>hjr (hjr@undisclosed.example.com)</dc:creator>
        <title>neninstall - [2.0 Installation] </title>
        <link>https://www.bbritten.com/softwares/niente/neninstall</link>
        <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;installing_niente&quot;&gt;Installing Niente&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 Niente&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installing_niente&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-32&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 Niente 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 well&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, mostly 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 ought 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, 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, Raspberry Pi &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;&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 did run Niente perfectly at some time in the past and, if the distro developers haven&amp;#039;t messed around with core libraries too much, they should still work. However, only those distros in Tier 1 will receive extensive real-world testing from Version 4.04 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;
Raspberry Pi &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt; is in Tier 2 simply because of performance issues: Niente&amp;#039;s integrity checks are quite CPU intensive and neither the Pi 3 or 4 have the required &amp;#039;oomph&amp;#039; to do integrity checks on a large music collection this side of eternity. I do run a Pi 4 as my main music &lt;em&gt;playing&lt;/em&gt; machine and Niente has been installed on it and works reliably… so it &lt;em&gt;ought&lt;/em&gt; to qualify as a Tier 1 platform. I simply can&amp;#039;t recommend it to anyone that wants it to run at adequate speed, however, which is why it&amp;#039;s down at Tier 2. If I ever spring for a Pi 5, its support status may yet be subject to promotion, but I wouldn&amp;#039;t hold my breath!
&lt;/p&gt;

&lt;p&gt;
Be aware that if you install Niente on Alma Linux 9, then &lt;a href=&quot;https://almalinux.org/blog/2025-07-07-elevate-to-el-10/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://almalinux.org/blog/2025-07-07-elevate-to-el-10/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;upgrade your OS&lt;/a&gt; to Alma Linux 10, ffmpeg may suddenly cease to be an installed program! (Guess how I know…). Any full or differential integrity check you then perform will be unable to compute a fresh MD5 hash on your FLACs&amp;#039; audio streams: every FLAC will thus be declared &amp;#039;potentially physically corrupt&amp;#039;. To re-install ffmpeg, you will need to add the RPM Fusion Free release repository. See &lt;a href=&quot;https://rpmfusion.org/Configuration&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://rpmfusion.org/Configuration&quot; rel=&quot;ugc nofollow noopener&quot;&gt;this page&lt;/a&gt; for details on how to do that. Once it&amp;#039;s been configured, a &lt;strong&gt;sudo dnf install ffmpeg&lt;/strong&gt; will work, and new Niente integrity checks will work as intended. Alternatively, just do a fresh install of Niente: the Niente installer automatically knows how to install &lt;em&gt;all&lt;/em&gt; the repositories and software it needs.
&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, Niente 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 M4 iMac (Tahoe, at the moment). 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 documented: 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 Niente 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 Niente 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 hack 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 Niente will run perfectly well in that environment. So, it&amp;#039;s not that Niente 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 installation instructions for Windows 11 here.
&lt;/p&gt;

&lt;p&gt;
Niente does not 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;33-5336&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 software.bbritten.com/neninst&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 neninst&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;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_20251021_142127.jpg&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_20251021_142127.jpg&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_20251021_142127.jpg?w=650&amp;amp;tok=d65362&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;
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 Niente, you may 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 1&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 back into the configuration options to adjust the size of the program logo: it defaults to being 220×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;5337-6699&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;software_packages_needed_for_niente_to_work&quot;&gt;2.1 Software packages needed for Niente to work&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
To start with, the Niente 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 Niente deems essential to install:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; bc (program allowing Bash to perform non-integer arithmetic)&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 and video stream interpreter)&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)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sqlite3 (a simple database)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; coreutils (a set of essential libraries, providing functionality like MD5 hash computation)&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: works with both ImageMagick versions 6.x and 7.x)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fd or fd-find, depending on distro (a file searching program)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; dialog (a program allowing the creation and display of user input forms for the terminal)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; cuetools (a program allowing the handling of cue sheets for merged FLACs)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; curl (a program to perform file downloads)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
If having any of this software 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 Niente 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 Niente to work&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;software_packages_needed_for_niente_to_work&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;6700-8070&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&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 Niente 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/niente/screenshot_20251021_164825.jpg&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_20251021_164825.jpg&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_20251021_164825.jpg?w=650&amp;amp;tok=07e3fb&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, with the &amp;#039;top menu&amp;#039; giving access to each of the three main functional components of Niente in turn, plus the various administrative, housekeeping functions:: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Database: The initial creation and population of a database listing every FLAC file in your music collection&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Integrity Checks: Scan the FLAC files listed in the database and extract metadata and physical characteristics from them&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Reporting: Query the database and generate lists of files which fail particular physical or logical consistency tests&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Administration: Various configuration or program management options&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
In all cases, top-bar menu options can be accessed by right- or left-arrow keys (the menu wraps, so a right-arrow from &lt;strong&gt;Quit&lt;/strong&gt; takes you back to &lt;strong&gt;Database&lt;/strong&gt;, for example), or by tapping the first letter of the menu name (so tapping &amp;#039;D&amp;#039; gets you directly to Database, &amp;#039;R&amp;#039; to Reporting and so on). Once a top-bar menu option has been selected, the numbered menu items within that option will be displayed and can be invoked simply by tapping the number associated with the item. Thus tapping &amp;#039;D&amp;#039;, then &amp;#039;4&amp;#039;, will invoke the database wiping option; &amp;#039;I&amp;#039; then &amp;#039;3&amp;#039; will trigger a fast integrity check, and so on.
&lt;/p&gt;

&lt;p&gt;
A handful of options are accessible regardless of which top-bar menu is selected: they are accessible at any time by tapping the letter associated with them (these options are listed on the right-hand side of the main program display area). Thus tapping &amp;#039;X&amp;#039; will exit the program, whilst tapping&amp;#039;L&amp;#039; will remove the prgram lock (which prevents two file scanning operations from taking place at the same time).
&lt;/p&gt;

&lt;p&gt;
Beyond that quick-start approach, however, you should read the relevant pages elsewhere in the user manual 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;:5,&amp;quot;range&amp;quot;:&amp;quot;8071-10457&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&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;ul&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; wget software.bbritten.com/neninst&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; bash neninst&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; type niente at a command prompt to launch the program, or click on one of the graphical launchers provided&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
I hope all your Niente Version 4 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;strong&gt;&lt;a href=&quot;https://www.bbritten.com/software-menu&quot; class=&quot;wikilink1&quot; title=&quot;software-menu&quot; data-wiki-id=&quot;software-menu&quot;&gt;Back to Software Home&lt;/a&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;a href=&quot;https://www.bbritten.com/softwares/niente/niente&quot; class=&quot;wikilink1&quot; title=&quot;softwares:niente:niente&quot; data-wiki-id=&quot;softwares:niente:niente&quot;&gt;Back to Niente Documentation Home&lt;/a&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;a href=&quot;https://www.bbritten.com/softwares/niente/nenquick&quot; class=&quot;wikilink1&quot; title=&quot;softwares:niente:nenquick&quot; data-wiki-id=&quot;softwares:niente:nenquick&quot;&gt;Quick Start Guide&lt;/a&gt;&lt;/strong&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;:6,&amp;quot;range&amp;quot;:&amp;quot;10458-&amp;quot;} --&gt;
&lt;!-- cachefile /var/www/dokuwiki/data/cache/e/eff278e5fbf39483d401d2db65d3bdbf.xhtml used --&gt;
</description>
    </item>
    <item rdf:about="https://www.bbritten.com/softwares/niente/nenchange">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-28T20:36:54+00:00</dc:date>
        <dc:creator>hjr (hjr@undisclosed.example.com)</dc:creator>
        <title>nenchange</title>
        <link>https://www.bbritten.com/softwares/niente/nenchange</link>
        <description>
&lt;p&gt;
&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/beethoven-inspecting9.png?w=220&amp;amp;tok=4dc8ed&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;h1 class=&quot;sectionedit1&quot; id=&quot;changelog&quot;&gt;Changelog&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This page describes the changes made in each point release of Niente since its first release as &lt;strong&gt;version 4.00&lt;/strong&gt; on September 10th, 2024.
&lt;/p&gt;

&lt;p&gt;
Versions with dates attached have been released into the wild and made generally available: if an entry says &amp;#039;proposed for release&amp;#039;, it&amp;#039;s a best-guess as to when a release &lt;em&gt;will&lt;/em&gt; happen, but it&amp;#039;s not guaranteed to &lt;em&gt;actually&lt;/em&gt; happen on that date. It could slip a few weeks, or even happen earlier than scheduled, depending on circumstances.
&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;Changelog&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;changelog&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;61-573&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;niente_version_405_-_march_28th_2026&quot;&gt;Niente Version 4.05 - March 28th, 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;: Integrity checks were mis-handling the storing of ReplayGain information. The version invoked with command-line switches (e.g., &lt;strong&gt;niente --check-differential&lt;/strong&gt;) were simply unaware of the need to collect ReplayGain data at all; the version invoked with interactive menu options only collected ReplayGain data under certain circumstances. The code now collects ReplayGain data correctly in all appropriate circumstances, regardless of the method by which the code is invoked.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: Menus have had spaces removed from them, since they suggested meaning or significant grouping of options that was not really intended. The program logo is now used to display on the right-hand side, in a similar manner to both Semplice and Giocoso. Where once you had this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-24_at_12.28.51.png&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_2026-03-24_at_12.28.51.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-24_at_12.28.51.png?w=600&amp;amp;tok=6e4962&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;
…now you&amp;#039;ll have this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-24_at_12.29.46.png&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_2026-03-24_at_12.29.46.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-24_at_12.29.46.png?w=600&amp;amp;tok=298d4f&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 lettered options are still distinct from the others (as they perform one-off type program alterations, rather than data processing functions), but otherwise all menu options appear now undifferentiated. The right-hand panel is now entirely given over to displaying the program logo, rather pointlessly: that entire half of the display may disappear in a future release but has been left there for now, in case it might become useful in future.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: Niente is now “colour aware”: a new menu item in the Administration menu allows you to alter the colours assigned to each display element of the Niente program interface (such as the box- or line-drawing characters, the logo text, the menu option text and so on). In this respect, the program acquires the same colour management facilities that Semplice and Giocoso possess. The new menu option is on the &lt;strong&gt;Administration&lt;/strong&gt; menu, &lt;strong&gt;Option 6: Change the program colour scheme&lt;/strong&gt;:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-27_at_10.41.29.png&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_2026-03-27_at_10.41.29.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-27_at_10.41.29.png?w=600&amp;amp;tok=4c4b77&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 various program &amp;#039;drawing elements&amp;#039; are listed with a colour number assigned to each. The defaults can be restored by tabbing round to highlight the [Reset to Defaults] button. Any of the 16 colours can be assigned to any option, allowing this sort of thing:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-27_at_10.48.02.png&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_2026-03-27_at_10.48.02.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-27_at_10.48.02.png?w=600&amp;amp;tok=301970&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;
&lt;em&gt;Exactly&lt;/em&gt; the same colour number assignment can also produce this result, however:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-27_at_10.48.51.png&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_2026-03-27_at_10.48.51.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-03-27_at_10.48.51.png?w=600&amp;amp;tok=97ccb3&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;
…which is significantly less usable! The specific colours assigned, in other words, will render differently depending on your &lt;em&gt;terminal&amp;#039;s&lt;/em&gt; choice of colour profile, so some experimentation will be needed to avoid usability horrors!
&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;Niente Version 4.05 - March 28th, 2026&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;niente_version_405_-_march_28th_2026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;574-3362&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;niente_version_404_-_february_28th_2026&quot;&gt;Niente Version 4.04 - February 28th, 2026&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This is a significant release for Niente. The key areas to focus on are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Running on macOS (now a Tier 1 supported platform)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Running on Almalinux 9 and 10 (similarly, both are now Tier 1 supported platforms)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Visually more appealing screens when performing long-running operations&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; All reporting now done by output to &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; documents, viewable in a separate browser&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Making it ReplayGain aware&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Some specifics:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Major Enhancement&lt;/em&gt;&lt;/strong&gt;: Niente has been significantly re-written and re-factored to ensure it runs on macOS (tested on Tahoe on Apple Silicon and Monterey on Intel) and on both Almalinux 9 and 10.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Visual Appearance&lt;/em&gt;&lt;/strong&gt;: When performing long-running operations, such as performing an integrity check, a volume boost scan or a check of album art, Niente will now display progress with screens such as this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-02-19_at_12.48.55.png&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_2026-02-19_at_12.48.55.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-02-19_at_12.48.55.png?w=600&amp;amp;tok=58b77e&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;
Compare that to how it looked in the previous version:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_detail/softwares/niente/screenshot_from_2026-02-10_17-16-06.png?id=softwares%3Aniente%3Anenchange&quot; class=&quot;media&quot; title=&quot;softwares:niente:screenshot_from_2026-02-10_17-16-06.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_from_2026-02-10_17-16-06.png?w=650&amp;amp;tok=e8dbe9&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;
Many such screens now have a graphical progress bar and an “ETA”: an &lt;em&gt;estimate&lt;/em&gt; (in Microsoft fashion, typically wildly wrong at the start of whatever process is being performed!) of when the operation is likely to take to complete.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Significant Enhancement&lt;/em&gt;&lt;/strong&gt;: All Niente&amp;#039;s reports are now produced as (hopefully!) professional-looking, responsive &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt; documents in a web browser (from where they can be printed or exported to text files):
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-02-11_at_20.25.06.png&quot; class=&quot;media&quot; title=&quot;software:niente:screenshot_2026-02-11_at_20.25.06.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/software/niente/screenshot_2026-02-11_at_20.25.06.png?w=650&amp;amp;tok=a3ffa8&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;
Every report has been overhauled to make the SQL more robust logically and additional items in the &lt;em&gt;Other Reports&lt;/em&gt; menu mean that items on the Aggregate Statistics report have been renumbered correspondingly.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Removed Feature&lt;/em&gt;&lt;/strong&gt;: Since all Niente&amp;#039;s reports are now produced via a web browser, there is no need to configure a “Default terminal font (for reports)” in the &lt;strong&gt;Administration&lt;/strong&gt; menu, &lt;strong&gt;Option 1 : Edit Configuration File&lt;/strong&gt;. That configuration item has therefore been removed and, if the parameter is supplied by manually editing the configuration file, it is simply ignored. The same is true of the &amp;#039;Default font size (for reports)&amp;#039; parameter. 
&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 option to specify a &lt;strong&gt;Preferred browser&lt;/strong&gt; has been created. This can be set to be the name of any web browser &lt;em&gt;executable&lt;/em&gt; installed on your system (for example, &amp;#039;firefox&amp;#039; or &amp;#039;chromium&amp;#039;). This will then be the browser Niente tries to open its reports with. If you name something which doesn&amp;#039;t exist, your system&amp;#039;s default browser will be used as a fallback option. The same is true if you don&amp;#039;t add a value to the new parameter at all. Leaving it blank is actually the default value, too: it&amp;#039;s probably safer and more reliable to open reports with the system&amp;#039;s default browser than to attempt to name a browser executable that might be wrong or may not behave well in conjunction with Niente.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement/New Feature&lt;/em&gt;&lt;/strong&gt;: When performing an incremental search for new music files (&lt;strong&gt;Database&lt;/strong&gt; menu, &lt;strong&gt;Option 3&lt;/strong&gt;), a new check is performed to ensure that the folder being scanned for new files isn&amp;#039;t, in fact, substantially empty. If the selected music folder contains less than 80% of the records already in the database, that suggests something odd might be happening with the music folder. Rather than just go ahead and scan (and thus bulk-delete apparently now non-existent music files from the database), a warning message will be displayed. If you select &amp;#039;yes&amp;#039; to continue, fine: the scan will proceed. Any other response will abort the proposed incremental scan. For example, if your NAS mount failed to mount following a reboot and you hadn&amp;#039;t noticed this before attempting an incremental scan, this might help prevent the accidental wiping of &lt;em&gt;all&lt;/em&gt; your database records.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: Niente is now “ReplayGain aware”. Whenever a new integrity check is performed, the program will search for the presence of the REPLAYGAIN_ALBUM_GAIN tag inside each FLAC being analysed. If found, it is written into Niente&amp;#039;s TRACKS table. Collecting such data would be a bit pointless by itself, so to complement this new data, there&amp;#039;s a new report: under &lt;strong&gt;Other Reports&lt;/strong&gt;, a new option to produce a report on “Files missing ReplayGain data” has been created. Anything listed on that report might be a candidate for opening in Semplice and performing a metadata-only volume boost!
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: Niente hasn&amp;#039;t been updated since April 2025: it was thus unaware of the existence of bbritten.com and kept trying to phone home to absolutelybaching.com: updates wouldn&amp;#039;t work as a consequence. This release itself actually suffers from that: a fresh installation is potentially the only way to obtain it in an automated fashion, as the menu option to update will look to the wrong server to work out if an update is available. Various other bits and pieces would fail for similar reasons: these have all now been fixed and the software points to this website&amp;#039;s servers correctly once more.
&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;Niente Version 4.04 - February 28th, 2026&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;niente_version_404_-_february_28th_2026&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3363-8487&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;niente_version_403_-_released_april_10th_2025&quot;&gt;Niente Version 4.03 - Released April 10th, 2025&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: whenever the program displays the database name, it truncates the name to just 10 characters. That&amp;#039;s now been increased to 25. It&amp;#039;s a purely cosmetic issue. On certain occasions, the name is still truncated to 10 characters for space constraint reasons. Whenever Niente needs to constrain the database name, it will now add an ellipsis to the name to indicate that display truncation has occurred (i.e., you&amp;#039;d see something like “My_long_da&lt;strong&gt;…&lt;/strong&gt;” when it&amp;#039;s working with a database called “My_long_database_name”).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: a new column called TRACKTITLE is now populated in the TRACKS table whenever any sort of integrity check is performed, thereby storing each track&amp;#039;s TITLE tag. This will allow advanced users to run SQL queries against the Niente database and discover logical integrity issues such as tempo markings being spelled incorrectly (Adajio, for example; or Vivahce). No provision for making such checks in-program is planned, however (though see new Option 4 on the Reporting menu, below). Note that the upgrade process merely creates the new column: &lt;strong&gt;it doesn&amp;#039;t populate it&lt;/strong&gt;. The new column will only get populated if you go on to do a new integrity check.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug fix&lt;/em&gt;&lt;/strong&gt;: In previous Niente versions, if you try to create a database that already exists and, when warned about this, you press the option to &amp;#039;Cancel&amp;#039;, you end up with Niente running without being &amp;#039;attached&amp;#039; to &lt;em&gt;any&lt;/em&gt; database at all. You could always fix this by manually opting to &amp;#039;Change Working Database&amp;#039; back to what you started with, but you shouldn&amp;#039;t really lose the database you were working with just because you cancelled an operation! This is now fixed: you &lt;em&gt;don&amp;#039;t&lt;/em&gt;now lose contact with your original database when cancelling out from the creation of a new one. If you are working with database X, attempt to create database Y and then cancel that operation, you will return to the main menu &amp;#039;attached to&amp;#039; and working with database X as before.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: In line with the way &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;Giocoso&lt;/a&gt; has worked for some time, if you press [Enter] on any of Niente&amp;#039;s main menu options, the first listed menu option will be executed. In other words, sit on the Database menu and press [Enter] and it will be as if you pressed &amp;#039;1&amp;#039; to create a new database; sit on the Reports menu and press [Enter] and the General Reports sub-menu will be displayed (and another [Enter] after that will trigger the running of the &amp;#039;Aggregate Statistics&amp;#039; report); and so on.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Enhancement&lt;/em&gt;&lt;/strong&gt;: A new &lt;strong&gt;Option 4&lt;/strong&gt; on the &lt;strong&gt;Reporting&lt;/strong&gt; menu allows you to type in complete SQL statements and thereby query any combination of columns in any of the tables contained within the currently-selected Niente database. It doesn&amp;#039;t replace the functionality inherent in programs such as &lt;a href=&quot;https://sqlitebrowser.org/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://sqlitebrowser.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Sqlitebrowser&lt;/a&gt;, but it does mean a basic dynamic query functionality is now built-in to the main Niente program itself. Deletes and updates via this mechanism are not permitted, however. Report contents are displayed in a separate xterm window, in the same way that existing &amp;#039;non-advanced&amp;#039; reports are.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: In previous Niente versions, the statistic for files capable of being volume-boosted would disappear off the aggregate statistics report, regardless of whether you&amp;#039;d configured the &amp;#039;Report on volume boosts&amp;#039; to yes or no, every time you performed a new &amp;#039;check for volume boosts&amp;#039; integrity check. Now fixed: the statistic is either there or not, correctly, as specified in the configuration file. Performing new integrity checks does &lt;em&gt;not&lt;/em&gt; make the statistic disappear.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Minor Enhancement&lt;/em&gt;&lt;/strong&gt;: The &lt;strong&gt;Administration&lt;/strong&gt; menu, &lt;strong&gt;Option 2&lt;/strong&gt; was used to download a copy of the GPLv2 licence from this site. If this site was down for maintenance, that would lock up Niente for the duration! The new version now only downloads the licence once, if it&amp;#039;s not already present on the system. It also now displays it within a quasi-graphical text viewer, rather than with the command line &amp;#039;less&amp;#039; program.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: In rare circumstances, the file that tells Niente to use grep, sed and similar utilities was not populated correctly before attempting to use those utilities to parse text information extracted from FLAC file tags: garbled data resulted. Now fixed.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: A feature introduced in Version 4.01 could result in a blank database file being created on merely launching Niente. The existence of this non-database file would then prevent you from creating an actual database file of the same name. Now fixed.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Bug Fix&lt;/em&gt;&lt;/strong&gt;: For unaccountable reasons, Niente forgot to install sqlite3 on Fedora; other distros were not affected. This meant that fresh installs on Fedora would “work” to let you create a database …and then promptly lose all trace of the database after it had been &amp;#039;created&amp;#039; (because it hadn&amp;#039;t actually been created at all, given the necessary software to do so was missing!), preventing all further use of it. Now fixed.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Niente Version 4.03 - Released April 10th, 2025&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;niente_version_403_-_released_april_10th_2025&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;8488-13603&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;niente_version_402_-_released_october_12th_2024&quot;&gt;Niente Version 4.02 - Released October 12th 2024&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This release implements a bunch of small bug fixes, mostly to do with how the &amp;#039;non-interactive&amp;#039; Niente operations are performed. For example, if you run the command &lt;strong&gt;niente4.sh –check-differential&lt;/strong&gt;, you&amp;#039;ll trigger a non-interactive differential integrity check: non-interactive because the main program window is not displayed as the check is performed. It (and its cousins) are intended for scheduling program functions via crontab. Unfortunately, the necessary environment variables were not being set correctly when these options were invoked and thus not-so-minor things such as extracting the correct bitdepth and sample rates from FLACs were not being performed correctly. I also took the opportunity to add some &amp;#039;progress dots&amp;#039; to the program output when in non-interactive mode: though you&amp;#039;re not likely to see them when the program is run via cron at 3AM, the &lt;em&gt;total&lt;/em&gt; lack of progress indication or output hitherto can be a bit unnerving when you&amp;#039;re testing things! Now you&amp;#039;ll see this sort of thing:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241012_130533.png&quot; class=&quot;media&quot; title=&quot;softwares:niente:screenshot_20241012_130533.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241012_130533.png?w=650&amp;amp;tok=6ae8fb&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;
&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;Niente Version 4.02 - Released October 12th 2024&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;niente_version_402_-_released_october_12th_2024&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;13604-14748&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;niente_version_401_-_released_october_8th_2024&quot;&gt;Niente Version 4.01 - Released October 8th 2024&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
For this first update since it&amp;#039;s release, an enhancement has been made to the Niente database, such that it will now contain a column called SAMPLE_RATE in the TRACKS table. Existing databases will have the new column &lt;em&gt;appended&lt;/em&gt; to the end of all the existing columns; freshly-created new databases will have the extra column embedded &lt;em&gt;within&lt;/em&gt; the other columns. The adjustment to the table structure happens automatically the first time Niente is run after the software upgrade has been applied. Actual &lt;em&gt;population&lt;/em&gt; of the new column with data only takes place once a new full, differential or fast integrity scan has been performed. (Note: a Niente database is not particularly significant, since it can be completely re-constructed by doing a fresh database creation, music scan and integrity check. This may take time, but it means the data in a Niente database is essentially fungible. Should you prefer, for example, you can simply delete your existing Niente database, create a fresh one and trigger fresh music scans and integrity checks to get the new column installed and populated &amp;#039;properly&amp;#039;. It&amp;#039;s a fundamental tenet of database normalisation theory, however, that the physical location of a column in a table is irrelevant for working with that table, so Niente won&amp;#039;t care whether the new column is integrated &lt;em&gt;within&lt;/em&gt; the table structure or &lt;em&gt;appended&lt;/em&gt; to it).
&lt;/p&gt;

&lt;p&gt;
SAMPLE_RATE is the counterpart to the BITDEPTH column, which has been there since Version 2 or thereabouts: for any given digital music file, Niente will record it as being &amp;#039;16&amp;#039; or &amp;#039;24&amp;#039; bit-depth as before, but will now &lt;strong&gt;also&lt;/strong&gt; record whether the music has been sampled at 44,100Hz (standard CD Audio), 48,000Hz (enhanced standard CD), 88,200Hz (high resolution digital audio) or even 192,000Hz (bonkers resolution for those with more money than hearing discrimination). Of course, if any other sample rate is detected apart from these &amp;#039;standard&amp;#039; ones, that will be stored too. This enhancement was suggested by a reader, Scott, to whom I&amp;#039;m grateful for the idea, though it now escapes me why I never considered capturing this data before: its utility is rather obvious, after all! For example, the first thing I was able to do (in &lt;a href=&quot;https://sqlitebrowser.org/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://sqlitebrowser.org/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;sqlitebrowser&lt;/a&gt;) was to filter my rows like so:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_163629.png&quot; class=&quot;media&quot; title=&quot;softwares:niente:screenshot_20241006_163629.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_163629.png?w=650&amp;amp;tok=678899&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;
Here, I&amp;#039;m filtering for recordings which have a 16-bit bitdepth (which you&amp;#039;d normally expect to be standard CD audio) but also have a 96KHz sampling rate (which you&amp;#039;d expect from SACD rips or online high-res sources). That particular combination is so bizarre that I can only conclude that some CD ripping and/or post-processing has &amp;#039;gone awry&amp;#039; in some way. Not that this is easily fixed, but knowing about this at least means I now know that a re-rip of the relevant CDs is required. Thanks Scott &lt;img src=&quot;https://www.bbritten.com/lib/images/smileys/sad.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-(&quot; /&gt;  …&amp;lt;/joke&amp;gt;
&lt;/p&gt;

&lt;p&gt;
The new data is displayed whenever a Niente database is undergoing an integrity check:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_163720.png&quot; class=&quot;media&quot; title=&quot;softwares:niente:screenshot_20241006_163720.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_163720.png?w=650&amp;amp;tok=6cd9c5&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 new line &amp;#039;Audio Data&amp;#039; displays both the bit-depth and sample rate determined by physical analysis of the digital music file&amp;#039;s contents.
&lt;/p&gt;

&lt;p&gt;
To complement this new data collection, a new &amp;#039;Logical Problems&amp;#039; Report item has been created, displaying digital files for which the sample rates and bit depths don&amp;#039;t appear to be sensible combinations.By “sensible”, Niente means: if bitdepth is 16, sample rate shouldn&amp;#039;t be higher than 48KHz (48,000 Hz); from the opposite way of looking at things, too, if the bitdepth is 24, the sample rate shouldn&amp;#039;t be lower than 48KHz.
&lt;/p&gt;

&lt;p&gt;
The new report is accessed from the Logical Issues Reports, Option 6 “Inconsistent Bit Depth/Sample Rates”:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_172220.png&quot; class=&quot;media&quot; title=&quot;softwares:niente:screenshot_20241006_172220.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_172220.png?w=650&amp;amp;tok=396970&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 resulting detailed report contains content such as this:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_172113.png&quot; class=&quot;media&quot; title=&quot;softwares:niente:screenshot_20241006_172113.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_172113.png?w=650&amp;amp;tok=ce5b0b&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 Aggregate Statistics Report (General Reports, Option 1) has been adjusted to report on the row-count of this report:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_172756.png&quot; class=&quot;media&quot; title=&quot;softwares:niente:screenshot_20241006_172756.png&quot;&gt;&lt;img src=&quot;https://www.bbritten.com/_media/softwares/niente/screenshot_20241006_172756.png?w=650&amp;amp;tok=e441fa&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 new line on the report is the &amp;#039;L6&amp;#039; one. Bear in mind that it is at least &lt;em&gt;conceivable&lt;/em&gt; that a 24-bit, 44.1KHz recording exists, so that a number on this line of the aggregate statistics report doesn&amp;#039;t &lt;em&gt;necessarily&lt;/em&gt; represent a real problem (though, personally, I would definitely re-rip to more standard bitdepth/sample rate combos). Niente is just hard-coded to apply the rule that “either 16 bits and sample rate greater than 48KHz; or 24 bits and sample rate less than 48KHz equals &amp;#039;odd&amp;#039;”. I&amp;#039;m open to further enhancement requests if a finer-grained selection of bit depth/sample rate &amp;#039;problems&amp;#039; is felt necessary :)
&lt;/p&gt;

&lt;p&gt;
Finally, a cascading and corresponding change has been made to the &amp;#039;O3&amp;#039; line on that aggregate statistics report and its equivalent Other Reports, Option 3 &lt;strong&gt;Files missing bitdepths in names&lt;/strong&gt; detailed report. In the original Niente release, the program looked for the bitdepth number in the file name, and if it found it, said &amp;#039;fine, you&amp;#039;ve included the bitdepth in the name correctly&amp;#039;. It &lt;strong&gt;never&lt;/strong&gt; actually checked for the presence of the &lt;strong&gt;sample rate&lt;/strong&gt; in the file name &lt;em&gt;at all&lt;/em&gt;, though! 
&lt;/p&gt;

&lt;p&gt;
In other words, it assumed that if “24” or “16” was in the file name, you must have named things correctly and the sample rate was probably in there, too… but it never verified this. Of course, this meant that a &amp;#039;Symphony No. 16.flac&amp;#039; would pass the test: if the file was a 16-bit FLAC, the presence of &amp;#039;16&amp;#039; in the file name anywhere would count as a pass (and yes, I knew this was a bit of a hack-job when I wrote it: I was in a hurry, I think!) 
&lt;/p&gt;

&lt;p&gt;
In light of the new collection of sample rate data for music files, therefore, the rules for this report have been tightened up. The new version of the report knows both the bitdepth and sample rate from the Niente database: it expects them to be concatenated with a hyphen when constructing physical file names (as &lt;a href=&quot;https://www.bbritten.com/softwares/semplice/semplice&quot; class=&quot;wikilink1&quot; title=&quot;softwares:semplice:semplice&quot; data-wiki-id=&quot;softwares:semplice:semplice&quot;&gt;Semplice&lt;/a&gt;, for example, would do for you automatically), so the report now looks for things that &lt;em&gt;don&amp;#039;t&lt;/em&gt; have text such as &amp;#039;16-44100&amp;#039; or a &amp;#039;24-88200&amp;#039; in their file names. A &amp;#039;symphony no. 16.flac&amp;#039; would thus now &lt;strong&gt;fail&lt;/strong&gt; the &amp;#039;do you have bitdepth and sample rates in your filename&amp;#039; test, as it absolutely should, where previously it would have passed it. Even a file called &amp;#039;Symphony No. 16. - 44100.flac&amp;#039; would fail, as the program expects &amp;#039;xxxxx-16-44100.flac&amp;#039; as an absolute pattern, though other bitdepths and sample rates are acceptable, depending on circumstances!)
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
| &lt;strong&gt;&lt;a href=&quot;https://www.bbritten.com/software-menu&quot; class=&quot;wikilink1&quot; title=&quot;software-menu&quot; data-wiki-id=&quot;software-menu&quot;&gt;Back to Software Home&lt;/a&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;a href=&quot;https://www.bbritten.com/softwares/niente/niente&quot; class=&quot;wikilink1&quot; title=&quot;softwares:niente:niente&quot; data-wiki-id=&quot;softwares:niente:niente&quot;&gt;Back to Niente Documentation Home&lt;/a&gt;&lt;/strong&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;Niente Version 4.01 - Released October 8th 2024&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;niente_version_401_-_released_october_8th_2024&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;14749-&amp;quot;} --&gt;
&lt;!-- cachefile /var/www/dokuwiki/data/cache/2/2db9b40a9a53b6c519d4bb62a4e5af87.xhtml used --&gt;
</description>
    </item>
</rdf:RDF>
