view docs/html/sdlmixaudio.html @ 4134:31c7c57af8a4 SDL-1.2

Updates for building on Windows CE using mingw32ce cross compiler: http://sourceforge.net/mailarchive/forum.php?thread_name 0703291652.38437.jwalt%40garni.ch&forum_name=cegcc-devel Hi! I just managed to compile SDL for Windows CE using the "mingw32ce" configuration of http://cegcc.sourceforge.net. Test programs work as expected (except for those using signals -- no POSIX on mingw32ce), and I didn't yet encounter any problem. While it was a pain to get everything compiled and running, the changes to SDL are actually quite small (see attached SDL-ce.diff). Unfortunately, the win32 headers shipped with cegcc are not 100% correct, and it feels quite messy to work around them in SDL code, so those headers will also need to be patched. (Attachment: win32api-ce.diff) Since I had to apply the libtool patch from the cegcc patch, I have also ad ded my copy of aclocal.m4 for SDL. I had to modify the cegcc libtool patch to use "lt_cv_deplibs_check_method=pass_all" for mingw32ce, otherwise libtool would not recognize the import libraries as valid for dynamic linking. All these changes should not affect non-WinCE builds, so they could be included in mainline SDL. If you need some docs, you can use this description for a cross-compilation README: 1) get cegcc from http://cegcc.sourceforge.net 2) build and install the "mingw32ce" variant (see cegcc installation docs) 3) patch w32api-headers (if not yet included in cegcc) 4) setup environment (customize the first three lines as you like): PREFIX=/opt/mingw32ce TARGET=arm-wince-mingw32ce BUILD=`uname -m`-pc-linux-gnu export PATH="$PREFIX/bin:$PREFIX/$TARGET/bin:$PREFIX/local/bin:$PATH" export CFLAGS="${CFLAGS:- -O2 -g} -I$PREFIX/local/include" export CPPFLAGS="${CPPFLAGS:- -O2 -g} -I$PREFIX/local/include" export CXXFLAGS="${CXXFLAGS:- -O2 -g} -I$PREFIX/local/include" export LDFLAGS="${LDFLAGS:- -O2 -g} -L$PREFIX/local/lib" export HOST_CC="gcc" export CC="$PREFIX/bin/$TARGET-gcc" export CXX="$PREFIX/bin/$TARGET-g++" export LD="$PREFIX/bin/$TARGET-ld" export AS="$PREFIX/bin/$TARGET-as" export AR="$PREFIX/bin/$TARGET-ar" export RANLIB="$PREFIX/bin/$TARGET-ranlib" export CONFIG_SHELL="/bin/sh" 5) build and install ./configure --target=$TARGET --host=$TARGET --build=$BUILD make make install 6) use (4) and (5) for any SDL-using software you want to cross-compile 7) copy $PREFIX/local/bin/SDL-1-2-0.dll into your executable directory on the WinCE machine
author Sam Lantinga <slouken@libsdl.org>
date Thu, 03 Jan 2008 06:19:07 +0000
parents 355632dca928
children
line wrap: on
line source

<HTML
><HEAD
><TITLE
>SDL_MixAudio</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="Audio"
HREF="audio.html"><LINK
REL="PREVIOUS"
TITLE="SDL_ConvertAudio"
HREF="sdlconvertaudio.html"><LINK
REL="NEXT"
TITLE="SDL_LockAudio"
HREF="sdllockaudio.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="sdlconvertaudio.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sdllockaudio.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SDLMIXAUDIO"
></A
>SDL_MixAudio</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7107"
></A
><H2
>Name</H2
>SDL_MixAudio&nbsp;--&nbsp;Mix audio data</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7110"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN7111"
></A
><P
></P
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include "SDL.h"</PRE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>void <B
CLASS="FSFUNC"
>SDL_MixAudio</B
></CODE
>(Uint8 *dst, Uint8 *src, Uint32 len, int volume);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7117"
></A
><H2
>Description</H2
><P
>This function takes two audio buffers of <TT
CLASS="PARAMETER"
><I
>len</I
></TT
> bytes each
of the playing audio format and mixes them, performing addition, volume
adjustment, and overflow clipping. The <TT
CLASS="PARAMETER"
><I
>volume</I
></TT
> ranges
from 0 to <TT
CLASS="LITERAL"
>SDL_MIX_MAXVOLUME</TT
> and should be set to the maximum
value for full audio volume. Note this does not change hardware volume. This is
provided for convenience -- you can mix your own audio data.</P
><DIV
CLASS="NOTE"
><BLOCKQUOTE
CLASS="NOTE"
><P
><B
>Note: </B
>Do not use this function for mixing together more than two streams of sample
data. The output from repeated application of this function may be distorted
by clipping, because there is no accumulator with greater range than the
input (not to mention this being an inefficient way of doing it).
Use mixing functions from SDL_mixer, OpenAL, or write your own mixer instead.</P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7125"
></A
><H2
>See Also</H2
><P
><A
HREF="sdlopenaudio.html"
><TT
CLASS="FUNCTION"
>SDL_OpenAudio</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="sdlconvertaudio.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="sdllockaudio.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>SDL_ConvertAudio</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="audio.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL_LockAudio</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>