Mercurial > sdl-ios-xcode
annotate docs/html/guidecdromexamples.html @ 315:3333b6e68289
Date: Sat, 23 Mar 2002 13:53:37 +0200
From: "Mike Gorchak" <mike@malva.ua>
Subject: Big QNX patch again.
Added 8bit palette emulation code for window mode with bpp>=15.
Added store/restore original palette for 8bit modes.
Added more information about photon API call fails.
Rewroten change palette code, slow but works.
Fixed bug with set caption before window was inited.
Fixed bugs with some initial state of variables.
Fixed bug with storing old video mode settings.
Fixed bug with switching to fullscreen mode and back.
Fixed few double SEGFAULTS during parachute mode.
Removed compilation warning with no PgWaitHWIdle prototype.
Removed pack of dead unusable code.
Cleanups SDL_PrivateVideoData structure, some headers.
Some code formatting.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 23 Mar 2002 20:19:44 +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 > |