Browse Source

Made number transition and activated development documentation

Thomas Schmitt 16 years ago
  1. 4
  2. 6
  3. 12
  4. 26
  5. 161
  6. 2
  7. 10
  8. 14
  9. 4


@ -101,9 +101,9 @@ test_structest_CPPFLAGS = -Ilibburn
test_structest_LDADD = $(libburn_libburn_la_OBJECTS) $(THREAD_LIBS)
test_structest_SOURCES = test/structest.c
## cdrskin construction site - ts A60816 - A70116
## cdrskin construction site - ts A60816 - A70210
cdrskin_cdrskin_CPPFLAGS = -Ilibburn
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_3_1
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_3_3
cdrskin_cdrskin_LDADD = $(libburn_libburn_la_OBJECTS) $(THREAD_LIBS)
cdrskin_cdrskin_SOURCES = cdrskin/cdrskin.c cdrskin/cdrfifo.c cdrskin/cdrfifo.h cdrskin/cdrskin_timestamp.h


@ -67,7 +67,7 @@ we would need : login on a development machine resp. a live OS on CD or DVD,
advise from a system person about the equivalent of Linux sg or FreeBSD CAM,
volunteers for testing of realistic use cases.
We have a workable code base for burning CD and most single layer DVD, though.
We have a workable code base for burning CD and most single layer DVD.
The burn API is quite comprehensively documented and can be used to build a
presentable application.
We have a functional binary which emulates parts of cdrecord in order to
@ -190,7 +190,9 @@ Project history as far as known to me:
by dvd+rw-tools' "poor man" writing facility for this class of media.
Taking a bow towards Andy Polyakov.
- Upcoming release will cover sequential DVD-RW and DVD-R.
- 11th February 2007 version 0.3.2 covers sequential DVD-RW and DVD-R with
multi-session and with DAO.
This means all single layer DVD media except DVD+R are supported now.


@ -26,12 +26,12 @@ following possible.
cdrskin. By Thomas Schmitt <>
Integrated sub project of but also published via:
Copyright (C) 2006-2007 Thomas Schmitt
On top of libburn there is implemented cdrskin 0.3.1, a limited cdrecord
On top of libburn there is implemented cdrskin 0.3.3, a limited cdrecord
compatibility wrapper which allows to use some libburn features from
the command line.
Interested users of cdrecord are invited to participate in the development
@ -59,16 +59,16 @@ systems, including 64 bit systems. (Further reports are welcome.)
Compilation, First Glimpse, Installation
Obtain cdrskin-0.3.1.tar.gz, take it to a directory of your choice and do:
Obtain cdrskin-0.3.3.tar.gz, take it to a directory of your choice and do:
tar xzf cdrskin-0.3.1.tar.gz
cd cdrskin-0.3.1
tar xzf cdrskin-0.3.3.tar.gz
cd cdrskin-0.3.3
Or obtain a SVN snapshot,
go into the toplevel directory of the snapshot (e.g. cd libburn_pykix ),
and execute the autotools script ./bootstrap . Use autools version >= 1.7 .
Within that toplevel directory of either cdrskin-0.3.1 or libburn then execute:
Within that toplevel directory of either cdrskin-0.3.3 or libburn then execute:


@ -86,7 +86,7 @@ or
/** The official program version */
#ifndef Cdrskin_prog_versioN
#define Cdrskin_prog_versioN "0.3.1"
#define Cdrskin_prog_versioN "0.3.3"
/** The source code release timestamp */
@ -119,23 +119,24 @@ or
#endif /* Cdrskin_libburn_cvs_A60220_tS */
#ifdef Cdrskin_libburn_0_3_0
#define Cdrskin_libburn_versioN "0.3.0"
#ifdef Cdrskin_libburn_0_3_2
#define Cdrskin_libburn_versioN "0.3.2"
#define Cdrskin_libburn_from_pykix_svN 1
#endif /* Cdrskin_libburn_0_3_0 */
#endif /* Cdrskin_libburn_0_3_2 */
#ifdef Cdrskin_libburn_0_3_1
#define Cdrskin_libburn_versioN "0.3.1"
#ifdef Cdrskin_libburn_0_3_3
#define Cdrskin_libburn_versioN "0.3.3"
#define Cdrskin_libburn_from_pykix_svN 1
#define Cdrskin_libburn_has_get_msc1 1
#define Cdrskin_libburn_has_toc_entry_extensionS 1
#define Cdrskin_libburn_has_get_multi_capS 1
/* Place novelty switch macros here.
Move them down to Cdrskin_libburn_from_pykix_svN on version leap
/* no novelties yet */
#endif /* Cdrskin_libburn_0_3_1 */
#endif /* Cdrskin_libburn_0_3_3 */
#ifndef Cdrskin_libburn_versioN
#define Cdrskin_libburn_versioN "0.3.0"
#define Cdrskin_libburn_versioN "0.3.2"
#define Cdrskin_libburn_from_pykix_svN 1
@ -168,6 +169,9 @@ or
#define Cdrskin_libburn_has_wrote_welL 1
#define Cdrskin_libburn_has_bd_formattinG 1
#define Cdrskin_libburn_has_burn_disc_formaT 1
#define Cdrskin_libburn_has_get_msc1 1
#define Cdrskin_libburn_has_toc_entry_extensionS 1
#define Cdrskin_libburn_has_get_multi_capS 1
#ifdef Cdrskin_new_api_tesT


@ -25,7 +25,7 @@
<LI>Burns preformatted data to CD-R, CD-RW, DVD-RAM, DVD+RW, DVD-RW</LI>
<LI>Burns preformatted data to CD-R, CD-RW, DVD-R, DVD-RW, DVD-RAM, DVD+RW</LI>
@ -34,9 +34,9 @@
<H2>Hardware requirements:</H2>
A CD recorder suitable for
A CD/DVD recorder suitable for
<A HREF=""></A>
(SCSI or IDE/ATAPI writers compliant to mmc-3 standard).
(SCSI or IDE/ATAPI writers compliant to standard MMC-3 or higher).
@ -56,7 +56,7 @@ A CD recorder suitable for
GPL software included:<BR>
<DD>(by Derek Foreman, Ben Jansens, and team of</DD>
<DD>transfers data to CD</DD>
@ -88,41 +88,74 @@ and for data CD projects of <A HREF="">K3b</A>
(see <A HREF="#examples">examples</A>).
Suitability for audio CD frontends has been improved much and is now being
DVD are written in a pseudo -tao mode which is very different from the
write mode used by cdrecord(-ProDVD).<BR>
Most DVD types are written in pseudo -tao modes which are very different
from the write mode DAO used by cdrecord(-ProDVD). With DVD-R[W] cdrskin
can use this write mode, too.<BR>
Further enhancements depend on people who can describe and discuss their
wishes as well as on the development of libburn.</DT>
<DT>Get an overview of drives:</DT>
<DD>$ cdrskin -scanbus</DD>
<DD>$ cdrskin dev=ATA -scanbus</DD>
<DD>$ cdrskin --devices</DD>
<DT>Get an overview of drives and their addresses:</DT>
<DD>$<KBD>&nbsp;cdrskin -scanbus</KBD></DD>
<DD>$<KBD>&nbsp;cdrskin dev=ATA -scanbus</KBD></DD>
<DD>$<KBD>&nbsp;cdrskin --devices</KBD></DD>
<DT>Get info about a particular drive or loaded media:</DT>
<DD>$ cdrskin dev=0,1,0 -checkdrive</DD>
<DD>$ cdrskin dev=ATA:1,0,0 -atip</DD>
<DD>$ cdrskin dev=/dev/hdc -toc</DD>
<DT>Make used CD-RW writable again:</DT>
<DD>$ cdrskin -v dev=/dev/sg1 blank=all -eject</DD>
<DD>$ cdrskin -v dev=/dev/dvd blank=fast -eject</DD>
<DT>Format DVD-RW before first use with cdrskin</DT>
<DD>$ cdrskin -v dev=0,1,0 blank=format_overwrite -eject<DD>
<DT>Write ISO-9660 filesystem image:</DT>
<DD>$ cdrskin -v dev=/dev/hdc speed=12 fs=8m driveropts=burnfree -eject padsize=300k my_image.iso</DD>
<DT>Write compressed afio archive on-the-fly :</DT>
<DD>$ find . | afio -oZ - | cdrskin -v dev=0,1,0 fs=32m speed=8 driveropts=burnfree padsize=300k -tao -</DD>
<DT>Write audio tracks:</DT>
<DD>$ cdrskin -v dev=ATA:1,0,0 speed=48 driveropts=burnfree -sao track1.wav -audio -swab track3.raw
<DD>$<KBD>&nbsp;cdrskin dev=0,1,0 -checkdrive</KBD></DD>
<DD>$<KBD>&nbsp;cdrskin dev=ATA:1,0,0 -v -atip</KBD></DD>
<DD>$<KBD>&nbsp;cdrskin dev=/dev/hdc -toc</KBD></DD>
<DT>Make used CD-RW or used unformatted DVD-RW writable again:</DT>
<DD>$<KBD>&nbsp;cdrskin -v dev=/dev/sg1 blank=fast -eject</KBD></DD>
<DD>$<KBD>&nbsp;cdrskin -v dev=/dev/dvd blank=all -eject</KBD></DD>
<DT>Format DVD-RW to avoid need for blanking before re-use:</DT>
<DD>$<KBD>&nbsp;cdrskin -v dev=/dev/sr0 blank=format_overwrite</KBD></DD>
<DT>De-format DVD-RW to make it capable of multi-session again:</DT>
<DD>$<KBD>&nbsp;cdrskin -v dev=/dev/sr0 blank=deformat_sequential</KBD></DD>
<DT>Write ISO-9660 filesystem image as only one to blank or formatted media:
<DD>$<KBD>&nbsp;cdrskin -v dev=/dev/hdc speed=12 fs=8m \</KBD></DD>
<DD><KBD>&nbsp;&nbsp;-sao -eject padsize=300k my_image.iso</KBD></DD>
<DT>Write compressed afio archive on-the-fly:</DT>
<DD>$<KBD>&nbsp;find . | afio -oZ - | \</KBD></DD>
<DD><KBD>&nbsp;&nbsp;cdrskin -v dev=0,1,0 fs=32m speed=8 \</KBD></DD>
<DD><KBD>&nbsp;&nbsp;-tao padsize=300k -</KBD></DD>
<DT>Write several sessions to the same CD or DVD-R[W]:</DT>
<DD>$<KBD>&nbsp;cdrskin dev=/dev/hdc -v padsize=300k -multi -tao 1.iso</KBD>
<DD>$<KBD>&nbsp;cdrskin dev=/dev/hdc -v padsize=300k -multi -tao 2.iso</KBD>
<DD>$<KBD>&nbsp;cdrskin dev=/dev/hdc -v padsize=300k -multi -tao 3.iso</KBD>
<DD>$<KBD>&nbsp;cdrskin dev=/dev/hdc -v padsize=300k -tao 4.iso</KBD></DD>
<DT>Get CD or DVD-R[W] multi-session info for option -C of program mkisofs:</DT>
<DD>$<KBD>&nbsp;c_values=$(cdrskin dev=/dev/sr0 -msinfo 2>/dev/null)</KBD></DD>
<DD>$<KBD>&nbsp;mkisofs ... -C "$c_values" ...</KBD></DD>
<DT>Write audio tracks to CD:</DT>
<DD>$<KBD>&nbsp;cdrskin -v dev=ATA:1,0,0 speed=48 -sao \</KBD></DD>
<DD><KBD>&nbsp;&nbsp;track1.wav -audio -swab track3.raw</KBD></DD>
<DT>Get overview of the cdrecord compatible options:</DT>
<DD><A HREF="cdrskin_help">$ cdrskin -help</A></DD>
<DD>$<KBD>&nbsp;<A HREF="cdrskin_help">cdrskin -help</A></KBD></DD>
<DT>Get overview of the non-cdrecord options:</DT>
<DD><A HREF="cdrskin__help">$ cdrskin --help</A></DD>
<DD>$<KBD>&nbsp;<A HREF="cdrskin__help">cdrskin --help</A></KBD></DD>
<DT>Read the detailed manual page:</DT>
<DD><A HREF="man_1_cdrskin.html">$ man cdrskin</A></DD>
<DD>$<KBD>&nbsp;<A HREF="man_1_cdrskin.html">man cdrskin</A></KBD></DD>
<DT>Read about the standard for which cdrskin is striving:</DT>
<DD><A HREF="">
$ man cdrecord</A></DD>
<A HREF="">
man cdrecord</A></KBD></DD>
<DD><B>Do not bother Joerg Schilling with any cdrskin problems.</B>
(Be cursed if you install cdrskin as "cdrecord" without clearly forwarding
this "don't bother Joerg" demand.)
@ -157,8 +190,8 @@ rw-permissions and retry the bus scan as non-superuser.
<DT>Download as source code (see README):</DT>
<DD><A HREF="cdrskin-0.3.0.pl01.tar.gz">cdrskin-0.3.0.pl01.tar.gz</A>
(540 KB).
<DD><A HREF="cdrskin-0.3.2.pl00.tar.gz">cdrskin-0.3.2.pl00.tar.gz</A>
(570 KB).
The "stable" cdrskin tarballs are source code identical with "stable"
@ -168,14 +201,14 @@ cdrskin is part of libburn - full libburn is provided with cdrskin releases.
<DT>Download as single x86 binaries (untar and move to /usr/bin/cdrskin):</DT>
<DD><A HREF="cdrskin_0.3.0.pl01-x86-suse9_0.tar.gz">
cdrskin_0.3.0.pl01-x86-suse9_0.tar.gz</A>, (75 KB),
<DD><A HREF="cdrskin_0.3.2.pl00-x86-suse9_0.tar.gz">
cdrskin_0.3.2.pl00-x86-suse9_0.tar.gz</A>, (80 KB),
<DD>runs on SuSE 9.0 (2.4.21) , RIP-14.4 (2.6.14) ,
Gentoo (2.6.15 x86_64 Athlon).</DD>
<DD><A HREF="cdrskin_0.3.0.pl01-x86-suse9_0-static.tar.gz">
cdrskin_0.3.0.pl01-x86-suse9_0-static.tar.gz</A>, (275 KB), -static compiled,
<DD><A HREF="cdrskin_0.3.2.pl00-x86-suse9_0-static.tar.gz">
cdrskin_0.3.2.pl00-x86-suse9_0-static.tar.gz</A>, (285 KB), -static compiled,
<DD>runs on SuSE 7.2 (2.4.4), and on the systems above.</DD>
@ -202,46 +235,32 @@ cdrskin_0.3.0.pl01-x86-suse9_0-static.tar.gz</A>, (275 KB), -static compiled,
Enhancements towards previous stable version cdrskin-0.2.6:
<LI>Improved recognition of unsuitable media types</LI>
<LI>Ban of chmod u+s is replaced by a loud warning</LI>
<LI>Detailed man page</LI>
<LI>Burning to DVD+RW and DVD-RAM as non-multi, non-appending,
single-track session</LI>
<LI>Formatting and then burning to DVD-RW like to DVD+RW</LI>
<LI>Emulation of new wodim option msifile=path</LI>
Bug fix towards previous patch level 0:
Enhancements towards previous stable version cdrskin-0.3.0:
<LI>Tracks >= 2 GB were only possible via a pipe to stdin but not
directly from a disk file</LI>
<LI>Burnfree enabled by default</LI>
<LI>Multi-session burning to DVD-R
and sequential (i.e. unformatted) DVD-RW</LI>
<LI>Option -toc with sequential DVD-R[W]</LI>
<LI>Options -msinfo and msifile= with appendable DVD-R[W]</LI>
<LI>Single session DAO write mode with DVD-R[W]</LI>
<DT><H3>Development snapshot, version 0.3.1 :</H3></DT>
<DD>Enhancements towards stable version 0.3.0:
<DT><H3>Development snapshot, version 0.3.3 :</H3></DT>
<DD>Enhancements towards stable version 0.3.2:
<LI>Burnfree enabled by default</LI>
<LI>Multi-session burning to DVD-R
and sequential (i.e. unformatted) DVD-RW</LI>
<LI>Option -toc with sequential DVD-R[W]</LI>
<LI>Options -msinfo and msifile= with appendable DVD-R[W]</LI>
<LI>Single session DAO write mode with DVD-R[W]</LI>
<LI>- none yet -</LI>
<DD><A HREF="README_cdrskin_devel">README 0.3.1</A>
<DD><A HREF="cdrskin__help_devel">cdrskin_0.3.1 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin_0.3.1 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.3.1)</A></DD>
<DD><A HREF="README_cdrskin_devel">README 0.3.3</A>
<DD><A HREF="cdrskin__help_devel">cdrskin_0.3.3 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin_0.3.3 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.3.3)</A></DD>
<DT>Maintainers of cdrskin unstable packages please use SVN of
<A HREF=""></A></DT>
@ -261,15 +280,15 @@ admins with full system souvereignty.</DT>
<A HREF="README_cdrskin_devel">upcoming README</A> ):
<A HREF="cdrskin-0.3.1.tar.gz">cdrskin-0.3.1.tar.gz</A>
<A HREF="cdrskin-0.3.3.tar.gz">cdrskin-0.3.3.tar.gz</A>
(570 KB).
<DD>Binary (untar and move to /usr/bin/cdrskin):</DD>
<DD><A HREF="cdrskin_0.3.1-x86-suse9_0.tar.gz">
cdrskin_0.3.1-x86-suse9_0.tar.gz</A>, (80 KB).
<DD><A HREF="cdrskin_0.3.3-x86-suse9_0.tar.gz">
cdrskin_0.3.3-x86-suse9_0.tar.gz</A>, (80 KB).
<DD><A HREF="cdrskin_0.3.1-x86-suse9_0-static.tar.gz">
cdrskin_0.3.1-x86-suse9_0-static.tar.gz</A>, (280 KB)
<DD><A HREF="cdrskin_0.3.3-x86-suse9_0-static.tar.gz">
cdrskin_0.3.3-x86-suse9_0-static.tar.gz</A>, (280 KB)
@ -340,7 +359,7 @@ is a GUI frontend which uses cdrecord for CD burning.)
<DD><KBD>cdrskin 0.3.0 : limited cdrecord compatibility wrapper for libburn</KBD></DD>
<DD><KBD>cdrskin 0.3.2 : limited cdrecord compatibility wrapper for libburn</KBD></DD>
If your system is stricken with some ill CD device then this can stall
and you will have to press <KBD>Ctrl+C</KBD> to abort.


