• Main Page
  • Data Structures
  • Files
  • File List
  • Globals

comments

Go to the documentation of this file.
00001 /**
00002    @author Mario Danic, Thomas Schmitt
00003 
00004    @mainpage Libburn Documentation Index
00005 
00006    @section intro Introduction
00007 
00008 Libburnia is an open-source project for reading, mastering and writing
00009 optical discs. This page is about its capability to handle optical media.
00010 For now this means CD-R, CD-RW, DVD-RAM, DVD+RW, DVD+R, DVD+R/DL, DVD-RW,
00011 DVD-R, BD-R, BD-RE.
00012 
00013 Not supported yet are DVD-R/DL. Testers wanted.
00014 
00015 Our scope is currently Linux 2.4 and 2.6, or FreeBSD . For ports to other
00016 systems we would need : login on a development machine resp. a live OS on CD
00017 or DVD, advise from a system person about the equivalent of Linux sg or FreeBSD
00018 CAM, volunteers for testing of realistic use cases.
00019 
00020 libburn is the library by which preformatted data get onto optical media.
00021 Its code is independent of cdrecord. Its DVD capabilities are learned from
00022 studying the code of dvd+rw-tools and MMC-5 specs. No code but only the pure
00023 SCSI knowledge has been taken from dvd+rw-tools, though.
00024 
00025 cdrskin is a limited cdrecord compatibility wrapper for libburn.
00026 cdrecord is a powerful GPL'ed burn program included in Joerg Schilling's
00027 cdrtools. cdrskin strives to be a second source for the services traditionally
00028 provided by cdrecord. Additionally it provides libburn's DVD/BD capabilities,
00029 where only -sao is compatible with cdrecord.
00030 cdrskin does not contain any bytes copied from cdrecord's sources.
00031 Many bytes have been copied from the message output of cdrecord runs, though.
00032 See cdrskin/README for more.
00033 
00034 The burn API example of libburn is named test/libburner.c . The API for media
00035 information inquiry is demonstrated in test/telltoc.c .
00036 Explore these examples if you look for inspiration.
00037 
00038 SONAME:
00039 libburn.so.4 (since 0.3.4, March 2007),
00040 
00041 
00042    @section using Using libburn
00043 
00044 Our build system is based on autotools.
00045 User experience tells us that you will need at least autotools version 1.7.
00046 
00047 To build libburn and its companion applications go into its toplevel directory
00048 and execute
00049 
00050 -  ./bootstrap  (needed if you downloaded from SVN)
00051 
00052 -  ./configure
00053 
00054 -  make
00055 
00056 To make the libraries accessible for running resp. developing applications 
00057 
00058 -  make install
00059 
00060 
00061 @section libburner Libburner
00062 
00063 libburner is a minimal demo application for the library libburn 
00064 (see: libburn/libburn.h) as provided on  http://libburnia-project.org .
00065 It can list the available devices, can burn to recordable CD, DVD, or BD,
00066 can blank a CD-RW or DVD-RW, and can format unformatted DVD-RW, BD-R, or BD-RE. 
00067 
00068 It's main purpose, nevertheless, is to show you how to use libburn and also
00069 to serve the libburnia team as reference application. libburner does indeed
00070 define the standard way how above gestures can be implemented and stay upward
00071 compatible for a good while.
00072 
00073    @subsection libburner-help Libburner --help
00074 <pre>
00075 Usage: test/libburner
00076        [--drive <address>|<driveno>|"-"]  [--audio]
00077        [--blank_fast|--blank_full|--format]  [--try_to_simulate]
00078        [--multi]  [<one or more imagefiles>|"-"]
00079 Examples
00080 A bus scan (needs rw-permissions to see a drive):
00081   test/libburner --drive -
00082 Burn a file to drive chosen by number, leave appendable:
00083   test/libburner --drive 0 --multi my_image_file
00084 Burn a file to drive chosen by persistent address, close:
00085   test/libburner --drive /dev/hdc my_image_file
00086 Blank a used CD-RW (is combinable with burning in one run):
00087   test/libburner --drive /dev/hdc --blank_fast
00088 Blank a used DVD-RW (is combinable with burning in one run):
00089   test/libburner --drive /dev/hdc --blank_full
00090 Format a DVD-RW, BD-RE or BD-R:
00091   test/libburner --drive /dev/hdc --format
00092 Burn two audio tracks (to CD only):
00093   lame --decode -t /path/to/track1.mp3 track1.cd
00094   test/dewav /path/to/track2.wav -o track2.cd
00095   test/libburner --drive /dev/hdc --audio track1.cd track2.cd
00096 Burn a compressed afio archive on-the-fly:
00097   ( cd my_directory ; find . -print | afio -oZ - ) | \
00098   test/libburner --drive /dev/hdc -
00099 To be read from *not mounted* media via: afio -tvZ /dev/hdc
00100 </pre>
00101 libburner has two companions, telltoc and dewav, which help to perform some
00102 peripheral tasks of burning.
00103 
00104 telltoc prints a table of content (sessions, tracks and leadouts), it tells
00105 about type and state of media, and also is able to provide the necessary
00106 multi-session information for program mkisofs option -C. Especially helpful
00107 are its predictions with "Write multi" and "Write modes" where availability
00108 of "TAO" indicates that tracks of unpredicted length can be written.
00109 See: test/telltoc --help.
00110 
00111 dewav extracts raw byte-swapped audio data from files of format .wav (MS WAVE)
00112 or .au (SUN Audio). See example in libburner --help.
00113 
00114    @subsection libburner-source Sourceode of libburner
00115 
00116 Click on blue names of functions, structures, variables, etc in oder to
00117 get to the according specs of libburn API or libburner sourcecode.
00118  
00119 @include libburner.c
00120 */

Generated on Fri Jan 28 2011 for libburn by  doxygen 1.7.1