OCamlSDL 0.9.1 : Sdlcdrom

`sig
exception SDLcdrom_exception of string
exception Trayempty
type cdrom_drive
type cdrom_drive_status =
CD_TRAYEMPTY
| CD_STOPPED
| CD_PLAYING
| CD_PAUSED
type track_type = TRACK_AUDIO | TRACK_DATA
type track = {
id : int;
kind : Sdlcdrom.track_type;
length : int;
offset : int;
}
type cdrom_info = {
num_tracks : int;
curr_track : int;
curr_frame : int;
tracks : Sdlcdrom.track array;
}
val get_num_drives : unit -> int
val drive_name : int -> string
val cd_open : int -> Sdlcdrom.cdrom_drive
val cd_close : Sdlcdrom.cdrom_drive -> unit
val cd_status : Sdlcdrom.cdrom_drive -> Sdlcdrom.cdrom_drive_status
val cd_info : Sdlcdrom.cdrom_drive -> Sdlcdrom.cdrom_info
val msf_of_frames : int -> int * int * int
val frames_of_msf : int * int * int -> int
val cd_play_tracks :
Sdlcdrom.cdrom_drive ->
start_track:int ->
start_frame:int -> num_tracks:int -> num_frames:int -> unit
val cd_play_track : Sdlcdrom.cdrom_drive -> Sdlcdrom.track -> unit
val cd_pause : Sdlcdrom.cdrom_drive -> unit
val cd_resume : Sdlcdrom.cdrom_drive -> unit
val cd_stop : Sdlcdrom.cdrom_drive -> unit
val cd_eject : Sdlcdrom.cdrom_drive -> unit
end`