Mercurial > sdl-ios-xcode
view docs/html/sdljoystickgetaxis.html @ 2042:3908e1f808e1
Fixed bug #292
I might be on crack here.
It looks like SDL_ConvertMono() in src/audio/SDL_audiocvt.c adds the left and
right channels of a stereo stream together, and clamps the new mono channel if
it would overflow.
Shouldn't it be dividing by 2 to average the two sample points instead of
clamping? Otherwise the mono sample point's volume doubles in the conversion.
This would also make the conversion faster, as it replaces two branches per
sample frame with a bitwise shift.
--ryan.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 24 Sep 2006 15:56:36 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_JoystickGetAxis</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="Joystick" HREF="joystick.html"><LINK REL="PREVIOUS" TITLE="SDL_JoystickUpdate" HREF="sdljoystickupdate.html"><LINK REL="NEXT" TITLE="SDL_JoystickGetHat" HREF="sdljoystickgethat.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="sdljoystickupdate.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdljoystickgethat.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLJOYSTICKGETAXIS" ></A >SDL_JoystickGetAxis</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN6320" ></A ><H2 >Name</H2 >SDL_JoystickGetAxis -- Get the current state of an axis</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN6323" ></A ><H2 >Synopsis</H2 ><DIV CLASS="FUNCSYNOPSIS" ><A NAME="AEN6324" ></A ><P ></P ><PRE CLASS="FUNCSYNOPSISINFO" >#include "SDL.h"</PRE ><P ><CODE ><CODE CLASS="FUNCDEF" >Sint16 <B CLASS="FSFUNC" >SDL_JoystickGetAxis</B ></CODE >(SDL_Joystick *joystick, int axis);</CODE ></P ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6330" ></A ><H2 >Description</H2 ><P ><TT CLASS="FUNCTION" >SDL_JoystickGetAxis</TT > returns the current state of the given <TT CLASS="PARAMETER" ><I >axis</I ></TT > on the given <TT CLASS="PARAMETER" ><I >joystick</I ></TT >.</P ><P >On most modern joysticks the X axis is usually represented by <TT CLASS="PARAMETER" ><I >axis</I ></TT > 0 and the Y axis by <TT CLASS="PARAMETER" ><I >axis</I ></TT > 1. The value returned by <TT CLASS="FUNCTION" >SDL_JoystickGetAxis</TT > is a signed integer (-32768 to 32768) representing the current position of the <TT CLASS="PARAMETER" ><I >axis</I ></TT >, it maybe necessary to impose certain tolerances on these values to account for jitter. It is worth noting that some joysticks use axes 2 and 3 for extra buttons.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6341" ></A ><H2 >Return Value</H2 ><P >Returns a 16-bit signed integer representing the current position of the <TT CLASS="PARAMETER" ><I >axis</I ></TT >.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6345" ></A ><H2 >Examples</H2 ><P ><PRE CLASS="PROGRAMLISTING" >Sint16 x_move, y_move; SDL_Joystick *joy1; . . x_move=SDL_JoystickGetAxis(joy1, 0); y_move=SDL_JoystickGetAxis(joy1, 1);</PRE ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN6349" ></A ><H2 >See Also</H2 ><P ><A HREF="sdljoysticknumaxes.html" ><TT CLASS="FUNCTION" >SDL_JoystickNumAxes</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="sdljoystickupdate.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="sdljoystickgethat.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_JoystickUpdate</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="joystick.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_JoystickGetHat</TD ></TR ></TABLE ></DIV ></BODY ></HTML >