diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 00000000..5b8e2dcd --- /dev/null +++ b/.cvsignore @@ -0,0 +1,64 @@ +.gdb_history +ABOUT-NLS +COPYING +ChangeLog +Makefile +Makefile.in +aclocal.m4 +autom4te.cache +codeset.m4 +compile +config.guess +config.h +config.h.in +config.log +config.rpath +config.status +config.sub +configure +depcomp +gettext.m4 +glibc21.m4 +iconv.m4 +install-sh +intdiv0.m4 +intmax.m4 +inttypes-pri.m4 +inttypes.m4 +inttypes_h.m4 +isc-posix.m4 +lcmessage.m4 +lib-ld.m4 +lib-link.m4 +lib-prefix.m4 +libcdio*.tar.gz +libcdio*.tar.bz2 +libcdio*.tar.gz.directive +libcdio*.tar.gz.directive.asc +libcdio*.tar.gz.sig +libcdio++.pc +libcdio.pc +libcdio_cdda.pc +libcdio_paranoia.pc +libiso9660++.pc +libiso9660.pc +libtool +libudf.pc +longdouble.m4 +longlong.m4 +ltmain.sh +missing +mkinstalldirs +nls.m4 +po.m4 +printf-posix.m4 +progtest.m4 +signed.m4 +size_max.m4 +stamp-h1 +stdint_h.m4 +uintmax_t.m4 +ulonglong.m4 +wchar_t.m4 +wint_t.m4 +xsize_t.m4 diff --git a/config.rpath b/config.rpath new file mode 100644 index 00000000..e69de29b diff --git a/doc/.cvsignore b/doc/.cvsignore new file mode 100644 index 00000000..707e51ad --- /dev/null +++ b/doc/.cvsignore @@ -0,0 +1,22 @@ +*.aux +*.cp +*.cps +*.dvi +*.fn +*.info +*.info-? +*.ky +*.log +*.pdf +*.pg +*.ps +*.tmp +*.toc +*.tp +*.txt +*.vr +Makefile +Makefile.in +libcdio.html +stamp-vti +version.texi diff --git a/doc/2006-summer-of-code.txt b/doc/2006-summer-of-code.txt new file mode 100644 index 00000000..15c7d252 --- /dev/null +++ b/doc/2006-summer-of-code.txt @@ -0,0 +1,101 @@ +1. Add, finish or improve an OO API. + + Some work has been done to extend the API to Python, and Perl (via + SWIG), Ruby and C++. With the exception of Ruby these are OO + interfaces as well. However most languages do not cover the full + language. In particular handling MMC (Multi-media) commands is + missing and a CD-Paranoia interface (OO or not) is missing. Pick + one of these existing API's or extend to a new API (e.g. Java), + preferably an OO one. All of the OO API's are fairly new, so if you + feel you want to improve on the API, that's okay too. + +2. Add, finish a CD-image format parser. Use it say to write a + CD-image format converter. + + The existing CD-image format parsers are ad hoc. Several image + (cdrdao or bin/cue) have a text file and currently libcdio uses C + strstr and strtok to parse this. In some cases image reading is + incomplete: + * cdrdao can only handle reading from one file + * CD-Text doesn't allow specification of the encoding + * handling "silence" in CUE/BIN + + Some work has been done to create Bison grammars for cdrdao and + cue/bin image formats; some basic tests of these parser has been + done, but no semantic actions have been added to integrate this + into the library. Add the semantic actions. Feel free to add other + (preferably non-proprietary) CD-Image formats. Use the parsers to + write a translator between the image formats. Standard good + practice is to translate into an intermediate language for the N + "languages" and then the generate output language from that. This + requires 2N for the N*N combinations (rather than N*N individual + translators). + +3. Finish UDF and/or ISO 9660 handling. + + UDF (Universal Data File) is used for example in DVD discs and + Data. It will be used by in the new Blue-Ray technology. Think of + it as a modernized Unicode version of the old ISO 9660 standard. + + UDF support is probably the most often requested missing feature of + libcdio. Some work has been done to define the UDF structures and + there is some UDF handling in the current version (0.77) and even + more in will appear in the next 0.78. The full UDF specification is + much more than currently will exist even in 0.78. Fill out UDF + support. + +4. write a "tar" command for ISO 9660 and/or UDF images. + + There is an ISO 9660 library. An often requested feature is to add + something like a "tar" command for ISO 9660 images or UDF images. + For ISO 9660, currently there are commands to list the contents of + an ISO 9660 image file and extract a single file. In version the + next version of libcdio 0.78, there will probably be corresponding + commands for UDF. Take GNU tar and extend it to ISO 9660 or UDF + images. + +5. Add EAC (exact audio copy) features, possibly on top of + cd-paranoia. Fix possible cd-paranoia bugs. + + EAC (http://www.exactaudiocopy.de/) is a freeware program for + Microsoft Windows and is used to copy audio data from an audio CD + to a stereo WAV file. It is similar to cdparanoia + (http://www.xiph.org/paranoia/) and libcdio has a multi-OS port of + this. The concensus seems to be that EAC does a better job. + + cdparanoia can probably be extended to do better, more like EAC. + There may be bugs in cdparanoia especially with silence which is + confused with the silence that appears in a track gap. More or + better regression tests should be done for medium and large + jittering. + + [Peter Creath may want to mentor this.] + +6. Modify libcdio to handle CD-ROM drive customization. + + Some programs which work with CD-ROMs allow for a database of + CD-ROM drives capabilities. Most notably xmcd + (http://www.amb.org/xmcd/). cdparanoia has such a capability + although it is not user-configurable like xmcd. Add a CD-ROM + capability database with user customization and modify libcdio to + use that for various operations. CD-ROM capabilities might include + how to get drive capabilities (e.g. MMC MODE-SENSE page 2A command + in either the 6 or 10 byte version or via MMC GET-CONFIGURATION command.) + + For other capibilities listed those listed in xmcd. + +7. Wide character support for CD-Text. + [Burkhard Plaum has might want to mentor this. If so he should + write a more detailed description than given above] + +[8. libcdio API overhaul removed. This may not be too difficult + for a student project. But if someone is really interested, look in + CVS revision 1.1. for what this might entail.] + +9. Revise to use glib rather than home-grown routines. + + libcdio has it's own list-processing, byte swapping routines. In + particular the routines in bytesex.h and ds.h. Replace these with + the corresponding glib routines. + +$Id: 2006-summer-of-code.txt,v 1.2 2006/04/17 13:24:56 rocky Exp $ diff --git a/doc/doxygen/.cvsignore b/doc/doxygen/.cvsignore new file mode 100644 index 00000000..8cc9c7c0 --- /dev/null +++ b/doc/doxygen/.cvsignore @@ -0,0 +1,4 @@ +Doxyfile +latex +libcdio.xml +libcdio.html diff --git a/doc/doxygen/html/.cvsignore b/doc/doxygen/html/.cvsignore new file mode 100644 index 00000000..d5527fb4 --- /dev/null +++ b/doc/doxygen/html/.cvsignore @@ -0,0 +1,8 @@ +*.html +doxygen.css +doxygen.png +libcdio.ps +tab_b.gif +tab_l.gif +tab_r.gif +tabs.css diff --git a/doc/how-to-make-a-release.txt b/doc/how-to-make-a-release.txt new file mode 100644 index 00000000..8ad10f47 --- /dev/null +++ b/doc/how-to-make-a-release.txt @@ -0,0 +1,66 @@ +- Let people know of a pending release, e.g. libcdio-devel@gnu.org; + no major changes before release, please + +- test on lots of platforms; sourceforge compile farm, for example + +- "make distcheck" should work. + +- Look for/fix/apply patches and outstanding bugs on Savannah. + +- Go over Changelog and add NEWS. Update date of release. + +- Remove "cvs" from configure.ac's release name. E.g. + define(RELEASE_NUM, 23) + define(LIBVCD_VERSION_STR, 0.7.$1cvs) + ^^^ + ... + +- make doxygen documentation + cd doc/doxygen; ./run_doxygen + remove any errors. + +- Make sure sources are current and checked in: + cvs update -dPA . + cvs commit . + +- autogen.sh && make && make check + +- Tag release in CVS: + cvs log -h configure.ac + cvs tag release_*0_80* . + +- "make distcheck" one more time + +- Get onto ftp.gnu.org. I use my perl program + gnu-ftp-upload libcdio 0.*80* + + Also gnupload from the automake distribution. + +- Update/Announce on Freshmeat: + http://freshmeat.net/add-release/36670/ + (http://freshmeat.net/projects/libcdio/ "add release") + + The NEWS file is your friend. + +- copy doxygen html to web pages: + cd libcdio-www/doxygen + rm *.html + cp ../../libcdio/doc/doxygen/html/*.html . + cvs update . + for each "U" html *except libcdio.hmtl* put back remove it + with "rm" and "cvs remove" + for each new "?" html add it + cvs commit . + +- copy libcdio manual to web page: + cd libcdio-www + (cd ../libcdio/doc && make libcdio.html) + cp ../libcdio/doc/libcdio.html . + cvs commit libcdio.html + +- Remove old cvs versions + +- Bump version in configure.ac and add "cvs". See place above in + removal. + + diff --git a/example/.cvsignore b/example/.cvsignore new file mode 100644 index 00000000..9151055d --- /dev/null +++ b/example/.cvsignore @@ -0,0 +1,30 @@ +.cvsignore +.deps +.gdb_history +.libs +Makefile +Makefile.in +audio +cdio-eject +cdtext +copying +device +drives +eject +isofile +isofile2 +isolist +isolsn +isofuzzy +mmc1 +mmc2 +mmc2a +mmc3 +paranoia +paranoia2 +sample? +tracks +udf1 +udf2 +cdchange +udffile diff --git a/example/README b/example/README new file mode 100644 index 00000000..1db482bd --- /dev/null +++ b/example/README @@ -0,0 +1,86 @@ +$Id: README,v 1.28 2007/08/12 00:56:10 rocky Exp $ + +This directory contains some simple examples of the use of the libcdio +library. + +One might also possibly find useful C code among the regression tests +(directory test), e.g. testbincue.c, testdefault.c, testiso9660.c, +testparanoia.c, or testtoc.c + +Larger more-complicated examples are the cd-drive, cd-info, cd-read, +cdda-player, iso-info and iso-read programs in the src directory. + +And going further there's the cd-paranoia program (in +src/cd-paranoia), and "real-world' code in the xine VCD plugin, or the +vlc CD-DA plugin which are part of those distributions. + +Descriptions of the programs in this example directory are as follows... + +audio.c: Sample program to show audio controls. + +cdchange.c: A program to test if a CD has been changed since the last + change test. + +cdio-eject.c: a stripped-down "eject" command to open or close a CDROM + tray + +cdtext.c: A program to show CD-Text and CD disc mode info. + +drives.c: A program to show drivers installed and what the default + CD-ROM drive is and what CD drives are available. + +eject.c: A program eject a CD from a CD-ROM drive and then close the door + again. + +isofile.c: A program to show using libiso9660 to extract a file from an + ISO-9660 image. + +isofile2.c: A program to show using libiso9660 to extract a file + from a CDRWIN cue/bin CD image. + +isofuzzy.c : A program showing fuzzy ISO-9660 detection/reading. + +isolist.c: A program to show using libiso9660 to list files in a + directory of an ISO-9660 image and give basic iso9660 + information. + +isolsn.c: A program to show using libiso9660 to get the file + path for a given LSN. + +mmc1.c: A program to show issuing a simple MMC command (INQUIRY). + +mmc2.c: A more involved MMC command to list features from + a MMC GET_CONFIGURATION command. + +mmc2a.c: Show MODE_SENSE page 2A paramaters: + CD/DVD Capabilities and Mechanical Status Page + +paranoia: A program to show using CD-DA paranoia (a library for jitter + detection and audio-read error correction). This program uses + an interface compatible (mostly) with cdparanoia. + +paranoia2: Another program to show using CD-DA paranoia using a more + libcdio-oriented initialization. Probably more suited to + things that otherwise use libcdio such as media players + (e.g. for getting CDDB or CD-Text info) + +sample2.c: A simple program to show drivers installed and what the + default CD-ROM drive is. + +sample3.c: A simple program to show the use of cdio_guess_cd_type(). + Figure out the kind of CD image we've got. + +sample4.c: A slightly improved sample3 program: we handle cdio logging + and take an optional CD-location. + +tracks.c: A program to list track numbers and logical sector + numbers of a Compact Disc using libcdio. + +udf1.c: A program to show using libudf to list files in a directory of + an UDF image. + +udf2.c: A program to show using libudf to extract a file from + an UDF image. + +Many of the above programs can be compiled in C++. See that directory +for C++ examples which include some of the above. diff --git a/include/.cvsignore b/include/.cvsignore new file mode 100644 index 00000000..282522db --- /dev/null +++ b/include/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/lib/.cvsignore b/lib/.cvsignore new file mode 100644 index 00000000..22a4e729 --- /dev/null +++ b/lib/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in + diff --git a/lib/cdio++/.cvsignore b/lib/cdio++/.cvsignore new file mode 100644 index 00000000..c17b1b9e --- /dev/null +++ b/lib/cdio++/.cvsignore @@ -0,0 +1,8 @@ +.deps +.libs +Makefile +Makefile.in +*.o +*.lo +*.la +*.la.ver diff --git a/lib/driver/.cvsignore b/lib/driver/.cvsignore new file mode 100644 index 00000000..93be0c46 --- /dev/null +++ b/lib/driver/.cvsignore @@ -0,0 +1,10 @@ +.deps +.libs +Makefile +Makefile.in +*.o +*.lo +*.la +*.la.ver +*.dll + diff --git a/m4/.cvsignore b/m4/.cvsignore new file mode 100644 index 00000000..3cdb3b45 --- /dev/null +++ b/m4/.cvsignore @@ -0,0 +1,6 @@ +aclocal.m4 +libtool.m4 +ltoptions.m4 +ltsugar.m4 +ltversion.m4 +lt~obsolete.m4 diff --git a/package/.cvsignore b/package/.cvsignore new file mode 100644 index 00000000..efdbe30c --- /dev/null +++ b/package/.cvsignore @@ -0,0 +1 @@ +libcdio.spec diff --git a/parse/.cvsignore b/parse/.cvsignore new file mode 100644 index 00000000..e26b56be --- /dev/null +++ b/parse/.cvsignore @@ -0,0 +1,9 @@ +cue.tab.c +cue.tab.h +cuelexer +cueparser +toc.tab.c +toc.tab.h +tocparser +lex.cuelex.c +lex.cue.c diff --git a/src/.cvsignore b/src/.cvsignore new file mode 100644 index 00000000..fa6fe798 --- /dev/null +++ b/src/.cvsignore @@ -0,0 +1,21 @@ +.deps +.gdb_history +.libs +Makefile +Makefile.in +*.o +cd-drive +cd-drive.1 +cd-info +cd-info.1 +cd-read +cd-read.1 +cdda-player +cdinfo-linux +iso-info +iso-info.1 +iso-read +iso-read.1 +mmc-tool + + diff --git a/test/.cvsignore b/test/.cvsignore new file mode 100644 index 00000000..46a920c9 --- /dev/null +++ b/test/.cvsignore @@ -0,0 +1,37 @@ +.deps +.libs +Makefile +Makefile.in +cdda.raw +cdda-orig.wav +cdda-try.wav +cdda-1.raw +cdda-2.raw +cdda-good.raw +cdda-jitter.raw +cdda-underrun.raw +check_cue.sh +check_paranoia.sh +check_common_fn +check_iso.sh +check_nrg.sh +check_sizeof +testassert +testbincue +testbincue.c +testdefault +testischar +testiso9660 +testisocd +testisocd2 +testisocd2.c +testnrg +testnrg.c +testparanoia +testpregap +testpregap.c +testtoc +*.dump +*.cue +*.bin +*.nrg diff --git a/test/p1.nrg b/test/p1.nrg deleted file mode 100644 index ba76e8be..00000000 Binary files a/test/p1.nrg and /dev/null differ