vcd-info: History and Thanks
5 History and Thanks
********************
This program started its life under the name "vcddebug" by Herbert
Valerio Riedel. The overall structure is still largely that of this
program. However 'vcddebug' dumps all information about a Video CD
always. I needed to pick out individual pieces of information from this
for a media player plugin. Initially I was running 'vcddebug' and
parsing output. It became clear that it would be convenient to add
options to reduce the amount of output. Initially there were single
options added such as to show the VCD format. However with the bulk of
information that's that is available, a sub-option system became very
useful; that was added.
I was unhappy about the name "vcddebug" since there really was no
debugging involved. Furthermore getting changes back into 'vcddebug'
was going a bit slowly. So 'vcddump' (the original name of this
program) was started and that allowed me more freedom to change the
program in more drastic ways. In particular, it was becoming clear to
me that what I really needed was a library to give information about a
Video CD and much of this code was "inlined" inside 'vcddebug'. So I
pulled pieces of that out and a library, 'libvcdinfo', was created. As
a result 'vcd-info' became a test-bed for this library.
In developing my VCD plugin, I used 'vcd-info' quite a bit. One of
the annoying things about 'vcddebug' was it's verbosity in specifying
where to read from; I was constantly typing "-cdrom-device=/dev/cdrom"
when I felt that the program should be able to figure this out. The
distinction between a "device" and a file containing CD image while it
may be fascinating to the program, was just not of interest to me as a
user. So the ability to figure out what seems to be a reasonable guess
about what's being read, short options for the classes of input and
optional names were then added.
When my VCD input plugin got good enough to read CD-images from a
file, I realized that in order to recover track information one needs to
consult the CUE file. So the ability to read this kind of file was
added to the library routines, and 'vcd-info' was adjusted accordingly.
Likewise dumping out track information when a image is not a VCD was
added. Later, I realized that CD information (and control) was a beast
of its own outside of 'vcddump', 'libvcdinfo' or even 'vcdimager'. So
with Herbert Valerio Riedel's blessing, 'libcdio' and later 'libiso9660'
were started by splitting off code from the 'vcdimager' package.
In writing a utility programs to show off 'libcdio', I came across
Gerd Knorr's 'cdinfo' and with his permission I modified it calling
'cd-info' (so both programs could be available simultaneously). I then
realized that if 'vcddump' were renamed 'vcd-info' it might make a
stronger uniform connection between these two similar programs.
And the rest is history.