User Tools

Site Tools


blog:dogfooding

Dogfooding

I was fortunate this month to be allowed to buy around 50 music CDs (for very little, which was why it was allowed in the first place!). All had to be ripped, of course: using the Classical CD Ripper (CCDR) for any length of time made me realise that my original version needed to be improved -and that's why I wrote about the new Version 2 of CCDR last time.

Now, I'd originally written CCDR with the idea that it would get all the 'album-y' stuff about a CD's metadata right, but that you would sort out the 'track-y' stuff later on with a separate tool, such as Easytag or Puddletag. That seemed like a reasonable move, since CCDR is concerned with ripping CDs, not one-at-a-time tracks.

When I got a bit fed up of having to launch Easytag or Puddletag separately after each rip, however, I soon felt the need for a command-line tag utility to get these 'track-y' bits of metadata correct, too: thus was born the Classical CD Tagger, or CCDT.

From the outset, then: CCDR got most of the tag data for an 'album' correct; CCDT only had to fill in the bits that CCDR didn't bother setting. It therefore really only tagged track titles and not a lot else. I hadn't envisaged CDs being ripped by non-CCDR tools and then needing to have all their metadata fixed by a command-line tag tool. But guess what happens when, confronted with a pile of 50 CDs to rip, you ask your other half to help out… an other half who is firmly wedded to Windows-only tools! You do, then, indeed end up with a pile of hundreds of tracks, all of which need to be tagged properly from scratch. The old assumption that CCDR would have got most of the tags right beforehand proves, in those circumstances, completely wrong!

Thus, by virtue of having to use this stuff at length, at home, I decided that the Classical CD Tagger needed a Version 2 re-write, too: it needed to be able to supply all the tags for a digital music file, not just the ones you thought CCDR wouldn't have supplied already. It also needed to incorporate the Dizwell Tag Cleaner (DTC) functionality, since I found that invoking that third utility every time I'd finished tagging a CD (or a part of a CD) was rapidly getting tedious!

So the short version of this blog post is that Version 2 of the CCDT is now available for download from the usual place.

It is extensively re-worked so that it now uses colour effectively for prompts, warnings and user input, keeping each class of information clearly separate. It allows you to supply album-wide as well as track-specific tagging information. It auto-numbers tracks if asked, starting from any given number and incrementing from that point onwards. It will display the tag metadata provided for the first FLAC file found. It will apply the Dizwell Tag Cleaner functionality to a set of FLACs if asked. It will also remember the tags you supplied last time you ran the utility (so, if you are tagging, say, Beethoven's 5th and 6th symphonies, both performed by the Chicago Symphony Orchestra conducted by Lenny Bernstein, you type all that information for Symphony No. 5, but when you come to tag Symphony No. 6, all those details will be available by simply pressing [Enter], as they will have been remembered from the earlier symphony tagging session).

When you press 'q' (and [Enter]) to quit the utility, the program will perform a background clean of the tags associated with all the FLACs in a directory, as if you'd invoked the DTC utility. So at the end of each tagging session, you are guaranteed to end up with a minimal, clean set of effective metadata tags, free of extraneous tags that we have no use for. The DTC check also re-computes MD5 hash values for the musical content of each track, so if you get through without any warning messages appearing (in bright red!), you can be sure that your audio data is in good order internally and is therefore free of corruption or bit-rot problems.

DTC remains available as a separate utility, of course, since you may well want to clean your tags (and check your files for corruption) without actually editing the tag data.

Upgrading from an earlier version is easy: just delete the old ccdt.sh file, wherever you stored it, and copy the new one down on top of it. Chmod +X the new file to make it executable; job done!

blog/dogfooding.txt · Last modified: 2019/06/23 17:28 by dizwell