SpaghettiKart/synthesis_8c.html

848 lines
49 KiB
HTML

<!-- HTML header for doxygen 1.10.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Mario Kart 64: src/audio/synthesis.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<link href="docs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Mario Kart 64
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('synthesis_8c.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">synthesis.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;libultraship.h&gt;</code><br />
<code>#include &quot;<a class="el" href="mixer_8h_source.html">mixer.h</a>&quot;</code><br />
<code>#include &lt;<a class="el" href="macros_8h_source.html">macros.h</a>&gt;</code><br />
<code>#include &quot;<a class="el" href="synthesis_8h_source.html">audio/synthesis.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="heap_8h_source.html">audio/heap.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="data_8h_source.html">audio/data.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="load_8h_source.html">audio/load.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="seqplayer_8h_source.html">audio/seqplayer.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="internal_8h_source.html">audio/internal.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="Engine_8h_source.html">port/Engine.h</a>&quot;</code><br />
<code>#include &lt;libultra/abi.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for synthesis.c:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c__incl.svg" width="100%" height="569"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVolumeChange.html">VolumeChange</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a5adf95c0704d3aec13cd975d0438f38b" id="r_a5adf95c0704d3aec13cd975d0438f38b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5adf95c0704d3aec13cd975d0438f38b">aSetLoadBufferPair</a>(pkt, c, off)</td></tr>
<tr class="separator:a5adf95c0704d3aec13cd975d0438f38b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67fb91e0a54fb1f28d378c3338863d5f" id="r_a67fb91e0a54fb1f28d378c3338863d5f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a67fb91e0a54fb1f28d378c3338863d5f">aSetSaveBufferPair</a>(pkt, c, d, off)</td></tr>
<tr class="separator:a67fb91e0a54fb1f28d378c3338863d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa52f464beeceef6ff37fea7dc6b71267" id="r_aa52f464beeceef6ff37fea7dc6b71267"><td class="memItemLeft" align="right" valign="top"><a class="el" href="llconv_8c.html#ac0b0e5ad15a599850f4ca02c451110ba">u64</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa52f464beeceef6ff37fea7dc6b71267">process_envelope</a> (<a class="el" href="llconv_8c.html#ac0b0e5ad15a599850f4ca02c451110ba">u64</a> *cmd, struct <a class="el" href="structNoteSubEu.html">NoteSubEu</a> *noteSubEu, struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, u32 flags)</td></tr>
<tr class="separator:aa52f464beeceef6ff37fea7dc6b71267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9964410947181858fecd99e63c47d6a8" id="r_a9964410947181858fecd99e63c47d6a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9964410947181858fecd99e63c47d6a8">prepare_reverb_ring_buffer</a> (s32 chunkLen, u32 updateIndex, s32 reverbIndex)</td></tr>
<tr class="separator:a9964410947181858fecd99e63c47d6a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56c377279f4c167258dd3b24d90cd107" id="r_a56c377279f4c167258dd3b24d90cd107"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a56c377279f4c167258dd3b24d90cd107">synthesis_load_reverb_ring_buffer</a> (Acmd *acmd, u16 addr, u16 srcOffset, s32 len, s32 reverbIndex)</td></tr>
<tr class="separator:a56c377279f4c167258dd3b24d90cd107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96e7d7b7eac8a9748d790519ae8151f9" id="r_a96e7d7b7eac8a9748d790519ae8151f9"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a96e7d7b7eac8a9748d790519ae8151f9">synthesis_save_reverb_ring_buffer</a> (Acmd *acmd, u16 addr, u16 destOffset, s32 len, s32 reverbIndex)</td></tr>
<tr class="separator:a96e7d7b7eac8a9748d790519ae8151f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a831c7a9542071eed3e68885bd89e505b" id="r_a831c7a9542071eed3e68885bd89e505b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a831c7a9542071eed3e68885bd89e505b">func_800B6FB4</a> (s32 updateIndexStart, s32 noteIndex)</td></tr>
<tr class="separator:a831c7a9542071eed3e68885bd89e505b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab469a6d9522ccd7bdcef898769a46a7a" id="r_ab469a6d9522ccd7bdcef898769a46a7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab469a6d9522ccd7bdcef898769a46a7a">synthesis_load_note_subs_eu</a> (s32 updateIndex)</td></tr>
<tr class="separator:ab469a6d9522ccd7bdcef898769a46a7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2994f1f3d3603607ed9bca3243c1d5cf" id="r_a2994f1f3d3603607ed9bca3243c1d5cf"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2994f1f3d3603607ed9bca3243c1d5cf">synthesis_execute</a> (Acmd *acmd, s32 *writtenCmds, s16 *aiBuf, s32 bufLen)</td></tr>
<tr class="separator:a2994f1f3d3603607ed9bca3243c1d5cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf9767ca9ae81766b960502e1161e025" id="r_aaf9767ca9ae81766b960502e1161e025"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaf9767ca9ae81766b960502e1161e025">synthesis_resample_and_mix_reverb</a> (Acmd *acmd, s32 bufLen, s16 reverbIndex, s16 updateIndex)</td></tr>
<tr class="separator:aaf9767ca9ae81766b960502e1161e025"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed91750a5ecb20a5a76d4742c39311d" id="r_a1ed91750a5ecb20a5a76d4742c39311d"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ed91750a5ecb20a5a76d4742c39311d">synthesis_save_reverb_samples</a> (Acmd *acmd, s16 reverbIndex, s16 updateIndex)</td></tr>
<tr class="separator:a1ed91750a5ecb20a5a76d4742c39311d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec35bddc85303be6c4d1c22e44a77b06" id="r_aec35bddc85303be6c4d1c22e44a77b06"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aec35bddc85303be6c4d1c22e44a77b06">synthesis_do_one_audio_update</a> (s16 *aiBuf, s32 bufLen, Acmd *acmd, s32 updateIndex)</td></tr>
<tr class="separator:aec35bddc85303be6c4d1c22e44a77b06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed4d56af55356360afaebcb4f194407c" id="r_aed4d56af55356360afaebcb4f194407c"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aed4d56af55356360afaebcb4f194407c">load_wave_samples</a> (Acmd *acmd, struct <a class="el" href="structNoteSubEu.html">NoteSubEu</a> *noteSubEu, struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *synthesisState, s32 nSamplesToLoad)</td></tr>
<tr class="separator:aed4d56af55356360afaebcb4f194407c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdb8a3b2a3566c114fc20078eb07ba4c" id="r_afdb8a3b2a3566c114fc20078eb07ba4c"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afdb8a3b2a3566c114fc20078eb07ba4c">final_resample</a> (Acmd *acmd, struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *synthesisState, s32 count, u16 pitch, u16 dmemIn, u32 flags)</td></tr>
<tr class="separator:afdb8a3b2a3566c114fc20078eb07ba4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6acf42e1089301d7b1959b332d22233" id="r_ab6acf42e1089301d7b1959b332d22233"><td class="memItemLeft" align="right" valign="top">Acmd *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab6acf42e1089301d7b1959b332d22233">note_apply_headset_pan_effects</a> (Acmd *acmd, struct <a class="el" href="structNoteSubEu.html">NoteSubEu</a> *noteSubEu, struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *note, s32 bufLen, s32 flags, s32 leftRight)</td></tr>
<tr class="separator:ab6acf42e1089301d7b1959b332d22233"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a46dbb82b200402601c2819f7deab8c04" id="r_a46dbb82b200402601c2819f7deab8c04"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structSynthesisReverb.html">SynthesisReverb</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a46dbb82b200402601c2819f7deab8c04">gSynthesisReverbs</a> [4]</td></tr>
<tr class="separator:a46dbb82b200402601c2819f7deab8c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f59143a489c5aae5608107c2e9519e2" id="r_a1f59143a489c5aae5608107c2e9519e2"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1f59143a489c5aae5608107c2e9519e2">sAudioSynthesisPad</a> [0x10]</td></tr>
<tr class="separator:a1f59143a489c5aae5608107c2e9519e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e7a1a2460ba7da6f3f087e4d649d124" id="r_a6e7a1a2460ba7da6f3f087e4d649d124"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6e7a1a2460ba7da6f3f087e4d649d124">synthesisAudioString0</a> [] = &quot;Terminate-Canceled Channel %d,Phase %d\n&quot;</td></tr>
<tr class="separator:a6e7a1a2460ba7da6f3f087e4d649d124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dcffd88e7671a667e3fe58c03161919" id="r_a3dcffd88e7671a667e3fe58c03161919"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3dcffd88e7671a667e3fe58c03161919">synthesisAudioString1</a> [] = &quot;Copy %d\n&quot;</td></tr>
<tr class="separator:a3dcffd88e7671a667e3fe58c03161919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58d0854d34c453a6a28c2fc499a59e11" id="r_a58d0854d34c453a6a28c2fc499a59e11"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a58d0854d34c453a6a28c2fc499a59e11">synthesisAudioString2</a> [] = &quot;%d-&gt;%d\n&quot;</td></tr>
<tr class="separator:a58d0854d34c453a6a28c2fc499a59e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e93587f631d9b3e3bdbf3e3af2f83b1" id="r_a8e93587f631d9b3e3bdbf3e3af2f83b1"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e93587f631d9b3e3bdbf3e3af2f83b1">synthesisAudioString3</a> [] = &quot;pitch %x: delaybytes %d : olddelay %d\n&quot;</td></tr>
<tr class="separator:a8e93587f631d9b3e3bdbf3e3af2f83b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1571fe691859656c7de7f8b8974381e0" id="r_a1571fe691859656c7de7f8b8974381e0"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1571fe691859656c7de7f8b8974381e0">synthesisAudioString4</a> [] = &quot;cont %x: delaybytes %d : olddelay %d\n&quot;</td></tr>
<tr class="separator:a1571fe691859656c7de7f8b8974381e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a5adf95c0704d3aec13cd975d0438f38b" name="a5adf95c0704d3aec13cd975d0438f38b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5adf95c0704d3aec13cd975d0438f38b">&#9670;&#160;</a></span>aSetLoadBufferPair</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define aSetLoadBufferPair</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>pkt</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>c</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>off</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <a class="code hl_define" href="mixer_8h.html#ad2cfe19dfb10c421c5f5dc2147fc3213">aSetBuffer</a>(pkt, 0, c + <a class="code hl_define" href="synthesis_8h.html#a7f59b9e4b76238914747f4d44efaf00b">DMEM_ADDR_WET_LEFT_CH</a>, 0, <a class="code hl_define" href="synthesis_8h.html#a595997d04904dfb0bf3bcef45336e373">DEFAULT_LEN_1CH</a> - c); \</div>
<div class="line"> aLoadBuffer(pkt, <a class="code hl_define" href="macros_8h.html#ac33bc9457f1c1be3f60fcf54fab88ee7">VIRTUAL_TO_PHYSICAL2</a>(gSynthesisReverb.ringBuffer.left + (off))); \</div>
<div class="line"> aSetBuffer(pkt, 0, c + <a class="code hl_define" href="synthesis_8h.html#a7d0209c82345e7a6205f78c353b70547">DMEM_ADDR_WET_RIGHT_CH</a>, 0, <a class="code hl_define" href="synthesis_8h.html#a595997d04904dfb0bf3bcef45336e373">DEFAULT_LEN_1CH</a> - c); \</div>
<div class="line"> aLoadBuffer(pkt, <a class="code hl_define" href="macros_8h.html#ac33bc9457f1c1be3f60fcf54fab88ee7">VIRTUAL_TO_PHYSICAL2</a>(gSynthesisReverb.ringBuffer.right + (off)))</div>
<div class="ttc" id="amacros_8h_html_ac33bc9457f1c1be3f60fcf54fab88ee7"><div class="ttname"><a href="macros_8h.html#ac33bc9457f1c1be3f60fcf54fab88ee7">VIRTUAL_TO_PHYSICAL2</a></div><div class="ttdeci">#define VIRTUAL_TO_PHYSICAL2(addr)</div><div class="ttdef"><b>Definition</b> macros.h:97</div></div>
<div class="ttc" id="amixer_8h_html_ad2cfe19dfb10c421c5f5dc2147fc3213"><div class="ttname"><a href="mixer_8h.html#ad2cfe19dfb10c421c5f5dc2147fc3213">aSetBuffer</a></div><div class="ttdeci">#define aSetBuffer(pkt, f, i, o, c)</div><div class="ttdef"><b>Definition</b> mixer.h:72</div></div>
<div class="ttc" id="asynthesis_8h_html_a595997d04904dfb0bf3bcef45336e373"><div class="ttname"><a href="synthesis_8h.html#a595997d04904dfb0bf3bcef45336e373">DEFAULT_LEN_1CH</a></div><div class="ttdeci">#define DEFAULT_LEN_1CH</div><div class="ttdef"><b>Definition</b> synthesis.h:7</div></div>
<div class="ttc" id="asynthesis_8h_html_a7d0209c82345e7a6205f78c353b70547"><div class="ttname"><a href="synthesis_8h.html#a7d0209c82345e7a6205f78c353b70547">DMEM_ADDR_WET_RIGHT_CH</a></div><div class="ttdeci">#define DMEM_ADDR_WET_RIGHT_CH</div><div class="ttdef"><b>Definition</b> synthesis.h:21</div></div>
<div class="ttc" id="asynthesis_8h_html_a7f59b9e4b76238914747f4d44efaf00b"><div class="ttname"><a href="synthesis_8h.html#a7f59b9e4b76238914747f4d44efaf00b">DMEM_ADDR_WET_LEFT_CH</a></div><div class="ttdeci">#define DMEM_ADDR_WET_LEFT_CH</div><div class="ttdef"><b>Definition</b> synthesis.h:20</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a67fb91e0a54fb1f28d378c3338863d5f" name="a67fb91e0a54fb1f28d378c3338863d5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67fb91e0a54fb1f28d378c3338863d5f">&#9670;&#160;</a></span>aSetSaveBufferPair</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define aSetSaveBufferPair</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>pkt</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>c</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>d</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>off</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <a class="code hl_define" href="mixer_8h.html#ad2cfe19dfb10c421c5f5dc2147fc3213">aSetBuffer</a>(pkt, 0, 0, c + <a class="code hl_define" href="synthesis_8h.html#a7f59b9e4b76238914747f4d44efaf00b">DMEM_ADDR_WET_LEFT_CH</a>, d); \</div>
<div class="line"> aSaveBuffer(pkt, <a class="code hl_define" href="macros_8h.html#ac33bc9457f1c1be3f60fcf54fab88ee7">VIRTUAL_TO_PHYSICAL2</a>(gSynthesisReverb.ringBuffer.left + (off))); \</div>
<div class="line"> aSetBuffer(pkt, 0, 0, c + <a class="code hl_define" href="synthesis_8h.html#a7d0209c82345e7a6205f78c353b70547">DMEM_ADDR_WET_RIGHT_CH</a>, d); \</div>
<div class="line"> aSaveBuffer(pkt, <a class="code hl_define" href="macros_8h.html#ac33bc9457f1c1be3f60fcf54fab88ee7">VIRTUAL_TO_PHYSICAL2</a>(gSynthesisReverb.ringBuffer.right + (off)));</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="afdb8a3b2a3566c114fc20078eb07ba4c" name="afdb8a3b2a3566c114fc20078eb07ba4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdb8a3b2a3566c114fc20078eb07ba4c">&#9670;&#160;</a></span>final_resample()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * final_resample </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *</td> <td class="paramname"><span class="paramname"><em>synthesisState</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>count</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16</td> <td class="paramname"><span class="paramname"><em>pitch</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16</td> <td class="paramname"><span class="paramname"><em>dmemIn</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32</td> <td class="paramname"><span class="paramname"><em>flags</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a831c7a9542071eed3e68885bd89e505b" name="a831c7a9542071eed3e68885bd89e505b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a831c7a9542071eed3e68885bd89e505b">&#9670;&#160;</a></span>func_800B6FB4()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void func_800B6FB4 </td>
<td>(</td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>updateIndexStart</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>noteIndex</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aed4d56af55356360afaebcb4f194407c" name="aed4d56af55356360afaebcb4f194407c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed4d56af55356360afaebcb4f194407c">&#9670;&#160;</a></span>load_wave_samples()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * load_wave_samples </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structNoteSubEu.html">NoteSubEu</a> *</td> <td class="paramname"><span class="paramname"><em>noteSubEu</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *</td> <td class="paramname"><span class="paramname"><em>synthesisState</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>nSamplesToLoad</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab6acf42e1089301d7b1959b332d22233" name="ab6acf42e1089301d7b1959b332d22233"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6acf42e1089301d7b1959b332d22233">&#9670;&#160;</a></span>note_apply_headset_pan_effects()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * note_apply_headset_pan_effects </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structNoteSubEu.html">NoteSubEu</a> *</td> <td class="paramname"><span class="paramname"><em>noteSubEu</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *</td> <td class="paramname"><span class="paramname"><em>note</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>bufLen</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>flags</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>leftRight</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9964410947181858fecd99e63c47d6a8" name="a9964410947181858fecd99e63c47d6a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9964410947181858fecd99e63c47d6a8">&#9670;&#160;</a></span>prepare_reverb_ring_buffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void prepare_reverb_ring_buffer </td>
<td>(</td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>chunkLen</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32</td> <td class="paramname"><span class="paramname"><em>updateIndex</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>reverbIndex</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_a9964410947181858fecd99e63c47d6a8_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<a id="aa52f464beeceef6ff37fea7dc6b71267" name="aa52f464beeceef6ff37fea7dc6b71267"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa52f464beeceef6ff37fea7dc6b71267">&#9670;&#160;</a></span>process_envelope()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="llconv_8c.html#ac0b0e5ad15a599850f4ca02c451110ba">u64</a> * process_envelope </td>
<td>(</td>
<td class="paramtype"><a class="el" href="llconv_8c.html#ac0b0e5ad15a599850f4ca02c451110ba">u64</a> *</td> <td class="paramname"><span class="paramname"><em>cmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structNoteSubEu.html">NoteSubEu</a> *</td> <td class="paramname"><span class="paramname"><em>noteSubEu</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structNoteSynthesisState.html">NoteSynthesisState</a> *</td> <td class="paramname"><span class="paramname"><em>synthesisState</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>nSamples</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16</td> <td class="paramname"><span class="paramname"><em>inBuf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>headsetPanSettings</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32</td> <td class="paramname"><span class="paramname"><em>flags</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aec35bddc85303be6c4d1c22e44a77b06" name="aec35bddc85303be6c4d1c22e44a77b06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec35bddc85303be6c4d1c22e44a77b06">&#9670;&#160;</a></span>synthesis_do_one_audio_update()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * synthesis_do_one_audio_update </td>
<td>(</td>
<td class="paramtype">s16 *</td> <td class="paramname"><span class="paramname"><em>aiBuf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>bufLen</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>updateIndex</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="synthesis_8c_aec35bddc85303be6c4d1c22e44a77b06_cgraph.svg" width="636" height="166"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_aec35bddc85303be6c4d1c22e44a77b06_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<a id="a2994f1f3d3603607ed9bca3243c1d5cf" name="a2994f1f3d3603607ed9bca3243c1d5cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2994f1f3d3603607ed9bca3243c1d5cf">&#9670;&#160;</a></span>synthesis_execute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * synthesis_execute </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32 *</td> <td class="paramname"><span class="paramname"><em>writtenCmds</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s16 *</td> <td class="paramname"><span class="paramname"><em>aiBuf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>bufLen</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_a2994f1f3d3603607ed9bca3243c1d5cf_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_a2994f1f3d3603607ed9bca3243c1d5cf_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<a id="ab469a6d9522ccd7bdcef898769a46a7a" name="ab469a6d9522ccd7bdcef898769a46a7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab469a6d9522ccd7bdcef898769a46a7a">&#9670;&#160;</a></span>synthesis_load_note_subs_eu()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void synthesis_load_note_subs_eu </td>
<td>(</td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>updateIndex</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_ab469a6d9522ccd7bdcef898769a46a7a_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<a id="a56c377279f4c167258dd3b24d90cd107" name="a56c377279f4c167258dd3b24d90cd107"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56c377279f4c167258dd3b24d90cd107">&#9670;&#160;</a></span>synthesis_load_reverb_ring_buffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * synthesis_load_reverb_ring_buffer </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16</td> <td class="paramname"><span class="paramname"><em>addr</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16</td> <td class="paramname"><span class="paramname"><em>srcOffset</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>len</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>reverbIndex</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_a56c377279f4c167258dd3b24d90cd107_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<a id="aaf9767ca9ae81766b960502e1161e025" name="aaf9767ca9ae81766b960502e1161e025"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf9767ca9ae81766b960502e1161e025">&#9670;&#160;</a></span>synthesis_resample_and_mix_reverb()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * synthesis_resample_and_mix_reverb </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>bufLen</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s16</td> <td class="paramname"><span class="paramname"><em>reverbIndex</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s16</td> <td class="paramname"><span class="paramname"><em>updateIndex</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="synthesis_8c_aaf9767ca9ae81766b960502e1161e025_cgraph.svg" width="379" height="51"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_aaf9767ca9ae81766b960502e1161e025_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<a id="a96e7d7b7eac8a9748d790519ae8151f9" name="a96e7d7b7eac8a9748d790519ae8151f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96e7d7b7eac8a9748d790519ae8151f9">&#9670;&#160;</a></span>synthesis_save_reverb_ring_buffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * synthesis_save_reverb_ring_buffer </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16</td> <td class="paramname"><span class="paramname"><em>addr</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16</td> <td class="paramname"><span class="paramname"><em>destOffset</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>len</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s32</td> <td class="paramname"><span class="paramname"><em>reverbIndex</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_a96e7d7b7eac8a9748d790519ae8151f9_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<a id="a1ed91750a5ecb20a5a76d4742c39311d" name="a1ed91750a5ecb20a5a76d4742c39311d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ed91750a5ecb20a5a76d4742c39311d">&#9670;&#160;</a></span>synthesis_save_reverb_samples()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Acmd * synthesis_save_reverb_samples </td>
<td>(</td>
<td class="paramtype">Acmd *</td> <td class="paramname"><span class="paramname"><em>acmd</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s16</td> <td class="paramname"><span class="paramname"><em>reverbIndex</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">s16</td> <td class="paramname"><span class="paramname"><em>updateIndex</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="synthesis_8c_a1ed91750a5ecb20a5a76d4742c39311d_cgraph.svg" width="400" height="51"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="synthesis_8c_a1ed91750a5ecb20a5a76d4742c39311d_icgraph.svg" width="100%" height="364"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a46dbb82b200402601c2819f7deab8c04" name="a46dbb82b200402601c2819f7deab8c04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46dbb82b200402601c2819f7deab8c04">&#9670;&#160;</a></span>gSynthesisReverbs</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structSynthesisReverb.html">SynthesisReverb</a> gSynthesisReverbs[4]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1f59143a489c5aae5608107c2e9519e2" name="a1f59143a489c5aae5608107c2e9519e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f59143a489c5aae5608107c2e9519e2">&#9670;&#160;</a></span>sAudioSynthesisPad</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u8 sAudioSynthesisPad[0x10]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6e7a1a2460ba7da6f3f087e4d649d124" name="a6e7a1a2460ba7da6f3f087e4d649d124"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e7a1a2460ba7da6f3f087e4d649d124">&#9670;&#160;</a></span>synthesisAudioString0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char synthesisAudioString0[] = &quot;Terminate-Canceled Channel %d,Phase %d\n&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Given that (almost) all of these are format strings, it is highly likely that they are meant to be used in some sort of printf variant. But I don't care to try and figure out which function gets which string(s) So I've place them all here instead. </p>
</div>
</div>
<a id="a3dcffd88e7671a667e3fe58c03161919" name="a3dcffd88e7671a667e3fe58c03161919"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dcffd88e7671a667e3fe58c03161919">&#9670;&#160;</a></span>synthesisAudioString1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char synthesisAudioString1[] = &quot;Copy %d\n&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a58d0854d34c453a6a28c2fc499a59e11" name="a58d0854d34c453a6a28c2fc499a59e11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58d0854d34c453a6a28c2fc499a59e11">&#9670;&#160;</a></span>synthesisAudioString2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char synthesisAudioString2[] = &quot;%d-&gt;%d\n&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8e93587f631d9b3e3bdbf3e3af2f83b1" name="a8e93587f631d9b3e3bdbf3e3af2f83b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e93587f631d9b3e3bdbf3e3af2f83b1">&#9670;&#160;</a></span>synthesisAudioString3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char synthesisAudioString3[] = &quot;pitch %x: delaybytes %d : olddelay %d\n&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1571fe691859656c7de7f8b8974381e0" name="a1571fe691859656c7de7f8b8974381e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1571fe691859656c7de7f8b8974381e0">&#9670;&#160;</a></span>synthesisAudioString4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char synthesisAudioString4[] = &quot;cont %x: delaybytes %d : olddelay %d\n&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_a63dedf81f1e5ea1d42bb45ef831eb8c.html">audio</a></li><li class="navelem"><a class="el" href="synthesis_8c.html">synthesis.c</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>