CDTOOL 2.1 Beta 3, 12/29/1997, Wade Hampton (whampton@staffnet.com)

    CDTOOL is a package for Linux that allows the user to control audio 
functions of an attached cd-rom drive from the command line.  With 
minimal modifications, it should work with any operating system that 
uses compatible cd-rom ioctl's (ie, SunOS).

    CDTOOL consists of seven programs.  Actually, it is one program that
can be called with seven different names:

    cdplay   -- play the cd or resume from pause.
    cdpause  -- pause play.
    cdstop   -- stop play.
    cdeject  -- eject the cd, if supported.
    cdir     -- list tracks on the cd.
    cdinfo   -- display information on the CDROM
    cdreset  -- reset the CDROM device (2.1 experimental)

    With 2.1, a second binary, cdctrl, is also included.  This is
designed to be used to establish a connection with a CDROM and 
interactivly control it via standard input.  This binary returns status
in human- and machine-readable format, hence may be used to remotely
control a CDROM, e.g., as a daemon.  Note, cdctrl may also be automated
via expect, TCL, perl or other scripting language.

    The cdir command supports a database of artist, title, and track
names in a simple format compatible with Workman, a nice OPEN LOOK based
program for controlling audio discs in a cd-rom drive.  It first looks in 
the user's ~/.cdtooldb file.  Then, if the CDTOOLDBPATH environment
variable is set to a colon-delimited list of files, cdir will check them 
in order until it finds the cd.  This allows users to share a database,
for example.  There is a shell script, "cdadd", which automates adding
entries to the file a bit, but Workman is better for this.

    CDTOOL doesn't do anything fancy.  There is no scan, fast forward,
repeat, etc.  These functions are better performed by a full-screen or
graphical program, and CDTOOL is designed to be a simple, elegant
command line utility.  For more specifics on how to use the program,
read the man page.  Note, CDTOOL does include previous and next track
access.

    Installation is simple.  If needed, specify your cd-rom device file
in config.h (it defaults to /dev/cdrom).  By default, the binaries go
into /usr/local/bin and the manual pages go into /usr/local/man.  If you
want to change these, edit the Makefile.  Then, just type "make install"
as root.

    When play begins on a track, the wrong track may be reported; this 
happens when the offset returned after the seek is a fraction of a second 
less than the start time for the track, with the result that the track is 
one less than it should be.  Any subsequent requests for i/cdinfo report 
the correct track.

CHANGES SINCE 2.0 RELEASE ----------------------------------------------
(1) SCSI build option added.  This uses the CDROMPLAYMSF ioctl 
    instead of the sometimes, not-supported CDROMPLAYTRKIND ioctl call
    (change to commands.c:do_play()).
(2) Makefile includes "scsi", "debug", and "debugscsi" options.
(3) Added new program, cdreset.  This resets the CDROM drive.
(4) Additional documentation.
(5) Additional range checks, more robust.
(6) Modules hardware.c, info.c, and commands.c now designed for 
    multiple calls.
(7) New program, cdctrl added. May be used as a CDROM daemon.
(8) New features added (see man page).
(9) Manual page updated and manual page for cdctrl written.

CHANGES SINCE 2.1.1 RELEASE ----------------------------------------------
(1) Fixed cdctrl eject command causing a segmentation violation.
(2) Fixed makefile debug option to not strip symbols.
(3) Added command.h.
(4) Fixed "read_hw" to always return a buffer, more robust.

CHANGES SINCE 2.1.2 RELEASE ----------------------------------------------
(1) Fixed cdctrl to do a fflush after each command.  May now be started
    via inetd for remote CD-ROM control.
(2) Fixed makefile so "all" is the default make rule.

All changes 2.0 -> 2.1 were done by Wade Hampton


CHANGES SINCE BETA RELEASE ---------------------------------------------

(1) CDTOOLDBPATH environment variable supported.
(2) Bug in resuming from pause fixed.
(3) Templates printed with -t option now are "filled out" if the
    current disc is listed in a database.
(4) Make file creates links for manual pages during installation.
(5) Code completely reorganized, getopt() used, etc.
(6) Support for SunOS?  If you have gcc, this should compile and run
    fine under SunOS 4.1.*, but I don't have the facilities to test it.
    If you get it working, please let me know.
(7) CDTOOLDEV environment variable overrides default path to device.

Changes (1) - (4) by suggestion of Fred Baumgarten.  Thanks!

CHANGES SINCE 1.0 RELEASE ----------------------------------------------
(1) Bug in Play From-Track-To-Track fixed.
(2) cdinfo command added.
(3) Code again reorganized.
(4) Skip track option in cdplay added.
(5) Multiple cdrom device support added.

All changes 1.0 -> 2.0 were done by Sven Oliver Moll

STILL TO BE DONE -------------------------------------------------------

(1) Nice interface for editing the database files.
(2) Fast forward, Rewind.
(3) Code cleanup and documentation.

COPYRIGHT AND LICENSE AND STUFF ----------------------------------------

    CDTOOL 1.0 is Copyright 1994 Thomas Insel.  It may be distributed 
freely under the terms of the GPL.  For more information, read the files 
"COPYING" and "main.c".  

    CDTOOL 2.0 is Copyright 1995,96 Sven Oliver Moll.  Since it was GPL,
it still is GPL.

    CDTOOL 2.1 is Copyright 1997,98 Wade Hampton and the original
authors.  Since it was GPL, it is still GPL.

    Please let me know if you make any useful modifications, successfully
run CDTOOL under an operating system besides Linux, are interested in
different licensing terms, find CDTOOL useful, or whatever.  Please
address all correspondance regarding CDTOOL to tinsel@uiuc.edu or to
Thomas Insel, 210 Parkview Drive, Bloomington, IL 61701-2038.  

    The newest version of CDTOOL can be obtained via anonymous ftp from
jaka.cerl.uiuc.edu in the directory /pub/tinsel.

 	[Need to check the FTP listing above -- did not work the 
	last time I tried it! -- Wade]

    Alternate FTP site:  TBD, ftp://sunsite.unc.edu/pub/Linux/<somewhere>
------------------------------------------------------------------------
