forked from KolibriOS/kolibrios
265 lines
3.6 KiB
HTML
265 lines
3.6 KiB
HTML
|
<HTML
|
||
|
><HEAD
|
||
|
><TITLE
|
||
|
>SDL_CDStatus</TITLE
|
||
|
><META
|
||
|
NAME="GENERATOR"
|
||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
|
||
|
"><LINK
|
||
|
REL="HOME"
|
||
|
TITLE="SDL Library Documentation"
|
||
|
HREF="index.html"><LINK
|
||
|
REL="UP"
|
||
|
TITLE="CD-ROM"
|
||
|
HREF="cdrom.html"><LINK
|
||
|
REL="PREVIOUS"
|
||
|
TITLE="SDL_CDOpen"
|
||
|
HREF="sdlcdopen.html"><LINK
|
||
|
REL="NEXT"
|
||
|
TITLE="SDL_CDPlay"
|
||
|
HREF="sdlcdplay.html"></HEAD
|
||
|
><BODY
|
||
|
CLASS="REFENTRY"
|
||
|
BGCOLOR="#FFF8DC"
|
||
|
TEXT="#000000"
|
||
|
LINK="#0000ee"
|
||
|
VLINK="#551a8b"
|
||
|
ALINK="#ff0000"
|
||
|
><DIV
|
||
|
CLASS="NAVHEADER"
|
||
|
><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TH
|
||
|
COLSPAN="3"
|
||
|
ALIGN="center"
|
||
|
>SDL Library Documentation</TH
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="sdlcdopen.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="80%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="bottom"
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="sdlcdplay.html"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"></DIV
|
||
|
><H1
|
||
|
><A
|
||
|
NAME="SDLCDSTATUS"
|
||
|
>SDL_CDStatus</A
|
||
|
></H1
|
||
|
><DIV
|
||
|
CLASS="REFNAMEDIV"
|
||
|
><A
|
||
|
NAME="AEN6759"
|
||
|
></A
|
||
|
><H2
|
||
|
>Name</H2
|
||
|
>SDL_CDStatus -- Returns the current status of the given drive.</DIV
|
||
|
><DIV
|
||
|
CLASS="REFSYNOPSISDIV"
|
||
|
><A
|
||
|
NAME="AEN6762"
|
||
|
></A
|
||
|
><H2
|
||
|
>Synopsis</H2
|
||
|
><DIV
|
||
|
CLASS="FUNCSYNOPSIS"
|
||
|
><A
|
||
|
NAME="AEN6763"
|
||
|
></A
|
||
|
><P
|
||
|
></P
|
||
|
><PRE
|
||
|
CLASS="FUNCSYNOPSISINFO"
|
||
|
>#include "SDL.h"</PRE
|
||
|
><P
|
||
|
><CODE
|
||
|
><CODE
|
||
|
CLASS="FUNCDEF"
|
||
|
>CDstatus <B
|
||
|
CLASS="FSFUNC"
|
||
|
>SDL_CDStatus</B
|
||
|
></CODE
|
||
|
>(SDL_CD *cdrom);</CODE
|
||
|
></P
|
||
|
><PRE
|
||
|
CLASS="FUNCSYNOPSISINFO"
|
||
|
>/* Given a status, returns true if there's a disk in the drive */
|
||
|
#define CD_INDRIVE(status) ((int)status > 0)</PRE
|
||
|
><P
|
||
|
></P
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="REFSECT1"
|
||
|
><A
|
||
|
NAME="AEN6770"
|
||
|
></A
|
||
|
><H2
|
||
|
>Description</H2
|
||
|
><P
|
||
|
>This function returns the current status of the given drive. Status is described like so:
|
||
|
<PRE
|
||
|
CLASS="PROGRAMLISTING"
|
||
|
>typedef enum {
|
||
|
CD_TRAYEMPTY,
|
||
|
CD_STOPPED,
|
||
|
CD_PLAYING,
|
||
|
CD_PAUSED,
|
||
|
CD_ERROR = -1
|
||
|
} CDstatus;</PRE
|
||
|
></P
|
||
|
><P
|
||
|
>If the drive has a CD in it, the table of contents of the CD and current
|
||
|
play position of the CD will be stored in the SDL_CD structure.</P
|
||
|
><P
|
||
|
>The macro <TT
|
||
|
CLASS="LITERAL"
|
||
|
>CD_INDRIVE</TT
|
||
|
> is provided for convenience,
|
||
|
and given a status returns true if there's a disk in the drive.</P
|
||
|
><DIV
|
||
|
CLASS="NOTE"
|
||
|
><BLOCKQUOTE
|
||
|
CLASS="NOTE"
|
||
|
><P
|
||
|
><B
|
||
|
>Note: </B
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_CDStatus</TT
|
||
|
> also updates the <A
|
||
|
HREF="sdlcd.html"
|
||
|
><SPAN
|
||
|
CLASS="STRUCTNAME"
|
||
|
>SDL_CD</SPAN
|
||
|
></A
|
||
|
> structure passed to it.</P
|
||
|
></BLOCKQUOTE
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="REFSECT1"
|
||
|
><A
|
||
|
NAME="AEN6782"
|
||
|
></A
|
||
|
><H2
|
||
|
>Example</H2
|
||
|
><PRE
|
||
|
CLASS="PROGRAMLISTING"
|
||
|
>int playTrack(int track)
|
||
|
{
|
||
|
int playing = 0;
|
||
|
|
||
|
if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) {
|
||
|
/* clamp to the actual number of tracks on the CD */
|
||
|
if (track >= cdrom->numtracks) {
|
||
|
track = cdrom->numtracks-1;
|
||
|
}
|
||
|
|
||
|
if ( SDL_CDPlayTracks(cdrom, track, 0, 1, 0) == 0 ) {
|
||
|
playing = 1;
|
||
|
}
|
||
|
}
|
||
|
return playing;
|
||
|
}</PRE
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="REFSECT1"
|
||
|
><A
|
||
|
NAME="AEN6785"
|
||
|
></A
|
||
|
><H2
|
||
|
>See Also</H2
|
||
|
><P
|
||
|
><A
|
||
|
HREF="sdlcd.html"
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_CD</TT
|
||
|
></A
|
||
|
></P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="NAVFOOTER"
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="sdlcdopen.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="index.html"
|
||
|
>Home</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="sdlcdplay.html"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
>SDL_CDOpen</TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="cdrom.html"
|
||
|
>Up</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
>SDL_CDPlay</TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
></DIV
|
||
|
></BODY
|
||
|
></HTML
|
||
|
>
|