[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Libcdio-devel] Big filesystem reorganization - paranoia is coming
From: |
R. Bernstein |
Subject: |
[Libcdio-devel] Big filesystem reorganization - paranoia is coming |
Date: |
Fri, 17 Dec 2004 07:27:05 -0500 |
There are big changes to the libcdio filesystem structure underway.
Partly to accomodate inclusion of paranoia, and partly because before
the last release it was suggested that it would be nicer to separate
out libcdio and libiso9660 into different libraries.
The current plan (sitting on my home disk to a large extent) is to
create new directories
lib/iso9660 (formerly in lib)
lib/cdio (formerly in lib)
lib/cdio_paranoia (formerly in cdparanoia/paranioa)
lib/cdda_interface (formerly in cdparanoia/interface)
and possibly
src/cd_paranoia (formerly in cdparanoia)
Added into include/cdio will be
cdda_paranoia.h and
cdda_interface.h
As the changes are going to be massive, a branch might be desirable.
If folks have comments on this or any of the organization, now is the
time to speak up. Not doing so will means I'll do whatever is easiest
for me (which I may do anyway). However the usual no one says anything
and then whines later will be greeted with less sympathy than I had
previously.
Initial tests in having a libcdio paranoia, done a while ago, went
smoothly. The cdparanoia/paranoia directory is OS and device
independent, so the only thing done there was to use libcdio
conventions or #define names, removing more stringent gcc warnings,
modernizing the style of the code a little, adding a little bit of
doxygen comments. When I put it into libcdio it got the
automake/libtool treatment.
A libcdio cdio_interface (the part that interfaces with the OS) is a
little harder but I don't think it's rocket science. Again there is
quite a bit of overlap between libcdio and cdparanoia/interface;
putting this into libcdio makes it more OS independent. However
probably in some cases libcdio will have to and would benefit from
growing in the merger. For example there are routines like
cdda_speed_set() will should now be added to libcdio proper. (I'm not
sure that setting the speed is CD-DA specific). Other routines like
cdda_track_firstsector(), cdda_track_lastsector() already have libcdio
equivalents.
If I can get this integrated properly, it will probably be yet another
major libcdio miracle and a release will be made with these massive
changes.