|  | .TH "SDL_CDStatus" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference" | 
|  | .SH "NAME" | 
|  | SDL_CDStatus \- Returns the current status of the given drive\&. | 
|  | .SH "SYNOPSIS" | 
|  | .PP | 
|  | \fB#include "SDL\&.h" | 
|  | .sp | 
|  | \fBCDstatus \fBSDL_CDStatus\fP\fR(\fBSDL_CD *cdrom\fR); | 
|  | \fB/* Given a status, returns true if there\&'s a disk in the drive */ | 
|  | #define CD_INDRIVE(status)      ((int)status > 0) | 
|  | .SH "DESCRIPTION" | 
|  | .PP | 
|  | This function returns the current status of the given drive\&. Status is described like so: | 
|  | .PP | 
|  | .nf | 
|  | \f(CWtypedef enum { | 
|  | CD_TRAYEMPTY, | 
|  | CD_STOPPED, | 
|  | CD_PLAYING, | 
|  | CD_PAUSED, | 
|  | CD_ERROR = -1 | 
|  | } CDstatus;\fR | 
|  | .fi | 
|  | .PP | 
|  | .PP | 
|  | 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\&. | 
|  | .PP | 
|  | The macro \fBCD_INDRIVE\fP is provided for convenience, and given a status returns true if there\&'s a disk in the drive\&. | 
|  | .PP | 
|  | .RS | 
|  | \fBNote: | 
|  | .PP | 
|  | \fBSDL_CDStatus\fP also updates the \fI\fBSDL_CD\fR\fR structure passed to it\&. | 
|  | .RE | 
|  | .SH "EXAMPLE" | 
|  | .PP | 
|  | .nf | 
|  | \f(CWint playTrack(int track) | 
|  | { | 
|  | int playing = 0; | 
|  |  | 
|  | if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) { | 
|  | /* clamp to the actual number of tracks on the CD */ | 
|  | if (track >= cdrom->numtracks) { | 
|  | track = cdrom->numtracks-1; | 
|  | } | 
|  |  | 
|  | if ( SDL_CDPlayTracks(cdrom, track, 0, 1, 0) == 0 ) { | 
|  | playing = 1; | 
|  | } | 
|  | } | 
|  | return playing; | 
|  | }\fR | 
|  | .fi | 
|  | .PP | 
|  | .SH "SEE ALSO" | 
|  | .PP | 
|  | \fI\fBSDL_CD\fP\fR | 
|  | ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:58 |