|
1 <HTML |
|
2 ><HEAD |
|
3 ><TITLE |
|
4 >SDL_CDStatus</TITLE |
|
5 ><META |
|
6 NAME="GENERATOR" |
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
|
8 "><LINK |
|
9 REL="HOME" |
|
10 TITLE="SDL Library Documentation" |
|
11 HREF="index.html"><LINK |
|
12 REL="UP" |
|
13 TITLE="CD-ROM" |
|
14 HREF="cdrom.html"><LINK |
|
15 REL="PREVIOUS" |
|
16 TITLE="SDL_CDOpen" |
|
17 HREF="sdlcdopen.html"><LINK |
|
18 REL="NEXT" |
|
19 TITLE="SDL_CDPlay" |
|
20 HREF="sdlcdplay.html"></HEAD |
|
21 ><BODY |
|
22 CLASS="REFENTRY" |
|
23 BGCOLOR="#FFF8DC" |
|
24 TEXT="#000000" |
|
25 LINK="#0000ee" |
|
26 VLINK="#551a8b" |
|
27 ALINK="#ff0000" |
|
28 ><DIV |
|
29 CLASS="NAVHEADER" |
|
30 ><TABLE |
|
31 SUMMARY="Header navigation table" |
|
32 WIDTH="100%" |
|
33 BORDER="0" |
|
34 CELLPADDING="0" |
|
35 CELLSPACING="0" |
|
36 ><TR |
|
37 ><TH |
|
38 COLSPAN="3" |
|
39 ALIGN="center" |
|
40 >SDL Library Documentation</TH |
|
41 ></TR |
|
42 ><TR |
|
43 ><TD |
|
44 WIDTH="10%" |
|
45 ALIGN="left" |
|
46 VALIGN="bottom" |
|
47 ><A |
|
48 HREF="sdlcdopen.html" |
|
49 ACCESSKEY="P" |
|
50 >Prev</A |
|
51 ></TD |
|
52 ><TD |
|
53 WIDTH="80%" |
|
54 ALIGN="center" |
|
55 VALIGN="bottom" |
|
56 ></TD |
|
57 ><TD |
|
58 WIDTH="10%" |
|
59 ALIGN="right" |
|
60 VALIGN="bottom" |
|
61 ><A |
|
62 HREF="sdlcdplay.html" |
|
63 ACCESSKEY="N" |
|
64 >Next</A |
|
65 ></TD |
|
66 ></TR |
|
67 ></TABLE |
|
68 ><HR |
|
69 ALIGN="LEFT" |
|
70 WIDTH="100%"></DIV |
|
71 ><H1 |
|
72 ><A |
|
73 NAME="SDLCDSTATUS" |
|
74 ></A |
|
75 >SDL_CDStatus</H1 |
|
76 ><DIV |
|
77 CLASS="REFNAMEDIV" |
|
78 ><A |
|
79 NAME="AEN7308" |
|
80 ></A |
|
81 ><H2 |
|
82 >Name</H2 |
|
83 >SDL_CDStatus -- Returns the current status of the given drive.</DIV |
|
84 ><DIV |
|
85 CLASS="REFSYNOPSISDIV" |
|
86 ><A |
|
87 NAME="AEN7311" |
|
88 ></A |
|
89 ><H2 |
|
90 >Synopsis</H2 |
|
91 ><DIV |
|
92 CLASS="FUNCSYNOPSIS" |
|
93 ><A |
|
94 NAME="AEN7312" |
|
95 ></A |
|
96 ><P |
|
97 ></P |
|
98 ><PRE |
|
99 CLASS="FUNCSYNOPSISINFO" |
|
100 >#include "SDL.h"</PRE |
|
101 ><P |
|
102 ><CODE |
|
103 ><CODE |
|
104 CLASS="FUNCDEF" |
|
105 >CDstatus <B |
|
106 CLASS="FSFUNC" |
|
107 >SDL_CDStatus</B |
|
108 ></CODE |
|
109 >(SDL_CD *cdrom);</CODE |
|
110 ></P |
|
111 ><PRE |
|
112 CLASS="FUNCSYNOPSISINFO" |
|
113 >/* Given a status, returns true if there's a disk in the drive */ |
|
114 #define CD_INDRIVE(status) ((int)status > 0)</PRE |
|
115 ><P |
|
116 ></P |
|
117 ></DIV |
|
118 ></DIV |
|
119 ><DIV |
|
120 CLASS="REFSECT1" |
|
121 ><A |
|
122 NAME="AEN7319" |
|
123 ></A |
|
124 ><H2 |
|
125 >Description</H2 |
|
126 ><P |
|
127 >This function returns the current status of the given drive. Status is described like so: |
|
128 <PRE |
|
129 CLASS="PROGRAMLISTING" |
|
130 >typedef enum { |
|
131 CD_TRAYEMPTY, |
|
132 CD_STOPPED, |
|
133 CD_PLAYING, |
|
134 CD_PAUSED, |
|
135 CD_ERROR = -1 |
|
136 } CDstatus;</PRE |
|
137 ></P |
|
138 ><P |
|
139 >If the drive has a CD in it, the table of contents of the CD and current |
|
140 play position of the CD will be stored in the SDL_CD structure.</P |
|
141 ><P |
|
142 >The macro <TT |
|
143 CLASS="LITERAL" |
|
144 >CD_INDRIVE</TT |
|
145 > is provided for convenience, |
|
146 and given a status returns true if there's a disk in the drive.</P |
|
147 ><DIV |
|
148 CLASS="NOTE" |
|
149 ><BLOCKQUOTE |
|
150 CLASS="NOTE" |
|
151 ><P |
|
152 ><B |
|
153 >Note: </B |
|
154 ><TT |
|
155 CLASS="FUNCTION" |
|
156 >SDL_CDStatus</TT |
|
157 > also updates the <A |
|
158 HREF="sdlcd.html" |
|
159 ><SPAN |
|
160 CLASS="STRUCTNAME" |
|
161 >SDL_CD</SPAN |
|
162 ></A |
|
163 > structure passed to it.</P |
|
164 ></BLOCKQUOTE |
|
165 ></DIV |
|
166 ></DIV |
|
167 ><DIV |
|
168 CLASS="REFSECT1" |
|
169 ><A |
|
170 NAME="AEN7331" |
|
171 ></A |
|
172 ><H2 |
|
173 >Example</H2 |
|
174 ><PRE |
|
175 CLASS="PROGRAMLISTING" |
|
176 >int playTrack(int track) |
|
177 { |
|
178 int playing = 0; |
|
179 |
|
180 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) { |
|
181 /* clamp to the actual number of tracks on the CD */ |
|
182 if (track >= cdrom->numtracks) { |
|
183 track = cdrom->numtracks-1; |
|
184 } |
|
185 |
|
186 if ( SDL_CDPlayTracks(cdrom, track, 0, 1, 0) == 0 ) { |
|
187 playing = 1; |
|
188 } |
|
189 } |
|
190 return playing; |
|
191 }</PRE |
|
192 ></DIV |
|
193 ><DIV |
|
194 CLASS="REFSECT1" |
|
195 ><A |
|
196 NAME="AEN7334" |
|
197 ></A |
|
198 ><H2 |
|
199 >See Also</H2 |
|
200 ><P |
|
201 ><A |
|
202 HREF="sdlcd.html" |
|
203 ><TT |
|
204 CLASS="FUNCTION" |
|
205 >SDL_CD</TT |
|
206 ></A |
|
207 ></P |
|
208 ></DIV |
|
209 ><DIV |
|
210 CLASS="NAVFOOTER" |
|
211 ><HR |
|
212 ALIGN="LEFT" |
|
213 WIDTH="100%"><TABLE |
|
214 SUMMARY="Footer navigation table" |
|
215 WIDTH="100%" |
|
216 BORDER="0" |
|
217 CELLPADDING="0" |
|
218 CELLSPACING="0" |
|
219 ><TR |
|
220 ><TD |
|
221 WIDTH="33%" |
|
222 ALIGN="left" |
|
223 VALIGN="top" |
|
224 ><A |
|
225 HREF="sdlcdopen.html" |
|
226 ACCESSKEY="P" |
|
227 >Prev</A |
|
228 ></TD |
|
229 ><TD |
|
230 WIDTH="34%" |
|
231 ALIGN="center" |
|
232 VALIGN="top" |
|
233 ><A |
|
234 HREF="index.html" |
|
235 ACCESSKEY="H" |
|
236 >Home</A |
|
237 ></TD |
|
238 ><TD |
|
239 WIDTH="33%" |
|
240 ALIGN="right" |
|
241 VALIGN="top" |
|
242 ><A |
|
243 HREF="sdlcdplay.html" |
|
244 ACCESSKEY="N" |
|
245 >Next</A |
|
246 ></TD |
|
247 ></TR |
|
248 ><TR |
|
249 ><TD |
|
250 WIDTH="33%" |
|
251 ALIGN="left" |
|
252 VALIGN="top" |
|
253 >SDL_CDOpen</TD |
|
254 ><TD |
|
255 WIDTH="34%" |
|
256 ALIGN="center" |
|
257 VALIGN="top" |
|
258 ><A |
|
259 HREF="cdrom.html" |
|
260 ACCESSKEY="U" |
|
261 >Up</A |
|
262 ></TD |
|
263 ><TD |
|
264 WIDTH="33%" |
|
265 ALIGN="right" |
|
266 VALIGN="top" |
|
267 >SDL_CDPlay</TD |
|
268 ></TR |
|
269 ></TABLE |
|
270 ></DIV |
|
271 ></BODY |
|
272 ></HTML |
|
273 > |