1 <HTML 2 ><HEAD 3 ><TITLE 4 >CD-ROM</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="SDL Reference" 14 HREF="reference.html"><LINK 15 REL="PREVIOUS" 16 TITLE="SDL_CloseAudio" 17 HREF="sdlcloseaudio.html"><LINK 18 REL="NEXT" 19 TITLE="SDL_CDNumDrives" 20 HREF="sdlcdnumdrives.html"><META 21 NAME="KEYWORD" 22 CONTENT="cdrom"><META 23 NAME="KEYWORD" 24 CONTENT="function"></HEAD 25 ><BODY 26 CLASS="CHAPTER" 27 BGCOLOR="#FFF8DC" 28 TEXT="#000000" 29 LINK="#0000ee" 30 VLINK="#551a8b" 31 ALINK="#ff0000" 32 ><DIV 33 CLASS="NAVHEADER" 34 ><TABLE 35 SUMMARY="Header navigation table" 36 WIDTH="100%" 37 BORDER="0" 38 CELLPADDING="0" 39 CELLSPACING="0" 40 ><TR 41 ><TH 42 COLSPAN="3" 43 ALIGN="center" 44 >SDL Library Documentation</TH 45 ></TR 46 ><TR 47 ><TD 48 WIDTH="10%" 49 ALIGN="left" 50 VALIGN="bottom" 51 ><A 52 HREF="sdlcloseaudio.html" 53 ACCESSKEY="P" 54 >Prev</A 55 ></TD 56 ><TD 57 WIDTH="80%" 58 ALIGN="center" 59 VALIGN="bottom" 60 ></TD 61 ><TD 62 WIDTH="10%" 63 ALIGN="right" 64 VALIGN="bottom" 65 ><A 66 HREF="sdlcdnumdrives.html" 67 ACCESSKEY="N" 68 >Next</A 69 ></TD 70 ></TR 71 ></TABLE 72 ><HR 73 ALIGN="LEFT" 74 WIDTH="100%"></DIV 75 ><DIV 76 CLASS="CHAPTER" 77 ><H1 78 ><A 79 NAME="CDROM" 80 ></A 81 >Chapter 11. CD-ROM</H1 82 ><DIV 83 CLASS="TOC" 84 ><DL 85 ><DT 86 ><B 87 >Table of Contents</B 88 ></DT 89 ><DT 90 ><A 91 HREF="sdlcdnumdrives.html" 92 >SDL_CDNumDrives</A 93 > -- Returns the number of CD-ROM drives on the system.</DT 94 ><DT 95 ><A 96 HREF="sdlcdname.html" 97 >SDL_CDName</A 98 > -- Returns a human-readable, system-dependent identifier for the CD-ROM.</DT 99 ><DT 100 ><A 101 HREF="sdlcdopen.html" 102 >SDL_CDOpen</A 103 > -- Opens a CD-ROM drive for access.</DT 104 ><DT 105 ><A 106 HREF="sdlcdstatus.html" 107 >SDL_CDStatus</A 108 > -- Returns the current status of the given drive.</DT 109 ><DT 110 ><A 111 HREF="sdlcdplay.html" 112 >SDL_CDPlay</A 113 > -- Play a CD</DT 114 ><DT 115 ><A 116 HREF="sdlcdplaytracks.html" 117 >SDL_CDPlayTracks</A 118 > -- Play the given CD track(s)</DT 119 ><DT 120 ><A 121 HREF="sdlcdpause.html" 122 >SDL_CDPause</A 123 > -- Pauses a CDROM</DT 124 ><DT 125 ><A 126 HREF="sdlcdresume.html" 127 >SDL_CDResume</A 128 > -- Resumes a CDROM</DT 129 ><DT 130 ><A 131 HREF="sdlcdstop.html" 132 >SDL_CDStop</A 133 > -- Stops a CDROM</DT 134 ><DT 135 ><A 136 HREF="sdlcdeject.html" 137 >SDL_CDEject</A 138 > -- Ejects a CDROM</DT 139 ><DT 140 ><A 141 HREF="sdlcdclose.html" 142 >SDL_CDClose</A 143 > -- Closes a SDL_CD handle</DT 144 ><DT 145 ><A 146 HREF="sdlcd.html" 147 >SDL_CD</A 148 > -- CDROM Drive Information</DT 149 ><DT 150 ><A 151 HREF="sdlcdtrack.html" 152 >SDL_CDtrack</A 153 > -- CD Track Information Structure</DT 154 ></DL 155 ></DIV 156 ><P 157 >SDL supports audio control of up to 32 local CD-ROM drives at once.</P 158 ><P 159 >You use this API to perform all the basic functions of a CD player, 160 including listing the tracks, playing, stopping, and ejecting the CD-ROM. 161 (Currently, multi-changer CD drives are not supported.)</P 162 ><P 163 >Before you call any of the SDL CD-ROM functions, you must first call 164 "<TT 165 CLASS="FUNCTION" 166 >SDL_Init(SDL_INIT_CDROM)</TT 167 >", which scans the system for 168 CD-ROM drives, and sets the program up for audio control. Check the 169 return code, which should be <SPAN 170 CLASS="RETURNVALUE" 171 >0</SPAN 172 >, to see if there 173 were any errors in starting up.</P 174 ><P 175 >After you have initialized the library, you can find out how many drives 176 are available using the <TT 177 CLASS="FUNCTION" 178 >SDL_CDNumDrives()</TT 179 > function. 180 The first drive listed is the system default CD-ROM drive. After you have 181 chosen a drive, and have opened it with <TT 182 CLASS="FUNCTION" 183 >SDL_CDOpen()</TT 184 >, 185 you can check the status and start playing if there's a CD in the drive.</P 186 ><P 187 >A CD-ROM is organized into one or more tracks, each consisting of a certain 188 number of "frames". Each frame is ~2K in size, and at normal playing speed, 189 a CD plays 75 frames per second. SDL works with the number of frames on a 190 CD, but this can easily be converted to the more familiar minutes/seconds 191 format by using the <TT 192 CLASS="FUNCTION" 193 >FRAMES_TO_MSF()</TT 194 > macro.</P 195 ></DIV 196 ><DIV 197 CLASS="NAVFOOTER" 198 ><HR 199 ALIGN="LEFT" 200 WIDTH="100%"><TABLE 201 SUMMARY="Footer navigation table" 202 WIDTH="100%" 203 BORDER="0" 204 CELLPADDING="0" 205 CELLSPACING="0" 206 ><TR 207 ><TD 208 WIDTH="33%" 209 ALIGN="left" 210 VALIGN="top" 211 ><A 212 HREF="sdlcloseaudio.html" 213 ACCESSKEY="P" 214 >Prev</A 215 ></TD 216 ><TD 217 WIDTH="34%" 218 ALIGN="center" 219 VALIGN="top" 220 ><A 221 HREF="index.html" 222 ACCESSKEY="H" 223 >Home</A 224 ></TD 225 ><TD 226 WIDTH="33%" 227 ALIGN="right" 228 VALIGN="top" 229 ><A 230 HREF="sdlcdnumdrives.html" 231 ACCESSKEY="N" 232 >Next</A 233 ></TD 234 ></TR 235 ><TR 236 ><TD 237 WIDTH="33%" 238 ALIGN="left" 239 VALIGN="top" 240 >SDL_CloseAudio</TD 241 ><TD 242 WIDTH="34%" 243 ALIGN="center" 244 VALIGN="top" 245 ><A 246 HREF="reference.html" 247 ACCESSKEY="U" 248 >Up</A 249 ></TD 250 ><TD 251 WIDTH="33%" 252 ALIGN="right" 253 VALIGN="top" 254 >SDL_CDNumDrives</TD 255 ></TR 256 ></TABLE 257 ></DIV 258 ></BODY 259 ></HTML 260 >