.
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