Readme File for read_cdda:

WHAT'S NEW
----------

New in version 2:

 - Added jitter control to correct of synchronization errors.
 - Allow output to stdout, messages to stderr to it works in pipes
   (Thanks to Andreas Karrer and Hans Werner Strube)
 - Will open either the raw device or the volume management device
 - Clean ups, reset CDROM device after using.
 - Better output status (with verbose option)
 - You can specify the device to open
 - Man page added
 - small utility cdda2au to convert files.

WHAT IS IT
----------

Basically it read on audio track from the CD and stores it in the
named file.  It only works under Solaris 2.4 and higher (older
versions don't support CDDA) and it only works with CD-ROM's that
support CDDA which according to the workman docs are:
 
     * SunCD Plus (really a Toshiba 3401)
     * Sun SPARCstation internal drive (really a Toshiba 4101)
     * Toshiba 3401
     * Toshiba 3501
     * Toshiba 4101
     * Toshiba 5701
     * SunCD 12 (Really a Toshiba 5701 - See notes)
 
I've only tested it on the Sun SPARCstation 5, 20, and Ultra internal
drive.  The program has an option (-d) which will print out what type
of drive you have.  You also need to have access to the CDROM device.
 
By default it outputs in CDR format - suitable for writing to a CD
Recorder to create your own CD. (I've made a number of mixed CD's)
Again I've only tested this by writing CD's on a Phillips CDD 522
attached to a linux box - but, in theory, it shouldn't matter :^)
It can also output in Sun .au format (both 8bit mono and 16bit stereo)
which is useful for testing without having to write a CD.
 
The program also has options to specify the starting and ending second
to record. (useful for cutting out the 10 minute "blanks" at the end
of songs that some groups like to add)
 
Let me know of any problems you have.  Version 1 has been used by
quite a few people successfully.  Version 2 is much newer and
therefore not real well tested by it does work for me.  One final
note: I know the packaging is a bit excessive for a relatively small
program, but believe it or not, its easier for me as I just have a
script that sets it up.

RUNNING THE PROGRAM:
--------------------

Basic help:

read_cdda: Read audio track from CD to a file
Written by Jim Mintha (mintha@geog.ubc.ca)
Usage: read_cdda [-h] [-a] [-8] [-d] [-t] [-s start] [-e end] track [outfile]
 track           Track number to read
 outfile         File name for PCM or .au output ("-" for stdout)
 -s  --start     Starting second for the track
 -e  --end       Ending second for the track
 -t  --toc       Only print out the Table of Contents
 -x  --swap      Swap bytes (for x86?)
 -8  --au8       Output in Sun .au format 8KHz
 -a  --au16      Output in Sun .au format 44.1KHz
 -v  --verbose   Be talkative while running
 -d  --drvtype   Print CD-ROM model type only
 -D  --device    Device to read from
 -V  --version   Print program version number only

 Default is to output in CDR format the whole track

Normal use:

% read_cdda 4 stones.cdr

Read a portion: (from 10sec in until 5:05)

% read_cdda -v -s 10 -e 305 4 stones.cdr


NOTES:

- When I use the 12x CDROM in our Ultra I still get occasionally
  crackle or pop even with the jitter control.  I've confirmed this
  with other CDDA readers too.  
- If you don't specify a device to open the program will try to open
  /dev/rdsk/c0t6d0s2, if that fails it will try the volume management
  device: /vol/dev/aliases/cdrom0.
- You must have read access to the CDROM device
- If writing to the disk falls behind reading from the CDROM then you will
  get a corrupted file (usually not a problem unless you are writing
  over a congested network.  
- The speed of reading depends on the drive type.  The internal CDROMs in
  our SPARC 20s read at 1x speed.  The 12 speed CDROMs in our Ultras read
  at 4x speed.
- You can't query the drive type if there is no CD in the drive, or if you
  are using volume management.
- This probably won't work under Solaris for x86, but there is an options
  to swap the bytes which might enable it to work.

CREDITS:

This program was written by Jim Mintha (mintha@geog.ubc.ca) and is
covered by the GNU Public License. (See the file LICENSE in this
directory)

Much of this work was derived from the Workman sources written by
Steven Grimm (koreth@hyperion.com), and he deserves much credit for 
figuring out how Sun's CDDA works, not to mention writing the great 
program Workman.

I figured out how to do jitter control from Zlatko Calusic
<Zlatko.Calusic@CARNet.hr> and Gilles Boccon-Gibod <bok@bok.net>
Many thanks to them.
