It isn't look hard to find a gap in libcdio or libiso9660 or think of
something you'd like added. Here are some of the many known problems
and feature requests.

* All of the API should be finished on all OS's (or the API adjusted).

* Fix the current gaps:

  - SCSI-MMC on OSX,
  - CD-Text support working more often
  - more accurate drive capabilities 
  - more accurate CD track classification (Form 1/2, Mode 1/2)
  - complete the image readers, e.g. "silence" and ability to use
    more than one file in cdrdao.
  - multi-session CDs 
   
* Use libcdio as a cdparanoia back-end and add API for CD-DA reading
  with paranoia support.

* Handle Rock Ridge Extensions

* Combine iso-read and iso-info into an "iso-tar" for listing or
  extracting files". Ideally something matching the relevant command
  set of "tar" would be nice, as that is widely used and probably
  fairly complete in thing that might be desired for listing/extracting.

* Add something to show what kind of CD media is in a drive. Ideally: CD
  (purchased), CD Write Once, CD Read/Write, but what is there is
  probably something like Cyanine, PhthaloCyanine, Metallized Azo,
  Advanced PhthaloCyanine, Formazan. See
  http://www.cdmediaworld.com/hardware/cdrom/cd_dye.shtml or
  http://www.cd-info.com/CDIC/History/Commentary/Parker/stcroix.html

  The discmode type can be used to classify DVD media and it also
  classifies for CD track formats (in addition to CD *content*
  classification). Note there is nothing for DVD content; see the below
  list of things which probably won't get added.

  Given the mismatch between DVD and CD meanings in discmode, the
  discmode type probably needs to be redone.

* Write a real cue parser and TOC parser using flex and bison (partly done). 
  A pcct grammar is given in cdrdao's trackdb TocParser.g and CueParser.g

* More disk image types in regression testing, like CD-I.

* Convert to use glib, removing ds.h 
  (Revise vcdimager too)

* API overhaul. hvr has expressed interest but it's unlikely he'll ever
  have the time to do. It could be done in conjunction with a wrappers
  for C++, Perl, Python, ... The idea is that those interfaces would not
  show the ugliness of the current C interface. For example instead of 
  read_mode2, read_mode1, read_audio, there might be a read(mode, ...).

  - Address static loglevel variable (nboullis at debian.org)

* UDF support.

* Delete and rename files in an iso9660 image (mephisto75 at web.de)

* Some things where libcdio will probably not expand in:
 
  -  DVD things, especially DVD-ROM (use libdvdread) 
  -  writing applications (use cdrdao or cdrtools)
  -  analog CD  (but this one I've been tempted to add for a while)
  -  more proprietary undocumented image format (unless someone else is willing
     to do the work)

If there is something you really want done on the above list or have
something else you want done, it will go a lot faster if you attempt
to undertake doing it. Patches are always welcome (and CVS write
access is available for those who have demonstrated reasonable ability
through contributions.)

$Id: TODO,v 1.8 2004/12/01 12:33:49 rocky Exp $
