diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a02298.html | 1053 |
1 files changed, 1053 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02298.html b/docs/doxygen/nel/a02298.html new file mode 100644 index 00000000..d06003f4 --- /dev/null +++ b/docs/doxygen/nel/a02298.html @@ -0,0 +1,1053 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLSOUND::IBuffer class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLSOUND::IBuffer Class Reference</h1><code>#include <<a class="el" href="a05517.html">buffer.h</a>></code> +<p> +<p>Inheritance diagram for NLSOUND::IBuffer: +<p><center><img src="a02298.png" usemap="#NLSOUND::IBuffer_map" border="0" alt=""></center> +<map name="NLSOUND::IBuffer_map"> +<area href="a02297.html" alt="NLSOUND::CBufferAL" shape="rect" coords="0,56,167,80"> +<area href="a02299.html" alt="NLSOUND::CBufferDSound" shape="rect" coords="177,56,344,80"> +</map> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Sound buffer interface (implemented in sound driver dynamic library) <dl compact><dt><b>Author:</b></dt><dd>Olivier Cado <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2001 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05517.html#l00044">44</a> of file <a class="el" href="a05517.html">buffer.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Source properties</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_0">getBufferADPCMEncoded</a> (std::vector< <a class="el" href="a04558.html#a7">uint8</a> > &result)=0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_1">getBufferMono16</a> (std::vector< <a class="el" href="a04558.html#a8">sint16</a> > &result)=0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_2">decodeADPCM</a> (<a class="el" href="a04558.html#a7">uint8</a> *indata, <a class="el" href="a04558.html#a8">sint16</a> *outdata, <a class="el" href="a04558.html#a15">uint</a> nbSample, <a class="el" href="a03845.html">TADPCMState</a> &state)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_3">encodeADPCM</a> (<a class="el" href="a04558.html#a8">sint16</a> *indata, <a class="el" href="a04558.html#a7">uint8</a> *outdata, <a class="el" href="a04558.html#a15">uint</a> nbSample, <a class="el" href="a03845.html">TADPCMState</a> &state)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_4">_IndexTable</a> [16]</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_5">_StepsizeTable</a> [89]</td></tr> + +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera0">fillBuffer</a> (void *<a class="el" href="a04223.html#a652">src</a>, <a class="el" href="a04558.html#a11">uint32</a> bufsize)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the buffer size and fill the buffer. Return true if ok. Call <a class="el" href="a02298.html#NLSOUND_1_1IBuffera10">setFormat()</a> first. <a href="#NLSOUND_1_1IBuffera0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera1">fillMore</a> (void *<a class="el" href="a04223.html#a652">src</a>, <a class="el" href="a04558.html#a11">uint32</a> srcsize)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera2">getDuration</a> () const=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the duration (in ms) of the sample in the buffer. <a href="#NLSOUND_1_1IBuffera2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera3">getFormat</a> (<a class="el" href="a05381.html#a80">TSampleFormat</a> &<a class="el" href="a04223.html#a641">format</a>, <a class="el" href="a04558.html#a15">uint</a> &freq) const=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the format and frequency. <a href="#NLSOUND_1_1IBuffera3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera4">getName</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of this buffer. <a href="#NLSOUND_1_1IBuffera4"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera5">getSize</a> () const=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the size of the buffer, in bytes. <a href="#NLSOUND_1_1IBuffera5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera6">isBufferLoaded</a> ()=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return true if the buffer is loaded. Used for async load/unload. <a href="#NLSOUND_1_1IBuffera6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera7">isFillMoreSupported</a> () const=0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera8">isStereo</a> () const=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return true if the buffer is stereo, false if mono. <a href="#NLSOUND_1_1IBuffera8"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera9">presetName</a> (const <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> &bufferName)=0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera10">setFormat</a> (<a class="el" href="a05381.html#a80">TSampleFormat</a> <a class="el" href="a04223.html#a641">format</a>, <a class="el" href="a04558.html#a15">uint</a> freq)=0</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the sample format. Example: freq=44100. <a href="#NLSOUND_1_1IBuffera10"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera11">setSize</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a587">size</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Force the buffer size without filling data (if <a class="el" href="a02298.html#NLSOUND_1_1IBuffera7">isFillMoreSupported()</a> only). <a href="#NLSOUND_1_1IBuffera11"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBuffera12">~IBuffer</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#NLSOUND_1_1IBuffera12"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02298.html#NLSOUND_1_1IBufferb0">IBuffer</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#NLSOUND_1_1IBufferb0"></a><br><br></td></tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLSOUND_1_1IBufferb0" doxytag="NLSOUND::IBuffer::IBuffer" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLSOUND::IBuffer::IBuffer </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. +<p> + +<p> +Definition at line <a class="el" href="a05517.html#l00119">119</a> of file <a class="el" href="a05517.html">buffer.h</a>. +<p> +<div class="fragment"><pre>00119 {}; +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera12" doxytag="NLSOUND::IBuffer::~IBuffer" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual NLSOUND::IBuffer::~<a class="el" href="a02298.html">IBuffer</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Destructor. +<p> + +<p> +Definition at line <a class="el" href="a05517.html#l00124">124</a> of file <a class="el" href="a05517.html">buffer.h</a>. +<p> +<div class="fragment"><pre>00124 {} +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLSOUND_1_1IBufferz1304_2" doxytag="NLSOUND::IBuffer::decodeADPCM" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLSOUND::IBuffer::decodeADPCM </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a> * </td> + <td class="mdname" nowrap> <em>indata</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a8">sint16</a> * </td> + <td class="mdname" nowrap> <em>outdata</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>nbSample</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03845.html">TADPCMState</a> & </td> + <td class="mdname" nowrap> <em>state</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Unoptimized utility function designed to build ADPCM encoded sample bank file. Return the number of sample in the buffer. +<p> +Definition at line <a class="el" href="a05516.html#l00164">164</a> of file <a class="el" href="a05516.html">buffer.cpp</a>. +<p> +References <a class="el" href="a05516.html#l00031">_IndexTable</a>, <a class="el" href="a05516.html#l00037">_StepsizeTable</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05517.html#l00092">NLSOUND::IBuffer::TADPCMState::PreviousSample</a>, <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05517.html#l00094">NLSOUND::IBuffer::TADPCMState::StepIndex</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00165 { +00166 <a class="code" href="a04558.html#a7">uint8</a> *inp; <span class="comment">/* Input buffer pointer */</span> +00167 <a class="code" href="a04558.html#a8">sint16</a> *outp; <span class="comment">/* output buffer pointer */</span> +00168 <span class="keywordtype">int</span> sign; <span class="comment">/* Current adpcm sign bit */</span> +00169 <span class="keywordtype">int</span> delta; <span class="comment">/* Current adpcm output value */</span> +00170 <span class="keywordtype">int</span> step; <span class="comment">/* Stepsize */</span> +00171 <span class="keywordtype">int</span> valpred; <span class="comment">/* Predicted value */</span> +00172 <span class="keywordtype">int</span> vpdiff; <span class="comment">/* Current change to valpred */</span> +00173 <span class="keywordtype">int</span> <a class="code" href="a04223.html#a566">index</a>; <span class="comment">/* Current step change index */</span> +00174 <span class="keywordtype">int</span> inputbuffer; <span class="comment">/* place to keep next 4-bit value */</span> +00175 <span class="keywordtype">int</span> bufferstep; <span class="comment">/* toggle between inputbuffer/input */</span> +00176 +00177 outp = outdata; +00178 inp = indata; +00179 +00180 valpred = state.PreviousSample; +00181 <a class="code" href="a04223.html#a566">index</a> = state.StepIndex; +00182 step = <a class="code" href="a02298.html#NLSOUND_1_1IBufferz1304_5">_StepsizeTable</a>[<a class="code" href="a04223.html#a566">index</a>]; +00183 +00184 bufferstep = 0; +00185 +00186 <span class="keywordflow">for</span> ( ; nbSample > 0 ; nbSample-- ) +00187 { +00188 +00189 <span class="comment">/* Step 1 - get the delta value */</span> +00190 <span class="keywordflow">if</span> ( bufferstep ) +00191 { +00192 delta = inputbuffer & 0xf; +00193 } +00194 <span class="keywordflow">else</span> +00195 { +00196 inputbuffer = *inp++; +00197 delta = (inputbuffer >> 4) & 0xf; +00198 } +00199 bufferstep = !bufferstep; +00200 +00201 <span class="comment">/* Step 2 - Find new index value (for later) */</span> +00202 <a class="code" href="a04223.html#a566">index</a> += <a class="code" href="a02298.html#NLSOUND_1_1IBufferz1304_4">_IndexTable</a>[delta]; +00203 <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a566">index</a> < 0 ) +00204 <a class="code" href="a04223.html#a566">index</a> = 0; +00205 <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a566">index</a> > 88 ) +00206 <a class="code" href="a04223.html#a566">index</a> = 88; +00207 +00208 <span class="comment">/* Step 3 - Separate sign and magnitude */</span> +00209 sign = delta & 8; +00210 delta = delta & 7; +00211 +00212 <span class="comment">/* Step 4 - Compute difference and new predicted value */</span> +00213 <span class="comment">/*</span> +00214 <span class="comment"> ** Computes 'vpdiff = (delta+0.5)*step/4', but see comment</span> +00215 <span class="comment"> ** in adpcm_coder.</span> +00216 <span class="comment"> */</span> +00217 vpdiff = step >> 3; +00218 <span class="keywordflow">if</span> ( delta & 4 ) +00219 vpdiff += step; +00220 <span class="keywordflow">if</span> ( delta & 2 ) +00221 vpdiff += step>>1; +00222 <span class="keywordflow">if</span> ( delta & 1 ) +00223 vpdiff += step>>2; +00224 +00225 <span class="keywordflow">if</span> ( sign ) +00226 valpred -= vpdiff; +00227 <span class="keywordflow">else</span> +00228 valpred += vpdiff; +00229 +00230 <span class="comment">/* Step 5 - clamp output value */</span> +00231 <span class="keywordflow">if</span> ( valpred > 32767 ) +00232 valpred = 32767; +00233 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( valpred < -32768 ) +00234 valpred = -32768; +00235 +00236 <span class="comment">/* Step 6 - Update step value */</span> +00237 step = _StepsizeTable[<a class="code" href="a04223.html#a566">index</a>]; +00238 +00239 <span class="comment">/* Step 7 - Output value */</span> +00240 *outp++ = valpred; +00241 } +00242 +00243 state.PreviousSample = valpred; +00244 state.StepIndex = <a class="code" href="a04223.html#a566">index</a>; +00245 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBufferz1304_3" doxytag="NLSOUND::IBuffer::encodeADPCM" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLSOUND::IBuffer::encodeADPCM </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a8">sint16</a> * </td> + <td class="mdname" nowrap> <em>indata</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> * </td> + <td class="mdname" nowrap> <em>outdata</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>nbSample</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03845.html">TADPCMState</a> & </td> + <td class="mdname" nowrap> <em>state</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Unoptimized utility function designed to build ADPCM encoded sample bank file. Return the number of sample in the buffer. +<p> +Definition at line <a class="el" href="a05516.html#l00051">51</a> of file <a class="el" href="a05516.html">buffer.cpp</a>. +<p> +References <a class="el" href="a05516.html#l00031">_IndexTable</a>, <a class="el" href="a05516.html#l00037">_StepsizeTable</a>, <a class="el" href="a05646.html#l00225">index</a>, <a class="el" href="a05517.html#l00092">NLSOUND::IBuffer::TADPCMState::PreviousSample</a>, <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05517.html#l00094">NLSOUND::IBuffer::TADPCMState::StepIndex</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a05520.html#l00451">NLSOUND::CBufferDSound::getBufferADPCMEncoded()</a>. +<p> +<div class="fragment"><pre>00052 { +00053 <a class="code" href="a04558.html#a8">sint16</a> *inp; <span class="comment">/* Input buffer pointer */</span> +00054 <a class="code" href="a04558.html#a7">uint8</a> *outp; <span class="comment">/* output buffer pointer */</span> +00055 <span class="keywordtype">int</span> val; <span class="comment">/* Current input sample value */</span> +00056 <span class="keywordtype">int</span> sign; <span class="comment">/* Current adpcm sign bit */</span> +00057 <span class="keywordtype">int</span> delta; <span class="comment">/* Current adpcm output value */</span> +00058 <span class="keywordtype">int</span> diff; <span class="comment">/* Difference between val and valprev */</span> +00059 <span class="keywordtype">int</span> step; <span class="comment">/* Stepsize */</span> +00060 <span class="keywordtype">int</span> valpred; <span class="comment">/* Predicted output value */</span> +00061 <span class="keywordtype">int</span> vpdiff; <span class="comment">/* Current change to valpred */</span> +00062 <span class="keywordtype">int</span> <a class="code" href="a04223.html#a566">index</a>; <span class="comment">/* Current step change index */</span> +00063 <span class="keywordtype">int</span> outputbuffer; <span class="comment">/* place to keep previous 4-bit value */</span> +00064 <span class="keywordtype">int</span> bufferstep; <span class="comment">/* toggle between outputbuffer/output */</span> +00065 +00066 outp = outdata; +00067 inp = indata; +00068 +00069 valpred = state.PreviousSample; +00070 <a class="code" href="a04223.html#a566">index</a> = state.StepIndex; +00071 step = <a class="code" href="a02298.html#NLSOUND_1_1IBufferz1304_5">_StepsizeTable</a>[<a class="code" href="a04223.html#a566">index</a>]; +00072 +00073 bufferstep = 1; +00074 +00075 <span class="keywordflow">for</span> ( ; nbSample > 0 ; nbSample-- ) +00076 { +00077 val = *inp++; +00078 +00079 <span class="comment">/* Step 1 - compute difference with previous value */</span> +00080 diff = val - valpred; +00081 sign = (diff < 0) ? 8 : 0; +00082 <span class="keywordflow">if</span> ( sign ) diff = (-diff); +00083 +00084 <span class="comment">/* Step 2 - Divide and clamp */</span> +00085 <span class="comment">/* Note:</span> +00086 <span class="comment"> ** This code *approximately* computes:</span> +00087 <span class="comment"> ** delta = diff*4/step;</span> +00088 <span class="comment"> ** vpdiff = (delta+0.5)*step/4;</span> +00089 <span class="comment"> ** but in shift step bits are dropped. The net result of this is</span> +00090 <span class="comment"> ** that even if you have fast mul/div hardware you cannot put it to</span> +00091 <span class="comment"> ** good use since the fixup would be too expensive.</span> +00092 <span class="comment"> */</span> +00093 delta = 0; +00094 vpdiff = (step >> 3); +00095 +00096 <span class="keywordflow">if</span> ( diff >= step ) +00097 { +00098 delta = 4; +00099 diff -= step; +00100 vpdiff += step; +00101 } +00102 step >>= 1; +00103 <span class="keywordflow">if</span> ( diff >= step ) +00104 { +00105 delta |= 2; +00106 diff -= step; +00107 vpdiff += step; +00108 } +00109 step >>= 1; +00110 <span class="keywordflow">if</span> ( diff >= step ) +00111 { +00112 delta |= 1; +00113 vpdiff += step; +00114 } +00115 +00116 <span class="comment">/* Step 3 - Update previous value */</span> +00117 <span class="keywordflow">if</span> ( sign ) +00118 valpred -= vpdiff; +00119 <span class="keywordflow">else</span> +00120 valpred += vpdiff; +00121 +00122 <span class="comment">/* Step 4 - Clamp previous value to 16 bits */</span> +00123 <span class="keywordflow">if</span> ( valpred > 32767 ) +00124 { +00125 printf(<span class="stringliteral">"over+ %d\n"</span>,valpred); +00126 valpred = 32767; +00127 } +00128 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( valpred < -32768 ) +00129 { +00130 printf(<span class="stringliteral">"over- %d\n"</span>,valpred); +00131 valpred = -32768; +00132 } +00133 +00134 <span class="comment">/* Step 5 - Assemble value, update index and step values */</span> +00135 delta |= sign; +00136 +00137 <a class="code" href="a04223.html#a566">index</a> += <a class="code" href="a02298.html#NLSOUND_1_1IBufferz1304_4">_IndexTable</a>[delta]; +00138 <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a566">index</a> < 0 ) +00139 <a class="code" href="a04223.html#a566">index</a> = 0; +00140 <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a566">index</a> > 88 ) +00141 <a class="code" href="a04223.html#a566">index</a> = 88; +00142 step = _StepsizeTable[<a class="code" href="a04223.html#a566">index</a>]; +00143 +00144 <span class="comment">/* Step 6 - Output value */</span> +00145 <span class="keywordflow">if</span> ( bufferstep ) +00146 { +00147 outputbuffer = (delta << 4) & 0xf0; +00148 } +00149 <span class="keywordflow">else</span> +00150 { +00151 *outp++ = (delta & 0x0f) | outputbuffer; +00152 } +00153 bufferstep = !bufferstep; +00154 } +00155 +00156 <span class="comment">/* Output last step, if needed */</span> +00157 <span class="keywordflow">if</span> ( !bufferstep ) +00158 *outp++ = outputbuffer; +00159 +00160 state.PreviousSample = valpred; +00161 state.StepIndex = <a class="code" href="a04223.html#a566">index</a>; +00162 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera0" doxytag="NLSOUND::IBuffer::fillBuffer" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NLSOUND::IBuffer::fillBuffer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void * </td> + <td class="mdname" nowrap> <em>src</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>bufsize</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the buffer size and fill the buffer. Return true if ok. Call <a class="el" href="a02298.html#NLSOUND_1_1IBuffera10">setFormat()</a> first. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda1">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa2">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a05927.html#l00066">NLSOUND::ILoader::fillBuffer()</a>, <a class="el" href="a05927.html#l00048">NLSOUND::ILoader::fillBufferPart()</a>, and <a class="el" href="a06418.html#l00431">NLSOUND::CSoundDriverAL::loadWavFile()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera1" doxytag="NLSOUND::IBuffer::fillMore" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NLSOUND::IBuffer::fillMore </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">void * </td> + <td class="mdname" nowrap> <em>src</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>srcsize</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Fill the buffer partially (if <a class="el" href="a02298.html#NLSOUND_1_1IBuffera7">isFillMoreSupported()</a> only), beginning at the pos changed by a previous call to <a class="el" href="a02298.html#NLSOUND_1_1IBuffera1">fillMore()</a>. If the pos+srcsize exceeds the buffer size, the exceeding data is put at the beginning of the buffer. srcsize must be smaller than the buffer size. +<p> +Reimplemented in <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa3">NLSOUND::CBufferAL</a>. +<p> +Definition at line <a class="el" href="a05517.html#l00079">79</a> of file <a class="el" href="a05517.html">buffer.h</a>. +<p> +References <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05927.html#l00048">NLSOUND::ILoader::fillBufferPart()</a>. +<p> +<div class="fragment"><pre>00079 { <span class="keywordflow">throw</span> ESoundDriverNotSupp(); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBufferz1304_0" doxytag="NLSOUND::IBuffer::getBufferADPCMEncoded" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a11">uint32</a> NLSOUND::IBuffer::getBufferADPCMEncoded </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::vector< <a class="el" href="a04558.html#a7">uint8</a> > & </td> + <td class="mdname1" valign="top" nowrap> <em>result</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Unoptimized utility function designed to build ADPCM encoded sample bank file. Return the number of sample in the buffer. +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda3">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa4">NLSOUND::CBufferAL</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBufferz1304_1" doxytag="NLSOUND::IBuffer::getBufferMono16" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a11">uint32</a> NLSOUND::IBuffer::getBufferMono16 </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">std::vector< <a class="el" href="a04558.html#a8">sint16</a> > & </td> + <td class="mdname1" valign="top" nowrap> <em>result</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Unoptimized utility function designed to build Mono 16 bits encoded sample bank file. Return the number of sample in the buffer. +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda4">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa5">NLSOUND::CBufferAL</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera2" doxytag="NLSOUND::IBuffer::getDuration" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual float NLSOUND::IBuffer::getDuration </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the duration (in ms) of the sample in the buffer. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda6">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa6">NLSOUND::CBufferAL</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera3" doxytag="NLSOUND::IBuffer::getFormat" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NLSOUND::IBuffer::getFormat </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05381.html#a80">TSampleFormat</a> & </td> + <td class="mdname" nowrap> <em>format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> & </td> + <td class="mdname" nowrap> <em>freq</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the format and frequency. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda7">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa7">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a06429.html#l01480">NLSOUND::CSourceDSound::getPitch()</a>, <a class="el" href="a06429.html#l00203">NLSOUND::CSourceDSound::getTime()</a>, <a class="el" href="a06429.html#l00688">NLSOUND::CSourceDSound::play()</a>, and <a class="el" href="a06429.html#l01454">NLSOUND::CSourceDSound::setPitch()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera4" doxytag="NLSOUND::IBuffer::getName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual const <a class="el" href="a05378.html#a236">NLMISC::TStringId</a>& NLSOUND::IBuffer::getName </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the name of this buffer. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda8">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa8">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a06388.html#l00064">NLSOUND::CSimpleSound::setBuffer()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera5" doxytag="NLSOUND::IBuffer::getSize" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual <a class="el" href="a04558.html#a11">uint32</a> NLSOUND::IBuffer::getSize </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the size of the buffer, in bytes. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda9">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa9">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a05927.html#l00048">NLSOUND::ILoader::fillBufferPart()</a>, <a class="el" href="a06346.html#l00228">NLSOUND::CSampleBank::load()</a>, and <a class="el" href="a06429.html#l00688">NLSOUND::CSourceDSound::play()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera6" doxytag="NLSOUND::IBuffer::isBufferLoaded" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NLSOUND::IBuffer::isBufferLoaded </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return true if the buffer is loaded. Used for async load/unload. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda10">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa10">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a06390.html#l00126">NLSOUND::CSimpleSource::play()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera7" doxytag="NLSOUND::IBuffer::isFillMoreSupported" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NLSOUND::IBuffer::isFillMoreSupported </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return true if the buffer is able to be fill part by part, false if it must be filled in one call OpenAL 1.0 -> false +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda11">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa11">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a05927.html#l00048">NLSOUND::ILoader::fillBufferPart()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera8" doxytag="NLSOUND::IBuffer::isStereo" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual bool NLSOUND::IBuffer::isStereo </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return true if the buffer is stereo, false if mono. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda12">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa12">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a05465.html#l01576">NLSOUND::CAudioMixerUser::createSource()</a>, <a class="el" href="a06390.html#l00126">NLSOUND::CSimpleSource::play()</a>, and <a class="el" href="a06390.html#l00290">NLSOUND::CSimpleSource::setDirection()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera9" doxytag="NLSOUND::IBuffer::presetName" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NLSOUND::IBuffer::presetName </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>bufferName</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Preset the name of the buffer. Used for async loading to give a name before the buffer is effectivly loaded. If the name after loading of the buffer doesn't match the preset name, the load will assert. +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda13">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa13">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a06346.html#l00228">NLSOUND::CSampleBank::load()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera10" doxytag="NLSOUND::IBuffer::setFormat" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NLSOUND::IBuffer::setFormat </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05381.html#a80">TSampleFormat</a> </td> + <td class="mdname" nowrap> <em>format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>freq</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [pure virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the sample format. Example: freq=44100. +<p> + +<p> +Implemented in <a class="el" href="a02299.html#NLSOUND_1_1CBufferDSounda16">NLSOUND::CBufferDSound</a>, and <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa14">NLSOUND::CBufferAL</a>. +<p> +Referenced by <a class="el" href="a06418.html#l00431">NLSOUND::CSoundDriverAL::loadWavFile()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBuffera11" doxytag="NLSOUND::IBuffer::setSize" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> virtual void NLSOUND::IBuffer::setSize </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>size</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Force the buffer size without filling data (if <a class="el" href="a02298.html#NLSOUND_1_1IBuffera7">isFillMoreSupported()</a> only). +<p> + +<p> +Reimplemented in <a class="el" href="a02297.html#NLSOUND_1_1CBufferALa16">NLSOUND::CBufferAL</a>. +<p> +Definition at line <a class="el" href="a05517.html#l00073">73</a> of file <a class="el" href="a05517.html">buffer.h</a>. +<p> +References <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00073 { <span class="keywordflow">throw</span> ESoundDriverNotSupp(); } +</pre></div> </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLSOUND_1_1IBufferz1304_4" doxytag="NLSOUND::IBuffer::_IndexTable" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_4">NLSOUND::IBuffer::_IndexTable</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + -1, -1, -1, -1, 2, 4, 6, 8, + -1, -1, -1, -1, 2, 4, 6, 8, +} +</pre></div>Unoptimized utility function designed to build ADPCM encoded sample bank file. Return the number of sample in the buffer. +<p> +Definition at line <a class="el" href="a05516.html#l00031">31</a> of file <a class="el" href="a05516.html">buffer.cpp</a>. +<p> +Referenced by <a class="el" href="a05516.html#l00164">decodeADPCM()</a>, and <a class="el" href="a05516.html#l00051">encodeADPCM()</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1IBufferz1304_5" doxytag="NLSOUND::IBuffer::_StepsizeTable" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a02298.html#NLSOUND_1_1IBufferz1304_5">NLSOUND::IBuffer::_StepsizeTable</a><code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, + 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, + 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, + 130, 143, 157, 173, 190, 209, 230, 253, 279, 307, + 337, 371, 408, 449, 494, 544, 598, 658, 724, 796, + 876, 963, 1060, 1166, 1282, 1411, 1552, 1707, 1878, 2066, + 2272, 2499, 2749, 3024, 3327, 3660, 4026, 4428, 4871, 5358, + 5894, 6484, 7132, 7845, 8630, 9493, 10442, 11487, 12635, 13899, + 15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794, 32767 +} +</pre></div>Unoptimized utility function designed to build ADPCM encoded sample bank file. Return the number of sample in the buffer. +<p> +Definition at line <a class="el" href="a05516.html#l00037">37</a> of file <a class="el" href="a05516.html">buffer.cpp</a>. +<p> +Referenced by <a class="el" href="a05516.html#l00164">decodeADPCM()</a>, and <a class="el" href="a05516.html#l00051">encodeADPCM()</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05517.html">buffer.h</a><li><a class="el" href="a05516.html">buffer.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 14:50:54 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |