module Sdlcdrom: sig .. end
This module provides CD-ROM handling
exception SDLcdrom_exception of string
Exception used to report errors
exception Trayempty
Exception to report that thre's no cd in the drive
Types
type 
abstract type for handling cdrom
type 
| | | CD_TRAYEMPTY | 
| | | CD_STOPPED | 
| | | CD_PLAYING | 
| | | CD_PAUSED | 
enumeration of different status cdrom drive
type 
| | | TRACK_AUDIO | 
| | | TRACK_DATA | 
the types of CD-ROM track possible
type 
|    | id : int; | 
|    | kind : track_type; | 
|    | length : int; | 
|    | offset : int; | 
}
type 
|    | num_tracks : int; | 
|    | curr_track : int; | 
|    | curr_frame : int; | 
|    | tracks : track array; | 
}
General API
An SDLcdrom_exception is raised on errors
val get_num_drives : unit -> int
get_num_drives returns the number of CD-ROM drives on the system
val drive_name : int -> string
drive_name drive returns a human-readable, system-dependent identifier 
  for the CD-ROM. 
  drive is the index of the drive. Drive indices start to 0 and end 
  at get_num_drives()-1.
CD-ROM drive handling
val cd_open : int -> cdrom_drive
cd_open drive open a CD-ROM drive for access
val cd_close : cdrom_drive -> unit
Closes the handle for the cdrom_drive
val cd_status : cdrom_drive -> cdrom_drive_status
Returns the current status of the given drive.
val cd_info : cdrom_drive -> cdrom_info
Raises Trayempty if there's no cd in the drive
Returns the table of contents of the CD and current play position
Playing audio tracks 
val msf_of_frames : int -> int * int * int
val frames_of_msf : int * int * int -> int
val cd_play_tracks : cdrom_drive ->
       start_track:int ->
       start_frame:int -> num_tracks:int -> num_frames:int -> unit
cd_play_tracks cdrom_drive start_track start_frame num_tracks num_frames 
  play the given CD with these parameters
Raises Trayempty if there's no cd in the drive
start_track : the starting track
start_frame : the starting frame
num_tracks : the number of tracks to play
num_frames : the number of frames to play
val cd_play_track : cdrom_drive -> track -> unit
Play the track n on the given cdrom_drive
val cd_pause : cdrom_drive -> unit
Pause play
val cd_resume : cdrom_drive -> unit
Resume play
val cd_stop : cdrom_drive -> unit
Stop play
val cd_eject : cdrom_drive -> unit
Eject CD-ROM