summaryrefslogtreecommitdiff
path: root/AudioContext_8h_source.html
diff options
context:
space:
mode:
Diffstat (limited to 'AudioContext_8h_source.html')
-rw-r--r--AudioContext_8h_source.html115
1 files changed, 62 insertions, 53 deletions
diff --git a/AudioContext_8h_source.html b/AudioContext_8h_source.html
index ce41470..8b65704 100644
--- a/AudioContext_8h_source.html
+++ b/AudioContext_8h_source.html
@@ -96,66 +96,75 @@ $(function(){initNavTree('AudioContext_8h_source.html','',''); });
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include &quot;AudioTableFactory.h&quot;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;factories/naudio/v0/AudioHeaderFactory.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;factories/BaseFactory.h&quot;</span></div>
-<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
-<div class="foldopen" id="foldopen00007" data-start="{" data-end="};">
-<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"><a class="line" href="structTunedSample.html"> 7</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structTunedSample.html">TunedSample</a> {</div>
-<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> uint32_t sample;</div>
-<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> uint32_t sampleBankId;</div>
-<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> <span class="keywordtype">float</span> tuning;</div>
-<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span>};</div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
+<div class="foldopen" id="foldopen00009" data-start="{" data-end="};">
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"><a class="line" href="structTunedSample.html"> 9</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structTunedSample.html">TunedSample</a> {</div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> uint32_t sample;</div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> uint32_t sampleBankId;</div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> <span class="keywordtype">float</span> tuning;</div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span>};</div>
</div>
-<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
-<div class="foldopen" id="foldopen00013" data-start="{" data-end="};">
-<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="structTableEntry.html"> 13</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structTableEntry.html">TableEntry</a> {</div>
-<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> std::shared_ptr&lt;AudioTableData&gt; info;</div>
-<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> std::unordered_map&lt;uint32_t, AudioTableEntry&gt; entries;</div>
-<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> std::vector&lt;uint8_t&gt; buffer;</div>
-<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> uint32_t offset;</div>
-<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span>};</div>
-</div>
-<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
-<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">enum class</span> NAudioDrivers {</div>
-<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> SF64, FZEROX, UNKNOWN</div>
-<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>};</div>
-<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
-<div class="foldopen" id="foldopen00024" data-start="{" data-end="};">
-<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="classAudioContext.html"> 24</a></span><span class="keyword">class </span><a class="code hl_class" href="classAudioContext.html">AudioContext</a> {</div>
-<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">public</span>:</div>
-<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">static</span> std::unordered_map&lt;AudioTableType, TableEntry&gt; tables;</div>
-<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">static</span> NAudioDrivers driver;</div>
-<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
-<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">static</span> LUS::BinaryReader MakeReader(AudioTableType type, uint32_t offset);</div>
-<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">static</span> <a class="code hl_struct" href="structTunedSample.html">TunedSample</a> LoadTunedSample(LUS::BinaryReader&amp; reader, uint32_t parent, uint32_t sampleBankId);</div>
-<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">static</span> uint64_t GetPathByAddr(uint32_t addr);</div>
-<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
-<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetMediumStr(uint8_t medium);</div>
-<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetCachePolicyStr(uint8_t policy);</div>
-<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetCodecStr(uint8_t codec);</div>
-<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>};</div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
+<div class="foldopen" id="foldopen00015" data-start="{" data-end="};">
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="structTableEntry.html"> 15</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structTableEntry.html">TableEntry</a> {</div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> std::shared_ptr&lt;AudioTableData&gt; info;</div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> std::unordered_map&lt;uint32_t, AudioTableEntry&gt; entries;</div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> std::vector&lt;uint8_t&gt; buffer;</div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> uint32_t offset;</div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>};</div>
</div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">enum class</span> NAudioDrivers {</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> SF64, FZEROX, UNKNOWN</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>};</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="foldopen" id="foldopen00026" data-start="{" data-end="};">
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="classAudioContext.html"> 26</a></span><span class="keyword">class </span><a class="code hl_class" href="classAudioContext.html">AudioContext</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">static</span> std::unordered_map&lt;AudioTableType, TableEntry&gt; tables;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">static</span> NAudioDrivers driver;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// Key: (sampleBankId &lt;&lt; 32) | sampleAddr → canonical archive path.</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// Populated during parse so all dedup decisions are made before any export runs.</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">static</span> std::unordered_map&lt;uint64_t, std::string&gt; sampleDedup;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// Key: ROM offset of a duplicate SampleData struct → canonical archive path.</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// Used by GetPathByAddr() so instrument/drum export writes the canonical hash</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// instead of the duplicate&#39;s hash, making redirect entries permanently unreferenced.</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">static</span> std::unordered_map&lt;uint32_t, std::string&gt; sampleAddrRemap;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
-<div class="foldopen" id="foldopen00038" data-start="{" data-end="};">
-<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="classAudioContextFactory.html"> 38</a></span><span class="keyword">class </span><a class="code hl_class" href="classAudioContextFactory.html">AudioContextFactory</a> : <span class="keyword">public</span> <a class="code hl_class" href="classBaseFactory.html">BaseFactory</a> {</div>
-<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="keyword">public</span>:</div>
-<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> std::optional&lt;std::shared_ptr&lt;IParsedData&gt;&gt; parse(std::vector&lt;uint8_t&gt;&amp; buffer, YAML::Node&amp; data) <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">static</span> LUS::BinaryReader MakeReader(AudioTableType type, uint32_t offset);</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">static</span> <a class="code hl_struct" href="structTunedSample.html">TunedSample</a> LoadTunedSample(LUS::BinaryReader&amp; reader, uint32_t parent, uint32_t sampleBankId);</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">static</span> uint64_t GetPathByAddr(uint32_t addr);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
-<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">inline</span> std::unordered_map&lt;ExportType, std::shared_ptr&lt;BaseExporter&gt;&gt; GetExporters()<span class="keyword"> override </span>{</div>
-<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> {</div>
-<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> REGISTER(Header, <a class="code hl_class" href="classAudioDummyExporter.html">AudioDummyExporter</a>)</div>
-<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> REGISTER(Binary, <a class="code hl_class" href="classAudioDummyExporter.html">AudioDummyExporter</a>)</div>
-<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> REGISTER(Code, <a class="code hl_class" href="classAudioDummyExporter.html">AudioDummyExporter</a>)</div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> };</div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">bool</span> HasModdedDependencies()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
-<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>};</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetMediumStr(uint8_t medium);</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetCachePolicyStr(uint8_t policy);</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetCodecStr(uint8_t codec);</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>};</div>
+</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="foldopen" id="foldopen00047" data-start="{" data-end="};">
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classAudioContextFactory.html"> 47</a></span><span class="keyword">class </span><a class="code hl_class" href="classAudioContextFactory.html">AudioContextFactory</a> : <span class="keyword">public</span> <a class="code hl_class" href="classBaseFactory.html">BaseFactory</a> {</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> std::optional&lt;std::shared_ptr&lt;IParsedData&gt;&gt; parse(std::vector&lt;uint8_t&gt;&amp; buffer, YAML::Node&amp; data) <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">inline</span> std::unordered_map&lt;ExportType, std::shared_ptr&lt;BaseExporter&gt;&gt; GetExporters()<span class="keyword"> override </span>{</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">return</span> {</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> REGISTER(Header, <a class="code hl_class" href="classAudioDummyExporter.html">AudioDummyExporter</a>)</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> REGISTER(Binary, <a class="code hl_class" href="classAudioDummyExporter.html">AudioDummyExporter</a>)</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> REGISTER(Code, <a class="code hl_class" href="classAudioDummyExporter.html">AudioDummyExporter</a>)</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> };</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> }</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">bool</span> HasModdedDependencies()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span>};</div>
</div>
-<div class="ttc" id="aclassAudioContextFactory_html"><div class="ttname"><a href="classAudioContextFactory.html">AudioContextFactory</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:38</div></div>
-<div class="ttc" id="aclassAudioContext_html"><div class="ttname"><a href="classAudioContext.html">AudioContext</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:24</div></div>
+<div class="ttc" id="aclassAudioContextFactory_html"><div class="ttname"><a href="classAudioContextFactory.html">AudioContextFactory</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:47</div></div>
+<div class="ttc" id="aclassAudioContext_html"><div class="ttname"><a href="classAudioContext.html">AudioContext</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:26</div></div>
<div class="ttc" id="aclassAudioDummyExporter_html"><div class="ttname"><a href="classAudioDummyExporter.html">AudioDummyExporter</a></div><div class="ttdef"><b>Definition</b> AudioHeaderFactory.h:12</div></div>
<div class="ttc" id="aclassBaseFactory_html"><div class="ttname"><a href="classBaseFactory.html">BaseFactory</a></div><div class="ttdef"><b>Definition</b> BaseFactory.h:94</div></div>
-<div class="ttc" id="astructTableEntry_html"><div class="ttname"><a href="structTableEntry.html">TableEntry</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:13</div></div>
-<div class="ttc" id="astructTunedSample_html"><div class="ttname"><a href="structTunedSample.html">TunedSample</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:7</div></div>
+<div class="ttc" id="astructTableEntry_html"><div class="ttname"><a href="structTableEntry.html">TableEntry</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:15</div></div>
+<div class="ttc" id="astructTunedSample_html"><div class="ttname"><a href="structTunedSample.html">TunedSample</a></div><div class="ttdef"><b>Definition</b> AudioContext.h:9</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->