CAO – Updated Already

Well, that didn’t take long!

First, I discovered rather late in the day that a cue sheet describing a large ‘super-FLAC’ audio file cannot, by technical design, list more than 99 files. So, if you’ve got more than 99 FLAC-tracks that you want to combine into a single super-FLAC then, you can’t, because the cue sheet cannot contain enough entries to describe it all.

CAO version 1.01 therefore now checks that you don’t exceed this number of individual FLACs in a folder, and warns you and quits if you do. You’d have to manually re-organise your files into smaller collections of FLACs before you could CAO-them into a number of super-FLACs.

The second problem with CAO is one all of my own devising: I didn’t test it enough! In particular, I tested it extensively on well-behaved English-language music files. The moment I tried to turn my copy of Lady Macbeth of Mtsensk District into a super-FLAC, all sorts of errors crawled out of the woodwork -because the track titles (and hence also the physical file names) are transliterations of Russian and use copious quantities of apostrophes and other punctuation characters to add to their complexity. All those punctuation characters wreak havoc on shell script processing, however…  so things broke, badly!

A similar problem arose because I tested CAO extensively on symphonies and concertos: all works with 3 or 4 tracks and usually quite short. I therefore hadn’t thought about what happens when your collection of tracks play for longer than 60 minutes!  Unfortunately, the extra hour simply got lost as the clock ticked past the hour mark, resulting in cue sheets that said things like ’58:02′ and then in the next track ’03:14’… and clocks can’t go backwards like that in cue sheets! So, some re-programming later, and those times would now go ’58:02′ and ’63:14′, which makes a lot more sense!

Version 1.01 incorporates fixes for all these issues: new code replaces the troublesome characters in both filenames and tags with spaces or underscores; the clock arithmetic now knows about carrying over the hours; and the code checks for excessive numbers of FLACs.

So: short version is that a new release of CAO is now available from the usual place.

Download it, then copy it over the top of the earlier version. Something like:

sudo mv $HOME/Downloads/cao.sh /usr/bin 

…should do it! Happy (better) merging!