I had some problems with cdrecord making audio CDs and some helpful person on the FreeBSD-questions list suggested I use cdrdao(1) instead. Well, that turned out to be the solution. I did try using ATAPICAM and cdrecord with an IDE burner I had on hand, but it doesn’t seem to be able to write (good thing it didn’t cost anything, though perhaps I see why).
The biggest problem I had with cdrdao was the need for a TOC file and the correct syntax. Turns out there are some samples in the distribution’s source files. They don’t work for me (you can’t specify a driver as I need to do, just a device, and the device is expressed in a linux-ish style), but it’s often easier to work from something that’s broken than to start from scratch.
It’s basic as can be, but it saves me from trying to remember this stuff, and isn’t that what scripts are all about?
[/usr/home/paul/bin]:: more wav2toc.sh
#!/bin/sh
# usage: $0 <dir where wavs are stored>
DIR=$1
TOCFILE=`basename $1`.toc
echo CD_DA > ${TOCFILE}
echo >> ${TOCFILE}
for i in ${DIR}/*.wav
do echo TRACK AUDIO >> ${TOCFILE}
echo PREGAP 0:1:0 >> ${TOCFILE}
echo FILE “$i” 0 >> ${TOCFILE}
echo >> ${TOCFILE}
done
echo File ${TOCFILE} written
Running with a path grabs all the WAV files, creates a file based on the basename of the path, then writes out all the particulars.
(paul@red.paulbeard.org)-(09:18 PM / Thu Dec 26)
[/usr/home/paul/bin]:: ./wav2toc.sh ~/cdimages/That_Summer
File That_Summer.toc written
(paul@red.paulbeard.org)-(09:20 PM / Thu Dec 26)
[/usr/home/paul/bin]:: more That_Summer.toc
CD_DA
TRACK AUDIO
PREGAP 0:1:0
FILE “/usr/home/paul/cdimages/That_Summer/new.wav” 0
TRACK AUDIO
PREGAP 0:1:0
FILE “/usr/home/paul/cdimages/That_Summer/side_1.wav” 0
TRACK AUDIO
PREGAP 0:1:0
FILE “/usr/home/paul/cdimages/That_Summer/side_2.wav” 0
Dunno if it will be useful to anyone (like anyone else is converting vinyl LPs to CDs) . . . .
and the incantation for cdrdao is as follows: I need to specify a driver for this unit (it’s branded as a Pinnacle CDR 5040S and is allegedly supported by cdrecord as a workalike for a similar unit).
sudo cdrdao write –eject –device 0,1,0 –driver teac-cdr55 toc