Mercurial > sdl-ios-xcode
annotate docs/html/guidecdromexamples.html @ 610:95433459fbd2
Date: Mon, 14 Apr 2003 22:08:27 +0100
From: Patrice Mandin
Subject: [SDL][PATCH] 2 patches for sdl
Here are 2 patches for SDL:
- One is to put the dummy video drivers at the end of the
video drivers list. It gave me problems, when
SDL_VIDEODRIVER is not set, and the dummy driver is used
instead of the platform's driver, just because it is
always available. So the dummy driver must always be at
the end of the list. I suppose picogui and dc video
drivers also don't work.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 15 Apr 2003 15:46:56 +0000 |
parents | e5bc29de3f0a |
children | 355632dca928 |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >CDROM Examples</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.64 |
0 | 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 WIDTH="100%" | |
32 BORDER="0" | |
33 CELLPADDING="0" | |
34 CELLSPACING="0" | |
35 ><TR | |
36 ><TH | |
37 COLSPAN="3" | |
38 ALIGN="center" | |
39 >SDL Library Documentation</TH | |
40 ></TR | |
41 ><TR | |
42 ><TD | |
43 WIDTH="10%" | |
44 ALIGN="left" | |
45 VALIGN="bottom" | |
46 ><A | |
47 HREF="guideaudioexamples.html" | |
48 >Prev</A | |
49 ></TD | |
50 ><TD | |
51 WIDTH="80%" | |
52 ALIGN="center" | |
53 VALIGN="bottom" | |
54 >Chapter 4. Examples</TD | |
55 ><TD | |
56 WIDTH="10%" | |
57 ALIGN="right" | |
58 VALIGN="bottom" | |
59 ><A | |
60 HREF="guidetimeexamples.html" | |
61 >Next</A | |
62 ></TD | |
63 ></TR | |
64 ></TABLE | |
65 ><HR | |
66 ALIGN="LEFT" | |
67 WIDTH="100%"></DIV | |
68 ><DIV | |
69 CLASS="SECT1" | |
70 ><H1 | |
71 CLASS="SECT1" | |
72 ><A | |
73 NAME="GUIDECDROMEXAMPLES" | |
74 >CDROM Examples</A | |
75 ></H1 | |
76 ><P | |
77 ></P | |
78 ><DIV | |
79 CLASS="SECT2" | |
80 ><H2 | |
81 CLASS="SECT2" | |
82 ><A | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
83 NAME="AEN393" |
0 | 84 >Listing CD-ROM drives</A |
85 ></H2 | |
86 ><P | |
87 ><PRE | |
88 CLASS="PROGRAMLISTING" | |
89 > #include "SDL.h" | |
90 | |
91 /* Initialize SDL first */ | |
92 if ( SDL_Init(SDL_INIT_CDROM) < 0 ) { | |
93 fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError()); | |
94 exit(1); | |
95 } | |
96 atexit(SDL_Quit); | |
97 | |
98 /* Find out how many CD-ROM drives are connected to the system */ | |
99 printf("Drives available: %d\n", SDL_CDNumDrives()); | |
100 for ( i=0; i<SDL_CDNumDrives(); ++i ) { | |
101 printf("Drive %d: \"%s\"\n", i, SDL_CDName(i)); | |
102 }</PRE | |
103 ></P | |
104 ></DIV | |
105 ><DIV | |
106 CLASS="SECT2" | |
107 ><H2 | |
108 CLASS="SECT2" | |
109 ><A | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
110 NAME="AEN397" |
0 | 111 >Opening the default drive</A |
112 ></H2 | |
113 ><P | |
114 ><PRE | |
115 CLASS="PROGRAMLISTING" | |
116 > SDL_CD *cdrom; | |
117 CDstatus status; | |
118 char *status_str; | |
119 | |
120 cdrom = SDL_CDOpen(0); | |
121 if ( cdrom == NULL ) { | |
122 fprintf(stderr, "Couldn't open default CD-ROM drive: %s\n", | |
123 SDL_GetError()); | |
124 exit(2); | |
125 } | |
126 | |
127 status = SDL_CDStatus(cdrom); | |
128 switch (status) { | |
129 case CD_TRAYEMPTY: | |
130 status_str = "tray empty"; | |
131 break; | |
132 case CD_STOPPED: | |
133 status_str = "stopped"; | |
134 break; | |
135 case CD_PLAYING: | |
136 status_str = "playing"; | |
137 break; | |
138 case CD_PAUSED: | |
139 status_str = "paused"; | |
140 break; | |
141 case CD_ERROR: | |
142 status_str = "error state"; | |
143 break; | |
144 } | |
145 printf("Drive status: %s\n", status_str); | |
146 if ( status >= CD_PLAYING ) { | |
147 int m, s, f; | |
148 FRAMES_TO_MSF(cdrom->cur_frame, &m, &s, &f); | |
149 printf("Currently playing track %d, %d:%2.2d\n", | |
150 cdrom->track[cdrom->cur_track].id, m, s); | |
151 }</PRE | |
152 ></P | |
153 ></DIV | |
154 ><DIV | |
155 CLASS="SECT2" | |
156 ><H2 | |
157 CLASS="SECT2" | |
158 ><A | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
159 NAME="AEN401" |
0 | 160 >Listing the tracks on a CD</A |
161 ></H2 | |
162 ><P | |
163 ><PRE | |
164 CLASS="PROGRAMLISTING" | |
165 > SDL_CD *cdrom; /* Assuming this has already been set.. */ | |
166 int i; | |
167 int m, s, f; | |
168 | |
169 SDL_CDStatus(cdrom); | |
170 printf("Drive tracks: %d\n", cdrom->numtracks); | |
171 for ( i=0; i<cdrom->numtracks; ++i ) { | |
172 FRAMES_TO_MSF(cdrom->track[i].length, &m, &s, &f); | |
173 if ( f > 0 ) | |
174 ++s; | |
175 printf("\tTrack (index %d) %d: %d:%2.2d\n", i, | |
176 cdrom->track[i].id, m, s); | |
177 }</PRE | |
178 ></P | |
179 ></DIV | |
180 ><DIV | |
181 CLASS="SECT2" | |
182 ><H2 | |
183 CLASS="SECT2" | |
184 ><A | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
185 NAME="AEN405" |
0 | 186 >Play an entire CD</A |
187 ></H2 | |
188 ><P | |
189 ><PRE | |
190 CLASS="PROGRAMLISTING" | |
191 > SDL_CD *cdrom; /* Assuming this has already been set.. */ | |
192 | |
193 // Play entire CD: | |
194 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) | |
195 SDL_CDPlayTracks(cdrom, 0, 0, 0, 0); | |
196 | |
197 // Play last track: | |
198 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) { | |
199 SDL_CDPlayTracks(cdrom, cdrom->numtracks-1, 0, 0, 0); | |
200 } | |
201 | |
202 // Play first and second track and 10 seconds of third track: | |
203 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
204 SDL_CDPlayTracks(cdrom, 0, 0, 2, CD_FPS * 10);</PRE |
0 | 205 ></P |
206 ></DIV | |
207 ></DIV | |
208 ><DIV | |
209 CLASS="NAVFOOTER" | |
210 ><HR | |
211 ALIGN="LEFT" | |
212 WIDTH="100%"><TABLE | |
213 WIDTH="100%" | |
214 BORDER="0" | |
215 CELLPADDING="0" | |
216 CELLSPACING="0" | |
217 ><TR | |
218 ><TD | |
219 WIDTH="33%" | |
220 ALIGN="left" | |
221 VALIGN="top" | |
222 ><A | |
223 HREF="guideaudioexamples.html" | |
224 >Prev</A | |
225 ></TD | |
226 ><TD | |
227 WIDTH="34%" | |
228 ALIGN="center" | |
229 VALIGN="top" | |
230 ><A | |
231 HREF="index.html" | |
232 >Home</A | |
233 ></TD | |
234 ><TD | |
235 WIDTH="33%" | |
236 ALIGN="right" | |
237 VALIGN="top" | |
238 ><A | |
239 HREF="guidetimeexamples.html" | |
240 >Next</A | |
241 ></TD | |
242 ></TR | |
243 ><TR | |
244 ><TD | |
245 WIDTH="33%" | |
246 ALIGN="left" | |
247 VALIGN="top" | |
248 >Audio Examples</TD | |
249 ><TD | |
250 WIDTH="34%" | |
251 ALIGN="center" | |
252 VALIGN="top" | |
253 ><A | |
254 HREF="guideexamples.html" | |
255 >Up</A | |
256 ></TD | |
257 ><TD | |
258 WIDTH="33%" | |
259 ALIGN="right" | |
260 VALIGN="top" | |
261 >Time Examples</TD | |
262 ></TR | |
263 ></TABLE | |
264 ></DIV | |
265 ></BODY | |
266 ></HTML | |
267 > |