NS/main/source/includes/fmodapi375linux/documentation/HTML/FSOUND_DSP_ClearMixBuffer.html

76 lines
3 KiB
HTML
Raw Normal View History

2014-12-16 13:36:27 +00:00
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="SOURCEDOC.EXE">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>FSOUND_DSP_ClearMixBuffer</TITLE>
<STYLE>
#flush {margin-left: -10p; margin-right: -0p}
#buttonbar {color: white}
</STYLE>
</HEAD>
<BODY TOPMARGIN=0 BGPROPERTIES="FIXED" BGCOLOR="white">
<FONT FACE="ARIAL">
<SPAN ID="flush">
<A NAME="SEE ALSO">
<TABLE WIDTH="100%" COLS=2 BORDER=0 BGCOLOR="#000000">
<TR ALIGN=RIGHT>
<TD ALIGN=LEFT>
<IMG SRC="banner03.gif" WIDTH="88" HEIGHT="31" BORDER=0>
</TD>
<TD ALIGN=RIGHT VALIGN=TOP>
<FONT FACE="ARIAL" SIZE="2">
<A ID=buttonbar HREF="FSOUND_CLOSECALLBACK.html">
<IMG SRC="u_prev.gif" WIDTH="71" HEIGHT="16" BORDER=0 ALT="Previous Topic">
</A>
<A ID=buttonbar HREF="FSOUND.html">
<IMG SRC="u_index.gif" WIDTH="47" HEIGHT="16" BORDER=0 ALT="Index">
</A>
<A ID=buttonbar HREF="FSOUND_DSP_Create.html">
<IMG SRC="u_next.gif" WIDTH="48" HEIGHT="16" BORDER=0 ALT="Next Topic">
</A>
</FONT></TD><TD WIDTH=15></TD>
</TR>
</TABLE>
</A>
</SPAN>
<A HREF="FSOUND.html#Functions"><H5>[API function]</A></H5>
<H2><A NAME="FSOUND_DSP_ClearMixBuffer">FSOUND_DSP_ClearMixBuffer</A></H2>
Clears the mixbuffer, especially handy if you are doing a large file operation which <BR>
halts the system. <BR>
You might try and stop all the sounds, but if you do your file operation straight after<BR>
this, it will not have a chance to flush the mixbuffer normally, so this function is called.<BR>
It stops the effect of stuttering looping sound while your file operation happens.<BR>
<P>
<B>void F_API </B><B> </B><B>FSOUND_DSP_ClearMixBuffer</B><B>(</B><BR>
<B>);</B><BR>
<H3>Return Value</H3>
<H3>Remarks</H3>
The best way to do it is like this. Turn off the sfx and music DSP units, clear the mix buffer,<BR>
then when the operation that halts the machine is done, just re-enable the sfx and music DSP units.<BR>
Disabling these units stops the timer trying to get 1 or 2 more mixes in during the file operation,<BR>
which will cause more stuttering.<BR>
ie.<BR>
FSOUND_DSP_SetActive(FSOUND_DSP_GetSFXUnit(), FALSE);<BR>
FSOUND_DSP_SetActive(FSOUND_DSP_GetMusicUnit(), FALSE);<BR>
FSOUND_DSP_ClearMixBuffer();<BR>
//<BR>
// maching halting operation here<BR>
//<BR>
FSOUND_DSP_SetActive(FSOUND_DSP_GetSFXUnit(), TRUE);<BR>
FSOUND_DSP_SetActive(FSOUND_DSP_GetMusicUnit(), TRUE);<BR>
___________________<BR>
Supported on the following platforms : Win32, WinCE, Linux, Macintosh, XBox, PlayStation 2, GameCube<BR>
<H3>See Also</H3>
<A HREF="FSOUND_DSP_ClearMixBuffer.html">FSOUND_DSP_ClearMixBuffer</A>
,
<A HREF="FSOUND_DSP_GetMusicUnit.html">FSOUND_DSP_GetMusicUnit</A>
,
<A HREF="FSOUND_DSP_GetSFXUnit.html">FSOUND_DSP_GetSFXUnit</A>
,
<A HREF="FSOUND_DSP_SetActive.html">FSOUND_DSP_SetActive</A>
<HR><BR><FONT SIZE="-2">This document copyright &copy;Firelight Technologies, Pty, Ltd, 1999-2002. All rights reserved.</FONT><BR>
<FONT SIZE="-2">Generated Thu Dec 15 17:31:28 2005
by SourceDoc v0.10, the automated source code documenter.</FONT><BR>
</BODY>
</HTML>