| 1 | .TH "SDL_CDStatus" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference" |
| 2 | .SH "NAME" |
| 3 | SDL_CDStatus \- Returns the current status of the given drive\&. |
| 4 | .SH "SYNOPSIS" |
| 5 | .PP |
| 6 | \fB#include "SDL\&.h" |
| 7 | .sp |
| 8 | \fBCDstatus \fBSDL_CDStatus\fP\fR(\fBSDL_CD *cdrom\fR); |
| 9 | \fB/* Given a status, returns true if there\&'s a disk in the drive */ |
| 10 | #define CD_INDRIVE(status) ((int)status > 0) |
| 11 | .SH "DESCRIPTION" |
| 12 | .PP |
| 13 | This function returns the current status of the given drive\&. Status is described like so: |
| 14 | .PP |
| 15 | .nf |
| 16 | \f(CWtypedef enum { |
| 17 | CD_TRAYEMPTY, |
| 18 | CD_STOPPED, |
| 19 | CD_PLAYING, |
| 20 | CD_PAUSED, |
| 21 | CD_ERROR = -1 |
| 22 | } CDstatus;\fR |
| 23 | .fi |
| 24 | .PP |
| 25 | .PP |
| 26 | 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\&. |
| 27 | .PP |
| 28 | The macro \fBCD_INDRIVE\fP is provided for convenience, and given a status returns true if there\&'s a disk in the drive\&. |
| 29 | .PP |
| 30 | .RS |
| 31 | \fBNote: |
| 32 | .PP |
| 33 | \fBSDL_CDStatus\fP also updates the \fI\fBSDL_CD\fR\fR structure passed to it\&. |
| 34 | .RE |
| 35 | .SH "EXAMPLE" |
| 36 | .PP |
| 37 | .nf |
| 38 | \f(CWint playTrack(int track) |
| 39 | { |
| 40 | int playing = 0; |
| 41 | |
| 42 | if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) { |
| 43 | /* clamp to the actual number of tracks on the CD */ |
| 44 | if (track >= cdrom->numtracks) { |
| 45 | track = cdrom->numtracks-1; |
| 46 | } |
| 47 | |
| 48 | if ( SDL_CDPlayTracks(cdrom, track, 0, 1, 0) == 0 ) { |
| 49 | playing = 1; |
| 50 | } |
| 51 | } |
| 52 | return playing; |
| 53 | }\fR |
| 54 | .fi |
| 55 | .PP |
| 56 | .SH "SEE ALSO" |
| 57 | .PP |
| 58 | \fI\fBSDL_CD\fP\fR |
| 59 | .\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:58 |