This is just a little utility I whipped up after I bought a Nakamichi
MBR-7 CD jukebox. The jukebox presents the appearance of having 7 CDROM
drives, and I found myself always forgetting what disc was in which
slot.

Volname prints the volume name of any data cd found in the drive(s)
you specify. If an audio cd is found, volname will tell you if it's playing,
paused, or stopped, and if it's playing, what track number and time it's
at. It will also report empty drives.

Additionally, volname can report an 'id' string which is hopefully
pretty unique among audio cd's, generated from the starting times
of all the tracks. I think this is how workman identifies audio cd's.
A frontend (planned) can then look this up in a database. It would be
nice to use workman's database but I'd rather not have to keep up
with any changes in it. So it will just probably be a simple string
for each cd.

There is no effort to identify audio tracks on a CD if the first
track is a data track. Thus if you are playing the audio tracks off
your Hexen cd, volname will not report that fact, just tell you you
have a data cd.

If you have a changer, note that if you don't open or close a drive,
a lot of the disc info will stay in cache. But sometimes the drive
will want to swap in a disc to get info on it -- which will abort any
audio cd currently playing, or cause read errors if you are actively
reading another. Just something to be aware of.

I made a lot of assumptions because I didn't have any documentation
to look at, just others' source code, so I'd appreciate any corrections!

The mount point stuff only works on linux. I have only tested
volname on linux and solaris 2.4. If someone wants to supply patches
for the mount point stuff on solaris2 that would be great.

I have also included a little eject program, nothing fancy.  It can
take multiple arguments, but note on the MBR-7 only the last one
specified on one command will actually be ejected, and if you eject
while the tray is open it will close, then eject the requested disc.
If you eject a disc while another is busy you will interrupt your busy
disc. That is kind of annoying.

Distribute freely. Please do not redistribute modified versions without
a clear indication that it's not the original. If you put this on a CD
or other distribution, please let me know so I don't feel like I've wasted
my time! :-)

See TODO for stuff I still plan to work on.

Andy Tefft
teffta@erie.ge.com
