Mercurial > sdl-ios-xcode
view docs/html/sdlcdplaytracks.html @ 1614:6162b8d921ce
Date: Wed, 29 Mar 2006 17:26:55 +0200 CEST
From: "Fran���is Revol"
Subject: [SDL] BeOS port fix: PrintScreen key crashing
It seems the latest SDL crashes when someone hits the PrtScrn key in
ZETA (BeOS R6), somewhere it gets a negative value as key code (or a
big unsigned maybe ?), and uses it as an index in the keysym table...
I'll investigate the cause for the negative value, but it's always
better to check for bounds correctly when indexing a table. The
attached diff fixes it.
Fran���is Revol
--
Software Architect
yellowTAB GmbH
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 31 Mar 2006 06:16:20 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_CDPlayTracks</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="SDL Library Documentation" HREF="index.html"><LINK REL="UP" TITLE="CD-ROM" HREF="cdrom.html"><LINK REL="PREVIOUS" TITLE="SDL_CDPlay" HREF="sdlcdplay.html"><LINK REL="NEXT" TITLE="SDL_CDPause" HREF="sdlcdpause.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation 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="sdlcdplay.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdlcdpause.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLCDPLAYTRACKS" ></A >SDL_CDPlayTracks</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN7375" ></A ><H2 >Name</H2 >SDL_CDPlayTracks -- Play the given CD track(s)</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN7378" ></A ><H2 >Synopsis</H2 ><DIV CLASS="FUNCSYNOPSIS" ><A NAME="AEN7379" ></A ><P ></P ><PRE CLASS="FUNCSYNOPSISINFO" >#include "SDL.h"</PRE ><P ><CODE ><CODE CLASS="FUNCDEF" >int <B CLASS="FSFUNC" >SDL_CDPlayTracks</B ></CODE >(SDL_CD *cdrom, int start_track, int start_frame, int ntracks, int nframes));</CODE ></P ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7385" ></A ><H2 >Description</H2 ><P ><TT CLASS="FUNCTION" >SDL_CDPlayTracks</TT > plays the given CD starting at track <TT CLASS="PARAMETER" ><I >start_track</I ></TT >, for <TT CLASS="PARAMETER" ><I >ntracks</I ></TT > tracks. </P ><P ><TT CLASS="PARAMETER" ><I >start_frame</I ></TT > is the frame offset, from the beginning of the <TT CLASS="PARAMETER" ><I >start_track</I ></TT >, at which to start. <TT CLASS="PARAMETER" ><I >nframes</I ></TT > is the frame offset, from the beginning of the last track (<TT CLASS="PARAMETER" ><I >start_track</I ></TT >+<TT CLASS="PARAMETER" ><I >ntracks</I ></TT >), at which to end playing.</P ><P ><TT CLASS="FUNCTION" >SDL_CDPlayTracks</TT > should only be called after calling <A HREF="sdlcdstatus.html" ><TT CLASS="FUNCTION" >SDL_CDStatus</TT ></A > to get track information about the CD.</P ><DIV CLASS="NOTE" ><BLOCKQUOTE CLASS="NOTE" ><P ><B >Note: </B >Data tracks are ignored.</P ></BLOCKQUOTE ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7403" ></A ><H2 >Return Value</H2 ><P >Returns <SPAN CLASS="RETURNVALUE" >0</SPAN >, or <SPAN CLASS="RETURNVALUE" >-1</SPAN > if there was an error.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7408" ></A ><H2 >Examples</H2 ><P ><PRE CLASS="PROGRAMLISTING" >/* assuming cdrom is a previously opened device */ /* Play the entire CD */ if(CD_INDRIVE(SDL_CDStatus(cdrom))) SDL_CDPlayTracks(cdrom, 0, 0, 0, 0); /* Play the first track */ if(CD_INDRIVE(SDL_CDStatus(cdrom))) SDL_CDPlayTracks(cdrom, 0, 0, 1, 0); /* Play first 15 seconds of the 2nd track */ if(CD_INDRIVE(SDL_CDStatus(cdrom))) SDL_CDPlayTracks(cdrom, 1, 0, 0, CD_FPS*15);</PRE > </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7412" ></A ><H2 >See Also</H2 ><P ><A HREF="sdlcdplay.html" ><TT CLASS="FUNCTION" >SDL_CDPlay</TT ></A >, <A HREF="sdlcdstatus.html" ><TT CLASS="FUNCTION" >SDL_CDStatus</TT ></A >, <A HREF="sdlcd.html" ><TT CLASS="FUNCTION" >SDL_CD</TT ></A ></P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="sdlcdplay.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="sdlcdpause.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_CDPlay</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="cdrom.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_CDPause</TD ></TR ></TABLE ></DIV ></BODY ></HTML >