This function returns the current status of the given drive. Status is described like so:
TSDL_CDStatus = (
CD_TRAYEMPTY,
CD_STOPPED,
CD_PLAYING,
CD_PAUSED,
CD_ERROR );
If the drive has a CD in it, the table of contents of the CD and current play position of the CD will be stored in the SDL_CD structure.
The macro CD_INDRIVE is provided for convenience, and given a status returns true if there's a disk in the drive.
Note: SDL_CDStatus also updates the TSDL_CD structure passed to it.
function playTrack( track : integer ) : integer;
var
playing : integer;
begin
playing := 0;
if ( SDL_CDInDrive( SDL_CDStatus( cdrom ) ) ) then
begin
// clamp to the actual number of tracks on the CD
if ( track >= cdrom.numtracks ) then
begin
track := cdrom.numtracks - 1;
end;
if ( SDL_CDPlayTracks( cdrom, track, 0, 1, 0 ) = 0 ) then
begin
playing := 1;
end;
end;
Result := playing;
end;