.
This commit is contained in:
64
.cvsignore
Normal file
64
.cvsignore
Normal file
@@ -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
|
||||||
0
config.rpath
Normal file
0
config.rpath
Normal file
22
doc/.cvsignore
Normal file
22
doc/.cvsignore
Normal file
@@ -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
|
||||||
101
doc/2006-summer-of-code.txt
Normal file
101
doc/2006-summer-of-code.txt
Normal file
@@ -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 $
|
||||||
4
doc/doxygen/.cvsignore
Normal file
4
doc/doxygen/.cvsignore
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Doxyfile
|
||||||
|
latex
|
||||||
|
libcdio.xml
|
||||||
|
libcdio.html
|
||||||
8
doc/doxygen/html/.cvsignore
Normal file
8
doc/doxygen/html/.cvsignore
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
*.html
|
||||||
|
doxygen.css
|
||||||
|
doxygen.png
|
||||||
|
libcdio.ps
|
||||||
|
tab_b.gif
|
||||||
|
tab_l.gif
|
||||||
|
tab_r.gif
|
||||||
|
tabs.css
|
||||||
66
doc/how-to-make-a-release.txt
Normal file
66
doc/how-to-make-a-release.txt
Normal file
@@ -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.
|
||||||
|
|
||||||
|
|
||||||
30
example/.cvsignore
Normal file
30
example/.cvsignore
Normal file
@@ -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
|
||||||
86
example/README
Normal file
86
example/README
Normal file
@@ -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.
|
||||||
2
include/.cvsignore
Normal file
2
include/.cvsignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
3
lib/.cvsignore
Normal file
3
lib/.cvsignore
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
|
||||||
8
lib/cdio++/.cvsignore
Normal file
8
lib/cdio++/.cvsignore
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
.deps
|
||||||
|
.libs
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
*.o
|
||||||
|
*.lo
|
||||||
|
*.la
|
||||||
|
*.la.ver
|
||||||
10
lib/driver/.cvsignore
Normal file
10
lib/driver/.cvsignore
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
.deps
|
||||||
|
.libs
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
*.o
|
||||||
|
*.lo
|
||||||
|
*.la
|
||||||
|
*.la.ver
|
||||||
|
*.dll
|
||||||
|
|
||||||
6
m4/.cvsignore
Normal file
6
m4/.cvsignore
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
aclocal.m4
|
||||||
|
libtool.m4
|
||||||
|
ltoptions.m4
|
||||||
|
ltsugar.m4
|
||||||
|
ltversion.m4
|
||||||
|
lt~obsolete.m4
|
||||||
1
package/.cvsignore
Normal file
1
package/.cvsignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
libcdio.spec
|
||||||
9
parse/.cvsignore
Normal file
9
parse/.cvsignore
Normal file
@@ -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
|
||||||
21
src/.cvsignore
Normal file
21
src/.cvsignore
Normal file
@@ -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
|
||||||
|
|
||||||
|
|
||||||
37
test/.cvsignore
Normal file
37
test/.cvsignore
Normal file
@@ -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
|
||||||
BIN
test/p1.nrg
BIN
test/p1.nrg
Binary file not shown.
Reference in New Issue
Block a user