diff options
Diffstat (limited to 'AudioContext_8h_source.html')
| -rw-r--r-- | AudioContext_8h_source.html | 115 |
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 "AudioTableFactory.h"</span></div> <div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include "factories/naudio/v0/AudioHeaderFactory.h"</span></div> <div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include "factories/BaseFactory.h"</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 <unordered_map></span></div> +<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include <string></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<AudioTableData> info;</div> -<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> std::unordered_map<uint32_t, AudioTableEntry> entries;</div> -<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> std::vector<uint8_t> 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<AudioTableType, TableEntry> 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& 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<AudioTableData> info;</div> +<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> std::unordered_map<uint32_t, AudioTableEntry> entries;</div> +<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> std::vector<uint8_t> 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<AudioTableType, TableEntry> 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 << 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<uint64_t, std::string> 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'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<uint32_t, std::string> 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<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& 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& 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<ExportType, std::shared_ptr<BaseExporter>> 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<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& 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<ExportType, std::shared_ptr<BaseExporter>> 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 --> |