@ -1 +1 @@
#define Cdrskin_timestamP "2007.02.08.225208"
#define Cdrskin_timestamP "2007.02.10.120001"


@ -7,7 +7,7 @@
@ -33,15 +33,15 @@ do
cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c"
elif test "$i" = "-libburn_0_3_0"
elif test "$i" = "-libburn_0_3_2"
elif test "$i" = "-libburn_svn"
@ -79,7 +79,7 @@ do
echo " -compile_cdrfifo compile program cdrskin/cdrfifo."
echo " -compile_dewav compile program test/dewav without libburn."
echo " -cvs_A60220 set macro to match libburn-CVS of 20 Feb 2006."
echo " -libburn_0_3_0 set macro to match libburn-0.3.0."
echo " -libburn_0_3_2 set macro to match libburn-0.3.2."
echo " -libburn_svn set macro to match current libburn-SVN."
echo " -no_largefile do not use 64 bit off_t (must match libburn)."
echo " -do_not_compile_cdrskin omit compilation of cdrskin/cdrskin."


@ -10,9 +10,8 @@ Schilling's cdrtools. cdrskin strives to be a second source for the services
traditionally provided by cdrecord. Currently it does CD-R and CD-RW this way.
Overwriteable media DVD-RAM, DVD+RW and DVD-RW are handled differently than
with cdrecord-ProDVD in order to offer TAO-like single track recording.
The current development version handles sequential DVD-R[W] like CD-R[W]
with TAO and multi-session. Additionally it offers cdrecord-like mode DAO with
Sequential DVD-R[W] are handled like CD-R[W] with TAO and multi-session.
Additionally cdrskin offers cdrecord-ProDVD-like mode DAO with DVD-R[W].
cdrskin does not contain any bytes copied from cdrecord's sources.
Many bytes have been copied from the message output of cdrecord
@ -228,10 +227,11 @@ image and finally manipulates the start sectors of this existing image.
So for growable ISO filesystems on DVD-RAM or DVD+RW growisofs is the only
choice, currently.
With sequential DVD-R[W] the development version of cdrskin can offer
multi-session together with associated options blank=, -multi, -msinfo and
-toc. Thus sequential DVD-RW behave much like large CD-RW with possibly more
than 99 tracks.
cdrskin can offer DVD multi-session only with sequential DVD-R[W]. Associated
options blank=, -multi, -msinfo and -toc are available in this case. Thus
sequential DVD-RW behave much like large CD-RW with possibly more than 99


@ -1,4 +1,4 @@
AC_INIT([libburn], [0.3.1], [])
AC_INIT([libburn], [0.3.3], [])
dnl AC_CONFIG_HEADER([config.h])
@ -19,7 +19,7 @@ dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match