symbian-qemu-0.9.1-12/libsdl-trunk/docs/html/guidecdromexamples.html
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     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 >