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.