| .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 |