
                           Ruby/Libburn API Reference                           
                           **************************                           

================================================================================
Module Burn
================================================================================

The Burn module.

Functions:

  ----
  init
  ----

    This must be called before using any other methods in the library.
    It may be called more than once with no effect.
    If is possible to 'restart' the library by shutting it down and
    re-initializing it, though there is no good reason to do that.

      Returns : true if the library was able to initialize, false if initialization failed.

  ------
  finish
  ------

    Shutdowns the library.  This should be called before exiting your
    application. Make sure that all drives you have grabbed are released
    before calling this.

      Returns : always nil.

  -----------------
  verbosity=(level)
  -----------------

    Sets the verbosity level of the library.
    The default value is 0, which means that nothing is output on stderr.
    The more you increase this, the more debug output should be displayed on
    stderr for you.

      level   : the verbosity level desired (0 for nothing, higher positive values for more information output.  

      Returns : the level parameter.

  -------
  message
  -------

    Retrieves a message.

      Returns : a newly allocated Burn::Message or nil when there are no more messages to retrieve.

  ----------------------------------------
  msf_to_sectors(minutes, seconds, frames)
  ----------------------------------------

    Converts a minute-second-frame (MSF) value to a sector count.

      seconds : the second component. 
      minutes : the minute component. 
      frames  : the frame component.  

      Returns : a sector count.

  -------------------
  sectors_to_msf(lba)
  -------------------

    Converts a sector count to a minute-second-frame (MSF).
    
    	# Example:
    	minutes, seconds, frames = Burn.sectors_to_msf(100)

      lba     : the sector count.   

      Returns : an Array of 3 elements which contains the minutes, seconds and frames components.


Constants:

  -------
  POS_END
  -------

    Identifies the "at the end" position.

  ----------
  BLOCK_RAW0
  ----------

    sync, headers, edc/ecc provided by lib/user.

  -----------
  BLOCK_RAW16
  -----------

    sync, headers, edc/ecc and p/q subs provided by lib/user.

  ------------
  BLOCK_RAW96P
  ------------

    sync, headers, edc/ecc and packed p-w subs provided by lib/user.

  ------------
  BLOCK_RAW96R
  ------------

    sync, headers, edc/ecc and raw p-w subs provided by lib/user.

  -----------
  BLOCK_MODE1
  -----------

    only 2048 bytes of user data provided by lib/user.

  ------------
  BLOCK_MODE2R
  ------------

    2336 bytes of user data provided by lib/user.

  --------------------
  BLOCK_MODE2_PATHETIC
  --------------------

    2048 bytes of user data provided by lib/user subheader provided
    in write parameters.

  ----------------
  BLOCK_MODE2_LAME
  ----------------

    2048 bytes of data + 8 byte subheader provided by lib/user.

  -------------------
  BLOCK_MODE2_OBSCURE
  -------------------

    2324 bytes of data provided by lib/user subheader provided in
    write parameters.

  --------------
  BLOCK_MODE2_OK
  --------------

    2332 bytes of data supplied by lib/user. 8 bytes sub header
    provided in write parameters.

  -----
  CDROM
  -----

    Session format for normal audio or data discs.

  ---
  CDI
  ---

    Session format for obsolete CD-I discs.

  ----
  CDXA
  ----

    Session format for CDROM-XA discs.



================================================================================
Class Burn::Disc
================================================================================

This class references a whole disc.

Inherits from: Object <- Burn::Disc.

Included in: Burn.

Class methods:

  ---
  new
  ---

    Creates a new disc (for DAO recording).

      Returns : a newly allocated Burn::Disc object.


Instance methods:

  -------------------------
  add_session(session, pos)
  -------------------------

    Adds a session to a disc at a specific position, increasing the
    sessions' reference count.

      session : a session to add to the disk (as a Burn::Session object). 
      pos     : position to add at (Burn::POS_END is "at the end").  

      Returns : true on success, false otherwise.

  -----------------------
  remove_session(session)
  -----------------------

    Removes a session from a disc.

      session : a session to remove from the disk (as a Burn::Session object).  

      Returns : true on success, false otherwise.

  --------
  sessions
  --------

    Gets a list of all sessions in the disc.

      Returns : an Array of Burn::Session objects.

  ------------------------------
  each_session { |session| ... }
  ------------------------------

    Calls the block for each session in the disc, passing a reference
    to a Burn::Session object as parameter.

      Returns : always nil.


Constants:

  --------------
  STATUS_UNREADY
  --------------

    The current status is not yet known.

  ------------
  STATUS_BLANK
  ------------

    The drive holds a blank disc.

  ------------
  STATUS_EMPTY
  ------------

    There is no disc at all in the drive.

  -----------------
  STATUS_APPENDABLE
  -----------------

    There is an incomplete disc in the drive.

  -----------
  STATUS_FULL
  -----------

    There is a disc with data on it in the drive.



================================================================================
Class Burn::Drive
================================================================================

This class references a physical drive in the system.

Inherits from: Object <- Burn::Drive.

Included in: Burn.

Class methods:

  ----
  scan
  ----

    Scans for drives.
    
    	# Example: prints name and location of all drives 
    	Burn::Drive.scan.each do |drive|
    		puts drive.product + " on " + drive.location
    	end

      Returns : a list of drives (cdroms/burners), as an Array of Burn::Drive objects.


Instance methods:

  -----------
  grab!(load)
  -----------

    Grabs a drive. This must be done before the drive can be used (for
    reading, writing, etc). It may be neccesary to call this method more than
    once to grab a drive.

      load    : true to make the drive attempt to load a disc (close its tray door, etc).  

      Returns : true is the drive has been grabbed, false otherwise.

  ---------------
  release!(eject)
  ---------------

    Releases a drive. This should not be done until the drive is no longer
    busy (see Burn::Drive#status).

      eject   : true to make the drive eject the disc in it.  

      Returns : self.

  -----------
  disc_status
  -----------

    Retrieves what kind of disc a drive is holding. This method may need to be
    called more than once to get a proper status from it.

      Returns : a disc status (either Burn::Disc::STATUS_APPENDABLE,  Burn::Disc::STATUS_BLANK, Burn::Disc::STATUS_EMPTY, Burn::Disc::STATUS_UNREADY, or Burn::Disc::STATUS_FULL).

  ----------------------
  set_speed(read, write)
  ----------------------

    Sets drive read and write speed.

      read    : read speed in k/s (0 is max). 
      write   : write speed in k/s (0 is max).  

      Returns : self.

  ----------
  read_speed
  ----------

      Returns : maximum read speed for a drive in k/s.

  -----------
  write_speed
  -----------

      Returns : maximum write speed for a drive in k/s.

  --------------
  disc_erasable?
  --------------

    Checks whether a disc can be erased or not.

      Returns : true if erasable, false if not.

  -----------------
  erase_disc!(fast)
  -----------------

    Erases a disc in the drive. The drive must be grabbed successfully BEFORE
    calling this method. Always ensure that the drive reports a status of
    Burn::Disc::STATUS_FULL before calling this function. An erase operation
    is not cancellable, as control of the operation is passed wholly to the
    drive and there is no way to interrupt it safely.

      fast    : true to do a fast erase, where only the disc's headers are erased; false to erase the entire disc.  

      Returns : self.

  -------
  cancel!
  -------

    Cancels an operation on a drive.
    This will only work when the drive's busy state is
    Burn::Drive::STATUS_READING or Burn::Drive::STATUS_WRITING.

      Returns : self.

  ------
  status
  ------

    Gets the status of the drive.

      Returns : a drive status (either Burn::Drive::STATUS_IDLE,  Burn::Drive::STATUS_SPAWNING, Burn::Drive::STATUS_READING, Burn::Drive::STATUS_WRITING, Burn::Drive::STATUS_WRITING_LEADIN, Burn::Drive::STATUS_WRITING_LEADOUT, Burn::Drive::STATUS_ERASING or Burn::Drive::STATUS_GRABBING).

  --------
  progress
  --------

      Returns : the progres of the current operation on the drive, as a newly allocated Burn::Progress object.

  ----
  disc
  ----

      Returns : the drive's disc, as a newly allocated Burn::Disc object.

  ------
  vendor
  ------

      Returns : the name of the vendor of the drive.

  -------
  product
  -------

      Returns : the name of the drive.

  --------
  location
  --------

      Returns : the location of the drive in the filesystem.

  ----------------
  can_read_dvdram?
  ----------------

      Returns : whether the drive can read DVD-RAM discs.

  --------------
  can_read_dvdr?
  --------------

      Returns : whether the drive can read DVD-R discs.

  ----------------
  can_read_dvdrom?
  ----------------

      Returns : whether the drive can read DVD-ROM discs.

  -------------
  can_read_cdr?
  -------------

      Returns : whether the drive can read CD-R discs.

  --------------
  can_read_cdrw?
  --------------

      Returns : whether the drive can read CD-RW discs.

  -----------------
  can_write_dvdram?
  -----------------

      Returns : whether the drive can write DVD-RAM discs.

  ---------------
  can_write_dvdr?
  ---------------

      Returns : whether the drive can write DVD-R discs.

  --------------
  can_write_cdr?
  --------------

      Returns : whether the drive can write CD-R discs.

  ---------------
  can_write_cdrw?
  ---------------

      Returns : whether the drive can write CD-RW discs.

  -------------------
  can_write_simulate?
  -------------------

      Returns : whether the drive can simulate a write.

  ---------------------
  can_report_c2_errors?
  ---------------------

      Returns : whether the drive can report C2 errors.

  -----------
  buffer_size
  -----------

      Returns : the size of the drive's buffer (in kilobytes).

  ---------------
  tao_block_types
  ---------------

      Returns : the supported block types in TAO mode (either Burn::BLOCK_RAW0, Burn::BLOCK_RAW16, Burn::BLOCK_RAW96P, Burn::BLOCK_RAW96R, Burn::BLOCK_MODE1, Burn::BLOCK_MODE2_PATHETIC, Burn::BLOCK_MODE2_LAME, Burn::BLOCK_MODE2_OBSCURE, Burn::BLOCK_MODE2_OK, Burn::BLOCK_MODE2R).

  ---------------
  sao_block_types
  ---------------

      Returns : the supported block types in SAO mode (either Burn::BLOCK_RAW0, Burn::BLOCK_RAW16, Burn::BLOCK_RAW96P, Burn::BLOCK_RAW96R, Burn::BLOCK_MODE1, Burn::BLOCK_MODE2_PATHETIC, Burn::BLOCK_MODE2_LAME, Burn::BLOCK_MODE2_OBSCURE, Burn::BLOCK_MODE2_OK, Burn::BLOCK_MODE2R).

  ---------------
  raw_block_types
  ---------------

      Returns : the supported block types in raw mode (either Burn::BLOCK_RAW0, Burn::BLOCK_RAW16, Burn::BLOCK_RAW96P, Burn::BLOCK_RAW96R, Burn::BLOCK_MODE1, Burn::BLOCK_MODE2_PATHETIC, Burn::BLOCK_MODE2_LAME, Burn::BLOCK_MODE2_OBSCURE, Burn::BLOCK_MODE2_OK, Burn::BLOCK_MODE2R).

  ------------------
  packet_block_types
  ------------------

      Returns : the supported block types in packet mode (either Burn::BLOCK_RAW0, Burn::BLOCK_RAW16, Burn::BLOCK_RAW96P, Burn::BLOCK_RAW96R, Burn::BLOCK_MODE1, Burn::BLOCK_MODE2_PATHETIC, Burn::BLOCK_MODE2_LAME, Burn::BLOCK_MODE2_OBSCURE, Burn::BLOCK_MODE2_OK, Burn::BLOCK_MODE2R).


Constants:

  -----------
  STATUS_IDLE
  -----------

    The drive is not in an operation.

  ---------------
  STATUS_SPAWNING
  ---------------

    The library is spawning the processes to handle a pending
    operation (A read/write/etc is about to start but hasn't quite
    yet)

  --------------
  STATUS_READING
  --------------

    The drive is reading data from a disc.

  --------------
  STATUS_WRITING
  --------------

    The drive is writing data to a disc.

  ---------------------
  STATUS_WRITING_LEADIN
  ---------------------

    The drive is writing Lead-In.

  ----------------------
  STATUS_WRITING_LEADOUT
  ----------------------

    The drive is writing Lead-Out.

  --------------
  STATUS_ERASING
  --------------

    The drive is erasing a disc.

  ---------------
  STATUS_GRABBING
  ---------------

    The drive is being grabbed.



================================================================================
Class Burn::Message
================================================================================

Messages from the library.

Inherits from: Object <- Burn::Message.

Included in: Burn.

Instance methods:

  -----
  mtype
  -----

    Gets the type of the message.

      Returns : a message type (either Burn::Message::TYPE_INFO, Burn::Message::TYPE_WARNING, Burn::Message::TYPE_ERROR).

  -------
  message
  -------

    Gets the actual message.

      Returns : always nil (not yet implemented).

  ----
  to_s
  ----

    Synonym for Burn::Message#message.

      Returns : always nil (not yet implemented).


Constants:

  ---------
  TYPE_INFO
  ---------

    Diagnostic/Process information. For the curious user.

  ------------
  TYPE_WARNING
  ------------

    A warning regarding a possible problem. The user should probably
    be notified, but its not fatal.

  ----------
  TYPE_ERROR
  ----------

    An error message. This usually means the current process will be
    aborted, and the user should definately see these.



================================================================================
Class Burn::Progress
================================================================================

Operation progress report.  All values are 0 based indices.

Inherits from: Object <- Burn::Progress.

Included in: Burn.

Instance methods:

  --------
  sessions
  --------

      Returns : the total number of sessions.

  -------
  session
  -------

      Returns : the current session.

  ------
  tracks
  ------

      Returns : the total number of tracks.

  -----
  track
  -----

      Returns : the current track.

  -------
  indices
  -------

      Returns : the total number of indices.

  -----
  index
  -----

      Returns : the current index.

  ------------
  start_sector
  ------------

      Returns : the starting logical block address.

  -------
  sectors
  -------

      Returns : the total number of sectors.

  --------------
  current_sector
  --------------

      Returns : the current sector being processed.

  ------
  sector
  ------

    Synonym for Burn::Progress#current_sector.

      Returns : the current sector being processed.



================================================================================
Class Burn::ReadOptions
================================================================================

Options relative to reading operations.

Inherits from: Object <- Burn::ReadOptions.

Included in: Burn.

Class methods:

  ----------
  new(drive)
  ----------

    Creates a Burn::ReadOptions for reading the specified drive.

      drive   : the drive to read from (as a Burn::Drive).  

      Returns : a newly allocated Burn::ReadOptions object.


Instance methods:

  -----------
  raw=(state)
  -----------

    Sets whether to read in raw mode or not.

      state   : if true, reading will be done in raw mode, so that everything in the data tracks on the disc is read, including headers.  

      Returns : the state.

  -----------------
  c2_errors=(state)
  -----------------

    Sets whether to report C2 errors or not.

      state   : if true, report C2 errors.  

      Returns : the state.

  ---------------------------
  read_subcodes_audio=(state)
  ---------------------------

    Sets whether to read subcodes from audio tracks or not.

      state   : if true, read subcodes from audio tracks on the disc.  

      Returns : the state.

  --------------------------
  read_subcodes_data=(state)
  --------------------------

    Sets whether to read subcodes from data tracks or not.

      state   : if true, read subcodes from data tracks on the disc.  

      Returns : the state.

  -------------------------------
  hardware_error_recovery=(state)
  -------------------------------

    Sets whether to recover errors if possible.

      state   : if true, attempt to recover errors if possible.  

      Returns : the state.

  -------------------------------
  report_recovered_errors=(state)
  -------------------------------

    Sets whether to report recovered errors or not.

      state   : if true, recovered errors will be reported.  

      Returns : the state.

  -------------------------------
  transfer_damaged_blocks=(state)
  -------------------------------

    Sets whether blocks with unrecoverable errors should be read or not.

      state   : if true, blocks with unrecoverable errors will still be read.  

      Returns : the state.

  ------------------------------
  hardware_error_retries=(state)
  ------------------------------

    Sets the number of retries to attempt when trying to correct an error.

      state   : the number of retries to attempt when correcting an error.  

      Returns : the state.



================================================================================
Class Burn::Session
================================================================================

This class references a single session on a disc.

Inherits from: Object <- Burn::Session.

Included in: Burn.

Class methods:

  ---
  new
  ---

    Creates a new session (For SAO at once recording, or to be added to a
    disc for DAO).

      Returns : a newly allocated Burn::Session object.


Instance methods:

  ---------------------
  add_track(track, pos)
  ---------------------

    Adds a track to the session at specified position.

      track   : the track to insert in the session (as a Burn::Track object). 
      pos     : position to add at (Burn::POS_END is "at the end").  

      Returns : true on success, false otherwise.

  -------------------
  remove_track(track)
  -------------------

    Removes a track from the session.

      track   : the track to remove from the session (as a Burn::Track object).  

      Returns : true on success, false otherwise.

  ------------------------
  hide_first_track=(state)
  ------------------------

    Hides the first track in the "pre gap" of the disc.

      state   : true to enable hiding, false to disable.  

      Returns : the state.

  -----------------
  hide_first_track?
  -----------------

      Returns : whether the first track is hidden or not in the "pre gap" of the disc.

  ------
  tracks
  ------

    Gets a list of all tracks in the session.

      Returns : an Array of Burn::Track objects.

  --------------------------
  each_track { |track| ... }
  --------------------------

    Calls the block for each track in the session, passing a reference to a
    Burn::Track object as parameter.

      Returns : always nil.



================================================================================
Class Burn::Source
================================================================================

Data source for tracks.

Inherits from: Object <- Burn::Source.

Included in: Burn.

Class methods:

  ------------------
  new(path, subpath)
  ------------------

    Creates a data source for an image file (and maybe subcode file).

      subpath : sub path of the data source.  
      path    : path of the data source. 

      Returns : a newly allocated Burn::Source object.


Constants:

  ---------
  STATUS_OK
  ---------

    The source is ok.

  ----------
  STATUS_EOF
  ----------

    The source is at the end of the file.

  -------------
  STATUS_FAILED
  -------------

    The source is unusable.



================================================================================
Class Burn::TocEntry
================================================================================

Information about a track on a disc - this is from the q sub channel of the
lead-in area of a disc.  The documentation here is very terse.
See a document such as mmc3 for proper information.

Inherits from: Object <- Burn::TocEntry.

Included in: Burn.

Class methods:

  ---
  new
  ---

    Creates a new TOC entry.

      Returns : a newly allocated Burn::TocEntry object.


Instance methods:

  -------
  session
  -------

      Returns : the 'session' property of the TOC entry.

  -----------------
  session=(session)
  -----------------

    Sets the 'session' property of the TOC entry.

      session : the 'session' property to set.  

      Returns : the 'session' property.

  ---
  adr
  ---

      Returns : the 'adr' property of the TOC entry.

  ---------
  adr=(adr)
  ---------

    Sets the 'adr' property of the TOC entry.

      adr     : the 'adr' property to set.  

      Returns : the 'adr' property.

  -------
  control
  -------

      Returns : the 'control' property of the TOC entry.

  -----------------
  control=(control)
  -----------------

    Sets the 'control' property of the TOC entry.

      control : the 'control' property to set.  

      Returns : the 'control' property.

  ---
  tno
  ---

      Returns : the 'tno' property of the TOC entry.

  ---------
  tno=(tno)
  ---------

    Sets the 'tno' property of the TOC entry.

      tno     : the 'tno' property to set.  

      Returns : the 'tno' property.

  -----
  point
  -----

      Returns : the 'point' property of the TOC entry.

  -------------
  point=(point)
  -------------

    Sets the 'point' property of the TOC entry.

      point   : the 'point' property to set.  

      Returns : the 'point' property.

  ---
  min
  ---

      Returns : the 'min' property of the TOC entry.

  ---------
  min=(min)
  ---------

    Sets the 'min' property of the TOC entry.

      min     : the 'min' property to set.  

      Returns : the 'min' property.

  ---
  sec
  ---

      Returns : the 'sec' property of the TOC entry.

  ---------
  sec=(sec)
  ---------

    Sets the 'sec' property of the TOC entry.

      sec     : the 'sec' property to set.  

      Returns : the 'sec' property.

  -----
  frame
  -----

      Returns : the 'frame' property of the TOC entry.

  -------------
  frame=(frame)
  -------------

    Sets the 'frame' property of the TOC entry.

      frame   : the 'frame' property to set.  

      Returns : the 'frame' property.

  ----
  zero
  ----

      Returns : the 'zero' property of the TOC entry.

  -----------
  zero=(zero)
  -----------

    Sets the 'zero' property of the TOC entry.

      zero    : the 'zero' property to set.  

      Returns : the 'zero' property.

  ----
  pmin
  ----

      Returns : the 'pmin' property of the TOC entry.

  -----------
  pmin=(pmin)
  -----------

    Sets the 'pmin' property of the TOC entry.

      pmin    : the 'pmin' property to set.  

      Returns : the 'pmin' property.

  ----
  psec
  ----

      Returns : the 'psec' property of the TOC entry.

  -----------
  psec=(psec)
  -----------

    Sets the 'psec' property of the TOC entry.

      psec    : the 'psec' property to set.  

      Returns : the 'psec' property.

  ------
  pframe
  ------

      Returns : the 'pframe' property of the TOC entry.

  ---------------
  pframe=(pframe)
  ---------------

    Sets the 'pframe' property of the TOC entry.

      pframe  : the 'pframe' property to set.  

      Returns : the 'pframe' property.



================================================================================
Class Burn::Track
================================================================================

This class references a single track on a disc.

Inherits from: Object <- Burn::Track.

Included in: Burn.

Class methods:

  ---
  new
  ---

    Creates a track (for TAO recording, or to put in a session).

      Returns : a newly allocated Burn::Track object.


Instance methods:

  ------------------------------------
  define_data(offset, tail, pad, mode)
  ------------------------------------

    Defines the data in a track.

      mode    : mode data format (bitfield).  
      tail    : the number of extra 0s to write after data. 
      pad     : true means the library should pad the last sector with 0s if the track isn't exactly sector sized (otherwise the library will begin reading from the next track). 
      offset  : the library will write this many 0s before start of data. 

      Returns : self.

  --------------------------------------
  set_isrc(country, owner, year, serial)
  --------------------------------------

    Sets the ISRC details for a track.

      serial  : 5 digit serial number (a number in 0-99999).  
      country : a 2 char country code, each character must be only numbers or letters. 
      year    : a 2 digit year (a number in 0-99, yep, not Y2K friendly). 
      owner   : a 3 char owner code, each character must be only numbers or letters. 

      Returns : self.

  ----------
  clear_isrc
  ----------

    Disables ISRC parameters for a track.

      Returns : self.

  -------
  sectors
  -------

      Returns : how long a track will be on disc.

  ------------------
  set_source(source)
  ------------------

    Sets the track's data source.

      source  : the data source to use for the contents of the track, as a Burn::Source object.  

      Returns : an error code stating if the source is ready for use for writing the track, or if an error occured (either Burn::Source::STATUS_OK, Burn::Source::STATUS_EOF, Burn::Source::STATUS_FAILED).

  -----
  entry
  -----

    Gets the associated TOC entry of this track.

      Returns : a Burn::TocEntry object.

  ----
  mode
  ----

    Gets the audio/data mode for the entry. Derived from control and
    possibly from reading the track's first sector.

      Returns : the mode of the track.

  ---------
  toc_entry
  ---------

    Synonym for Burn::Track#entry.

      Returns : a Burn::TocEntry object.



================================================================================
Class Burn::WriteOptions
================================================================================

Options relative to writing operations.

Inherits from: Object <- Burn::WriteOptions.

Included in: Burn.

Class methods:

  ----------
  new(drive)
  ----------

    Creates a new Burn::WriteOptions for burning to the specified drive.

      drive   : the drive to write with (as a Burn::Drive).  

      Returns : a newly allocated Burn::WriteOptions object.


Instance methods:

  --------------------------------------
  set_write_type(write_type, block_type)
  --------------------------------------

    Sets the write type.

      block_type : the block type to use (either Burn::BLOCK_RAW0, Burn::BLOCK_RAW16, Burn::BLOCK_RAW96P, Burn::BLOCK_RAW96R, Burn::BLOCK_MODE1, Burn::BLOCK_MODE2_PATHETIC, Burn::BLOCK_MODE2_LAME, Burn::BLOCK_MODE2_OBSCURE, Burn::BLOCK_MODE2_OK, Burn::BLOCK_MODE2R).  
      write_type : the write type to use (either Burn::WriteOptions::TYPE_PACKET, Burn::WriteOptions::TYPE_TAO, Burn::WriteOptions::TYPE_SAO, Burn::WriteOptions::TYPE_RAW). 

      Returns    : true on success, false otherwise.

  -----------------------------
  set_toc_entries(*toc_entries)
  -----------------------------

    Supplies toc entries for writing - not normally required for cd mastering.

      toc_entries : TOC entries (as a list of Burn::TocEntry objects).  

      Returns     : self.

  -------------------
  set_simulate(state)
  -------------------

    Sets wheither the drive should perform a simulation instead of a burn or
    not.

      state   : if true, the drive will perform a simulation instead of a burn.  

      Returns : true on success, false otherwise.

  -------------------------
  set_underrun_proof(state)
  -------------------------

    Controls buffer underrun prevention.

      state   : if true, buffer underrun protection is enabled.   

      Returns : true on success, false otherwise.

  ----------------------
  set_perform_opc(state)
  ----------------------

    Sets whether the drive should use opc or not.

      state   : if true, optical power calibration will be performed at start of burn.  

      Returns : self.


Constants:

  -----------
  TYPE_PACKET
  -----------

    Packet writing.

  --------
  TYPE_TAO
  --------

    Track At Once recording. 2s gaps between tracks, no fonky lead-ins.

  --------
  TYPE_SAO
  --------

    Session At Once.

  --------
  TYPE_RAW
  --------

    Raw disc at once recording. All subcodes must be provided by lib
    or user. Only raw block types are supported.


--
This documentation has been generated by extdoc.rb 0.2.0, Mon Feb 23 19:51:39 CET 2004.
Extdoc.rb is free software, written by Laurent Sansonetti <lrz@gnome.org>, and released under the GNU General Public License.
