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