/[projet1]/public/pc/emulators/caloric/libs_windows/SDL/docs/html/guidecdromexamples.html
Defence Force logotype

Contents of /public/pc/emulators/caloric/libs_windows/SDL/docs/html/guidecdromexamples.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 81 - (show annotations)
Wed May 27 20:33:03 2009 UTC (10 years, 3 months ago) by Jede
File MIME type: text/html
File size: 4906 byte(s)
Ajouts des libs windows
1 <HTML
2 ><HEAD
3 ><TITLE
4 >CDROM Examples</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="Examples"
14 HREF="guideexamples.html"><LINK
15 REL="PREVIOUS"
16 TITLE="Audio Examples"
17 HREF="guideaudioexamples.html"><LINK
18 REL="NEXT"
19 TITLE="Time Examples"
20 HREF="guidetimeexamples.html"></HEAD
21 ><BODY
22 CLASS="SECT1"
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="guideaudioexamples.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 >Chapter 4. Examples</TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="guidetimeexamples.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="SECT1"
73 ><H1
74 CLASS="SECT1"
75 ><A
76 NAME="GUIDECDROMEXAMPLES"
77 ></A
78 >CDROM Examples</H1
79 ><P
80 ></P
81 ><DIV
82 CLASS="SECT2"
83 ><H2
84 CLASS="SECT2"
85 ><A
86 NAME="AEN393"
87 ></A
88 >Listing CD-ROM drives</H2
89 ><P
90 ><PRE
91 CLASS="PROGRAMLISTING"
92 > #include "SDL.h"
93
94 /* Initialize SDL first */
95 if ( SDL_Init(SDL_INIT_CDROM) &#60; 0 ) {
96 fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());
97 exit(1);
98 }
99 atexit(SDL_Quit);
100
101 /* Find out how many CD-ROM drives are connected to the system */
102 printf("Drives available: %d\n", SDL_CDNumDrives());
103 for ( i=0; i&#60;SDL_CDNumDrives(); ++i ) {
104 printf("Drive %d: \"%s\"\n", i, SDL_CDName(i));
105 }</PRE
106 ></P
107 ></DIV
108 ><DIV
109 CLASS="SECT2"
110 ><H2
111 CLASS="SECT2"
112 ><A
113 NAME="AEN397"
114 ></A
115 >Opening the default drive</H2
116 ><P
117 ><PRE
118 CLASS="PROGRAMLISTING"
119 > SDL_CD *cdrom;
120 CDstatus status;
121 char *status_str;
122
123 cdrom = SDL_CDOpen(0);
124 if ( cdrom == NULL ) {
125 fprintf(stderr, "Couldn't open default CD-ROM drive: %s\n",
126 SDL_GetError());
127 exit(2);
128 }
129
130 status = SDL_CDStatus(cdrom);
131 switch (status) {
132 case CD_TRAYEMPTY:
133 status_str = "tray empty";
134 break;
135 case CD_STOPPED:
136 status_str = "stopped";
137 break;
138 case CD_PLAYING:
139 status_str = "playing";
140 break;
141 case CD_PAUSED:
142 status_str = "paused";
143 break;
144 case CD_ERROR:
145 status_str = "error state";
146 break;
147 }
148 printf("Drive status: %s\n", status_str);
149 if ( status &#62;= CD_PLAYING ) {
150 int m, s, f;
151 FRAMES_TO_MSF(cdrom-&#62;cur_frame, &#38;m, &#38;s, &#38;f);
152 printf("Currently playing track %d, %d:%2.2d\n",
153 cdrom-&#62;track[cdrom-&#62;cur_track].id, m, s);
154 }</PRE
155 ></P
156 ></DIV
157 ><DIV
158 CLASS="SECT2"
159 ><H2
160 CLASS="SECT2"
161 ><A
162 NAME="AEN401"
163 ></A
164 >Listing the tracks on a CD</H2
165 ><P
166 ><PRE
167 CLASS="PROGRAMLISTING"
168 > SDL_CD *cdrom; /* Assuming this has already been set.. */
169 int i;
170 int m, s, f;
171
172 SDL_CDStatus(cdrom);
173 printf("Drive tracks: %d\n", cdrom-&#62;numtracks);
174 for ( i=0; i&#60;cdrom-&#62;numtracks; ++i ) {
175 FRAMES_TO_MSF(cdrom-&#62;track[i].length, &#38;m, &#38;s, &#38;f);
176 if ( f &#62; 0 )
177 ++s;
178 printf("\tTrack (index %d) %d: %d:%2.2d\n", i,
179 cdrom-&#62;track[i].id, m, s);
180 }</PRE
181 ></P
182 ></DIV
183 ><DIV
184 CLASS="SECT2"
185 ><H2
186 CLASS="SECT2"
187 ><A
188 NAME="AEN405"
189 ></A
190 >Play an entire CD</H2
191 ><P
192 ><PRE
193 CLASS="PROGRAMLISTING"
194 > SDL_CD *cdrom; /* Assuming this has already been set.. */
195
196 // Play entire CD:
197 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )
198 SDL_CDPlayTracks(cdrom, 0, 0, 0, 0);
199
200 // Play last track:
201 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) {
202 SDL_CDPlayTracks(cdrom, cdrom-&#62;numtracks-1, 0, 0, 0);
203 }
204
205 // Play first and second track and 10 seconds of third track:
206 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )
207 SDL_CDPlayTracks(cdrom, 0, 0, 2, CD_FPS * 10);</PRE
208 ></P
209 ></DIV
210 ></DIV
211 ><DIV
212 CLASS="NAVFOOTER"
213 ><HR
214 ALIGN="LEFT"
215 WIDTH="100%"><TABLE
216 SUMMARY="Footer navigation table"
217 WIDTH="100%"
218 BORDER="0"
219 CELLPADDING="0"
220 CELLSPACING="0"
221 ><TR
222 ><TD
223 WIDTH="33%"
224 ALIGN="left"
225 VALIGN="top"
226 ><A
227 HREF="guideaudioexamples.html"
228 ACCESSKEY="P"
229 >Prev</A
230 ></TD
231 ><TD
232 WIDTH="34%"
233 ALIGN="center"
234 VALIGN="top"
235 ><A
236 HREF="index.html"
237 ACCESSKEY="H"
238 >Home</A
239 ></TD
240 ><TD
241 WIDTH="33%"
242 ALIGN="right"
243 VALIGN="top"
244 ><A
245 HREF="guidetimeexamples.html"
246 ACCESSKEY="N"
247 >Next</A
248 ></TD
249 ></TR
250 ><TR
251 ><TD
252 WIDTH="33%"
253 ALIGN="left"
254 VALIGN="top"
255 >Audio Examples</TD
256 ><TD
257 WIDTH="34%"
258 ALIGN="center"
259 VALIGN="top"
260 ><A
261 HREF="guideexamples.html"
262 ACCESSKEY="U"
263 >Up</A
264 ></TD
265 ><TD
266 WIDTH="33%"
267 ALIGN="right"
268 VALIGN="top"
269 >Time Examples</TD
270 ></TR
271 ></TABLE
272 ></DIV
273 ></BODY
274 ></HTML
275 >

  ViewVC Help
Powered by ViewVC 1.1.26