<p>Processes the current APT status. </p>
<p>Generally used within a main loop. </p><dl class="section return"><dt>Returns</dt><dd>Whether the application is closing. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a1">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a6">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a3">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a7">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a69">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a68">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a79">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a6">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a3">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a3">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a6">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a17">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a3">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a3">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a3">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a19">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a6">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a4">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a9">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a3">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a1">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a8">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a3">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a7">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a69">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a68">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a79">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a6">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a3">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a3">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a6">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a17">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a3">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a3">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a3">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a19">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a6">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a4">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a9">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a3">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main()</div>
<div class="line">{</div>
-<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *framebuf;</div>
-<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *sharedmem = NULL, sharedmem_size = 0x30000;</div>
-<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *audiobuf;</div>
-<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> audiobuf_size = 0x100000, audiobuf_pos = 0;</div>
-<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> control=0x40;</div>
-<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> audio_initialized = 0;</div>
-<div class="line"></div>
<div class="line"> <a name="a0"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
<div class="line"> <a name="a1"></a><a class="code" href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a>(<a name="a2"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541">GFX_BOTTOM</a>, NULL);</div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>(<a name="a3"></a><a class="code" href="csnd_8h.html#a3155c2b9f14c465baabd9fa92913347e">csndInit</a>()==0)</div>
+<div class="line"> <span class="keywordtype">bool</span> initialized = <span class="keyword">true</span>;</div>
+<div class="line"></div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> micbuf_size = 0x30000;</div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> micbuf_pos = 0;</div>
+<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* micbuf = memalign(micbuf_size, 0x1000);</div>
+<div class="line"></div>
+<div class="line"> printf(<span class="stringliteral">"Initializing CSND...\n"</span>);</div>
+<div class="line"> <span class="keywordflow">if</span>(<a name="a3"></a><a class="code" href="result_8h.html#a0b5d96e53599ca10d46297ba05e20b62">R_FAILED</a>(<a name="a4"></a><a class="code" href="csnd_8h.html#a3155c2b9f14c465baabd9fa92913347e">csndInit</a>()))</div>
<div class="line"> {</div>
-<div class="line"> printf(<span class="stringliteral">"Init success\n"</span>);</div>
-<div class="line"> audio_initialized = 1;</div>
-<div class="line"> }</div>
+<div class="line"> initialized = <span class="keyword">false</span>;</div>
+<div class="line"> printf(<span class="stringliteral">"Could not initialize CSND.\n"</span>);</div>
+<div class="line"> } <span class="keywordflow">else</span> printf(<span class="stringliteral">"CSND initialized.\n"</span>);</div>
+<div class="line"></div>
+<div class="line"> printf(<span class="stringliteral">"Initializing MIC...\n"</span>);</div>
+<div class="line"> <span class="keywordflow">if</span>(<a class="code" href="result_8h.html#a0b5d96e53599ca10d46297ba05e20b62">R_FAILED</a>(<a name="a5"></a><a class="code" href="mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380">micInit</a>(micbuf, micbuf_size)))</div>
+<div class="line"> {</div>
+<div class="line"> initialized = <span class="keyword">false</span>;</div>
+<div class="line"> printf(<span class="stringliteral">"Could not initialize MIC.\n"</span>);</div>
+<div class="line"> } <span class="keywordflow">else</span> printf(<span class="stringliteral">"MIC initialized.\n"</span>);</div>
<div class="line"></div>
-<div class="line"> sharedmem = (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)memalign(0x1000, sharedmem_size);</div>
-<div class="line"> audiobuf = <a name="a4"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(audiobuf_size);</div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> micbuf_datasize = <a name="a6"></a><a class="code" href="mic_8h.html#a09361b33179e9ca5fd099161cf25d70a">micGetSampleDataSize</a>();</div>
<div class="line"></div>
-<div class="line"> <a name="a5"></a><a class="code" href="mic_8h.html#a8908c82b113c8b5b5919794dacd8be1e">MIC_Initialize</a>(sharedmem, sharedmem_size, control, 0, 3, 1, 1);<span class="comment">//See mic.h.</span></div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> audiobuf_size = 0x100000;</div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> audiobuf_pos = 0;</div>
+<div class="line"> <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* audiobuf = <a name="a7"></a><a class="code" href="linear_8h.html#a73a6bd0b398a08f695e16e07267a7424">linearAlloc</a>(audiobuf_size);</div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">while</span>(<a name="a6"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
+<div class="line"> <span class="keywordflow">if</span>(initialized) printf(<span class="stringliteral">"Hold A to record, release to play.\n"</span>);</div>
+<div class="line"> printf(<span class="stringliteral">"Press START to exit.\n"</span>);</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">while</span>(<a name="a8"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
<div class="line"> {</div>
-<div class="line"> <a name="a7"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
-<div class="line"> <a name="a8"></a><a class="code" href="gsp_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
+<div class="line"> <a name="a9"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
+<div class="line"> <a name="a10"></a><a class="code" href="gsp_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
<div class="line"></div>
-<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a9"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
-<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a10"></a><a class="code" href="hid_8h.html#a11f9ec8ae52d2145fbbd1e9fb1ccb752a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a11"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
+<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a12"></a><a class="code" href="hid_8h.html#a11f9ec8ae52d2145fbbd1e9fb1ccb752a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
<div class="line"> <span class="keywordflow">break</span>; <span class="comment">// break in order to return to hbmenu</span></div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>(audio_initialized)</div>
+<div class="line"> <span class="keywordflow">if</span>(initialized)</div>
<div class="line"> {</div>
-<div class="line"> framebuf = <a name="a11"></a><a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a name="a12"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a name="a13"></a><a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL);</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>(kDown & <a name="a14"></a><a class="code" href="hid_8h.html#a11f9ec8ae52d2145fbbd1e9fb1ccb752aa7b3a3d0503a46bec51c6e3da95747cc">KEY_A</a>)</div>
+<div class="line"> <span class="keywordflow">if</span>(kDown & <a name="a13"></a><a class="code" href="hid_8h.html#a11f9ec8ae52d2145fbbd1e9fb1ccb752aa7b3a3d0503a46bec51c6e3da95747cc">KEY_A</a>)</div>
<div class="line"> {</div>
<div class="line"> audiobuf_pos = 0;</div>
-<div class="line"> printf(<span class="stringliteral">"Stopping audio playback\n"</span>);</div>
-<div class="line"> <a name="a15"></a><a class="code" href="csnd_8h.html#a5dbd86f6c7687b9a6f622b35cd02a798">CSND_SetPlayState</a>(0x8, 0);<span class="comment">//Stop audio playback.</span></div>
-<div class="line"> <a name="a16"></a><a class="code" href="csnd_8h.html#a29f403e7faa5c335375e938dd0a242ad">CSND_UpdateInfo</a>(0);</div>
+<div class="line"> micbuf_pos = 0;</div>
<div class="line"></div>
-<div class="line"> <a name="a17"></a><a class="code" href="mic_8h.html#ad1cb3af8851f2502d3b244d4635991cd">MIC_SetRecording</a>(1);</div>
+<div class="line"> printf(<span class="stringliteral">"Stopping audio playback...\n"</span>);</div>
+<div class="line"> <a name="a14"></a><a class="code" href="csnd_8h.html#a5dbd86f6c7687b9a6f622b35cd02a798">CSND_SetPlayState</a>(0x8, 0);</div>
+<div class="line"> <span class="keywordflow">if</span>(<a class="code" href="result_8h.html#a0b5d96e53599ca10d46297ba05e20b62">R_FAILED</a>(<a name="a15"></a><a class="code" href="csnd_8h.html#a29f403e7faa5c335375e938dd0a242ad">CSND_UpdateInfo</a>(0))) printf(<span class="stringliteral">"Failed to stop audio playback.\n"</span>);</div>
<div class="line"></div>
-<div class="line"> memset(framebuf, 0x20, 0x46500);</div>
-<div class="line"> printf(<span class="stringliteral">"Now recording\n"</span>);</div>
+<div class="line"> printf(<span class="stringliteral">"Starting sampling...\n"</span>);</div>
+<div class="line"> <span class="keywordflow">if</span>(<a name="a16"></a><a class="code" href="result_8h.html#af3fc09d5b7503ddfc46c0d5464acb0f4">R_SUCCEEDED</a>(<a name="a17"></a><a class="code" href="mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61">MICU_SetPower</a>(<span class="keyword">true</span>)) && <a class="code" href="result_8h.html#af3fc09d5b7503ddfc46c0d5464acb0f4">R_SUCCEEDED</a>(<a name="a18"></a><a class="code" href="mic_8h.html#a79266af4aa50d790fba3680d423f6ff0">MICU_StartSampling</a>(<a name="a19"></a><a class="code" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92">MICU_ENCODING_PCM16_SIGNED</a>, <a name="a20"></a><a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf">MICU_SAMPLE_RATE_16360</a>, 0, micbuf_datasize, <span class="keyword">true</span>))) printf(<span class="stringliteral">"Now recording.\n"</span>);</div>
+<div class="line"> <span class="keywordflow">else</span> printf(<span class="stringliteral">"Failed to start sampling.\n"</span>);</div>
<div class="line"> }</div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>((<a name="a18"></a><a class="code" href="hid_8h.html#a68e8fd75a99650db835f045676a47949">hidKeysHeld</a>() & KEY_A) && audiobuf_pos < audiobuf_size)</div>
+<div class="line"> <span class="keywordflow">if</span>((<a name="a21"></a><a class="code" href="hid_8h.html#a68e8fd75a99650db835f045676a47949">hidKeysHeld</a>() & KEY_A) && audiobuf_pos < audiobuf_size)</div>
<div class="line"> {</div>
-<div class="line"> audiobuf_pos+= <a name="a19"></a><a class="code" href="mic_8h.html#a71378ceca23876e1100ab66db04559f4">MIC_ReadAudioData</a>(&audiobuf[audiobuf_pos], audiobuf_size-audiobuf_pos, 1);</div>
-<div class="line"> <span class="keywordflow">if</span>(audiobuf_pos > audiobuf_size)audiobuf_pos = audiobuf_size;</div>
-<div class="line"></div>
-<div class="line"> memset(framebuf, 0x60, 0x46500);</div>
+<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> micbuf_readpos = micbuf_pos;</div>
+<div class="line"> micbuf_pos = <a name="a22"></a><a class="code" href="mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9">micGetLastSampleOffset</a>();</div>
+<div class="line"> <span class="keywordflow">while</span>(audiobuf_pos < audiobuf_size && micbuf_readpos != micbuf_pos)</div>
+<div class="line"> {</div>
+<div class="line"> audiobuf[audiobuf_pos] = micbuf[micbuf_readpos];</div>
+<div class="line"> audiobuf_pos++;</div>
+<div class="line"> micbuf_readpos = (micbuf_readpos + 1) % micbuf_datasize;</div>
+<div class="line"> }</div>
<div class="line"> }</div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>(<a name="a20"></a><a class="code" href="hid_8h.html#acefc6e65ac14a7e02c1c1fd72279eed4">hidKeysUp</a>() & KEY_A)</div>
+<div class="line"> <span class="keywordflow">if</span>(<a name="a23"></a><a class="code" href="hid_8h.html#acefc6e65ac14a7e02c1c1fd72279eed4">hidKeysUp</a>() & <a class="code" href="hid_8h.html#a11f9ec8ae52d2145fbbd1e9fb1ccb752aa7b3a3d0503a46bec51c6e3da95747cc">KEY_A</a>)</div>
<div class="line"> {</div>
-<div class="line"> printf(<span class="stringliteral">"Playing the recorded sample\n"</span>);</div>
-<div class="line"> <a class="code" href="mic_8h.html#ad1cb3af8851f2502d3b244d4635991cd">MIC_SetRecording</a>(0);</div>
-<div class="line"> <a name="a21"></a><a class="code" href="gsp_8h.html#a24f1c78fad4e1108ddc56fb3674cdba2">GSPGPU_FlushDataCache</a>(NULL, audiobuf, audiobuf_pos);</div>
-<div class="line"> <a name="a22"></a><a class="code" href="csnd_8h.html#a3752f884792b439bcec34837b374a46d">csndPlaySound</a>(0x8, <a name="a23"></a><a class="code" href="csnd_8h.html#aaf105ae5beaca1dee30ae54530691fceaf96c5965b6990d82a1db630720c904b0">SOUND_ONE_SHOT</a> | <a name="a24"></a><a class="code" href="csnd_8h.html#aaf105ae5beaca1dee30ae54530691fcea5f8b8383f728e9dabef5efa486e08fd4">SOUND_FORMAT_16BIT</a>, 16000, 1.0, 0.0, (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)audiobuf, NULL, audiobuf_pos);</div>
+<div class="line"> printf(<span class="stringliteral">"Stoping sampling...\n"</span>);</div>
+<div class="line"> <span class="keywordflow">if</span>(<a class="code" href="result_8h.html#a0b5d96e53599ca10d46297ba05e20b62">R_FAILED</a>(<a name="a24"></a><a class="code" href="mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967">MICU_StopSampling</a>()) || <a class="code" href="result_8h.html#a0b5d96e53599ca10d46297ba05e20b62">R_FAILED</a>(<a class="code" href="mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61">MICU_SetPower</a>(<span class="keyword">false</span>))) printf(<span class="stringliteral">"Failed to stop sampling.\n"</span>);</div>
<div class="line"></div>
-<div class="line"> memset(framebuf, 0xe0, 0x46500);</div>
-<div class="line"></div>
-<div class="line"> <a name="a25"></a><a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
-<div class="line"> <a name="a26"></a><a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
-<div class="line"></div>
-<div class="line"> framebuf = <a class="code" href="gfx_8h.html#a332447352568e250a75397a1b2e452db">gfxGetFramebuffer</a>(<a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, <a class="code" href="gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1">GFX_LEFT</a>, NULL, NULL);</div>
-<div class="line"> memset(framebuf, 0xe0, 0x46500);</div>
+<div class="line"> printf(<span class="stringliteral">"Starting audio playback...\n"</span>);</div>
+<div class="line"> <span class="keywordflow">if</span>(<a class="code" href="result_8h.html#af3fc09d5b7503ddfc46c0d5464acb0f4">R_SUCCEEDED</a>(<a name="a25"></a><a class="code" href="gsp_8h.html#a24f1c78fad4e1108ddc56fb3674cdba2">GSPGPU_FlushDataCache</a>(audiobuf, audiobuf_pos)) && <a class="code" href="result_8h.html#af3fc09d5b7503ddfc46c0d5464acb0f4">R_SUCCEEDED</a>(<a name="a26"></a><a class="code" href="csnd_8h.html#a3752f884792b439bcec34837b374a46d">csndPlaySound</a>(0x8, <a name="a27"></a><a class="code" href="csnd_8h.html#aaf105ae5beaca1dee30ae54530691fceaf96c5965b6990d82a1db630720c904b0">SOUND_ONE_SHOT</a> | <a name="a28"></a><a class="code" href="csnd_8h.html#aaf105ae5beaca1dee30ae54530691fcea5f8b8383f728e9dabef5efa486e08fd4">SOUND_FORMAT_16BIT</a>, 16360, 1.0, 0.0, (<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a>*)audiobuf, NULL, audiobuf_pos))) printf(<span class="stringliteral">"Now playing.\n"</span>);</div>
+<div class="line"> <span class="keywordflow">else</span> printf(<span class="stringliteral">"Failed to start playback.\n"</span>);</div>
<div class="line"> }</div>
<div class="line"> }</div>
<div class="line"></div>
-<div class="line"> <a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
-<div class="line"> <a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
+<div class="line"> <a name="a29"></a><a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
+<div class="line"> <a name="a30"></a><a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
<div class="line"> }</div>
<div class="line"></div>
-<div class="line"> <a name="a27"></a><a class="code" href="mic_8h.html#a2a5d33b949505aeebb3ecaff7366a924">MIC_Shutdown</a>();</div>
-<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>(audio_initialized)<a name="a28"></a><a class="code" href="csnd_8h.html#af5dc91e98b2182aa71f45dca52e42ad3">csndExit</a>();</div>
+<div class="line"> <a name="a31"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(audiobuf);</div>
<div class="line"></div>
-<div class="line"> free(sharedmem);</div>
-<div class="line"> <a name="a29"></a><a class="code" href="linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2">linearFree</a>(audiobuf);</div>
+<div class="line"> <a name="a32"></a><a class="code" href="mic_8h.html#a5de3831a1aa13b444a812ebfef218361">micExit</a>();</div>
+<div class="line"> free(micbuf);</div>
<div class="line"></div>
-<div class="line"> <a name="a30"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
+<div class="line"> <a name="a33"></a><a class="code" href="csnd_8h.html#af5dc91e98b2182aa71f45dca52e42ad3">csndExit</a>();</div>
+<div class="line"> <a name="a34"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
<div class="line"> <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
<div class="line"></div>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a15">audio/mic/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a14">audio/mic/source/main.c</a>.</dd>
</dl>
</div>
</div>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a16">audio/mic/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a15">audio/mic/source/main.c</a>.</dd>
</dl>
</div>
</div>
</dd>
</dl>
<p>In this implementation if the loop mode is used, data1 must be in the range [data0 ; data0 + size]. Sound will be played once from data0 to data0 + size and then loop between data1 and data0+size. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a22">audio/mic/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a26">audio/mic/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Closes the gsp service and frees the framebuffers. </p>
<p>Just call it when you're done. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a12">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a30">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a10">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a14">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a75">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a74">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a85">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a13">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a10">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a10">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a13">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a22">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a18">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a14">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a13">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a24">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a26">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a12">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a20">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a10">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a12">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a34">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a10">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a14">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a75">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a74">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a85">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a13">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a10">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a10">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a13">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a22">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a18">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a14">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a13">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a24">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a26">qtm/source/main.c</a>, <a class="el" href="sdmc_2source_2main_8c-example.html#a12">sdmc/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a20">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a10">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Flushes the current framebuffers. </p>
<p>Use this if the data within your framebuffers changes a lot and that you want to make sure everything was updated correctly. This shouldn't be needed and has a significant overhead. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a9">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a25">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a7">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a11">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a10">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a7">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a7">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a10">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a4">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a15">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a11">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a9">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a14">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a23">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a16">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a7">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a9">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a29">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a7">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a11">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a10">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a7">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a7">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a10">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a4">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a15">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a11">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a9">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a14">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a23">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a16">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a7">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the current framebuffer of the choosen screen.</dd></dl>
<p>Please remember that the returned pointer will change after each call to gfxSwapBuffers if double buffering is enabled. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a11">audio/mic/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a5">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a39">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a39">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a39">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a6">http/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a0">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a11">qtm/source/main.c</a>, and <a class="el" href="sdmc_2source_2main_8c-example.html#a0">sdmc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a5">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a39">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a39">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a39">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a6">http/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a0">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a11">qtm/source/main.c</a>, and <a class="el" href="sdmc_2source_2main_8c-example.html#a0">sdmc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Swaps the buffers and sets the gsp state. </p>
<p>This is to be called to update the gsp state and swap the framebuffers. LCD rendering should start as soon as the gsp state is set. When using the GPU, call <a class="el" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a> instead. </p>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a10">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a26">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a8">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a12">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a11">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a8">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a8">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a11">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a9">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a16">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a12">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a5">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a15">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a24">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a17">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a8">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a10">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a30">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a8">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a12">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a11">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a8">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a8">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a11">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a9">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a16">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a12">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a5">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a15">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a24">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a17">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a8">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<li>MemState
: <a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7">svc.h</a>
</li>
+<li>MICU_Encoding
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">mic.h</a>
+</li>
+<li>MICU_SampleRate
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">mic.h</a>
+</li>
<li>mvdstdMode
: <a class="el" href="mvd_8h.html#a7727fc7f0cd8323ea3441e3c2c6b1312">mvd.h</a>
</li>
<li>MEMSTATE_STATIC
: <a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7aaca66457f6d543c2b19b0430590fc143">svc.h</a>
</li>
+<li>MICU_ENCODING_PCM16
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2">mic.h</a>
+</li>
+<li>MICU_ENCODING_PCM16_SIGNED
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92">mic.h</a>
+</li>
+<li>MICU_ENCODING_PCM8
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac">mic.h</a>
+</li>
+<li>MICU_ENCODING_PCM8_SIGNED
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_10910
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_16360
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_32730
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_8180
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0">mic.h</a>
+</li>
<li>MVDMODE_COLORFORMATCONV
: <a class="el" href="mvd_8h.html#a7727fc7f0cd8323ea3441e3c2c6b1312a60d87a7f2151cd67f8b0710ec39f7583">mvd.h</a>
</li>
<li>mappableSpaceFree()
: <a class="el" href="mappable_8h.html#ad2de177d65c49ea3807d1dae1a5b3223">mappable.h</a>
</li>
-<li>MIC_cmd3_Initialize()
-: <a class="el" href="mic_8h.html#a8c15e18747d11a52bc4fd4d57a950972">mic.h</a>
+<li>micExit()
+: <a class="el" href="mic_8h.html#a5de3831a1aa13b444a812ebfef218361">mic.h</a>
</li>
-<li>MIC_cmd5()
-: <a class="el" href="mic_8h.html#a4f241475a108114a4c68950ef028b660">mic.h</a>
+<li>micGetLastSampleOffset()
+: <a class="el" href="mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9">mic.h</a>
</li>
-<li>MIC_GetCNTBit15()
-: <a class="el" href="mic_8h.html#aa0b51d426b389c1eac5b7ba3fcd00267">mic.h</a>
+<li>micGetSampleDataSize()
+: <a class="el" href="mic_8h.html#a09361b33179e9ca5fd099161cf25d70a">mic.h</a>
</li>
-<li>MIC_GetControl()
-: <a class="el" href="mic_8h.html#a848e6c2e944a6919febe75c52dbe1475">mic.h</a>
+<li>micInit()
+: <a class="el" href="mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380">mic.h</a>
</li>
-<li>MIC_GetEventHandle()
-: <a class="el" href="mic_8h.html#a3df6ac6a0e3b9493d3c2690c724f68c6">mic.h</a>
+<li>MICU_AdjustSampling()
+: <a class="el" href="mic_8h.html#afdc168c4f160192b7b3b04e49d15ec86">mic.h</a>
</li>
-<li>MIC_GetSharedMemOffsetValue()
-: <a class="el" href="mic_8h.html#a21f4144947e781941f8a045c5e6e2a6a">mic.h</a>
+<li>MICU_GetClamp()
+: <a class="el" href="mic_8h.html#aed8b72fbff68362b9c6a047a0b0c7307">mic.h</a>
</li>
-<li>MIC_Initialize()
-: <a class="el" href="mic_8h.html#a8908c82b113c8b5b5919794dacd8be1e">mic.h</a>
+<li>MICU_GetEventHandle()
+: <a class="el" href="mic_8h.html#a8f17c21f1420682eb699cf39adf537b2">mic.h</a>
</li>
-<li>MIC_IsRecoding()
-: <a class="el" href="mic_8h.html#a54a77ba7353b089d4f84769fff987c8e">mic.h</a>
+<li>MICU_GetGain()
+: <a class="el" href="mic_8h.html#add912c11a5b5ff8dabe224e2f380be9b">mic.h</a>
</li>
-<li>MIC_MapSharedMem()
-: <a class="el" href="mic_8h.html#a08092b087f0fac45b82dc5c667c55587">mic.h</a>
+<li>MICU_GetPower()
+: <a class="el" href="mic_8h.html#a38f4599e0d974a89a4448b3a53360cc6">mic.h</a>
</li>
-<li>MIC_ReadAudioData()
-: <a class="el" href="mic_8h.html#a71378ceca23876e1100ab66db04559f4">mic.h</a>
+<li>MICU_IsSampling()
+: <a class="el" href="mic_8h.html#a42078893931d09a8b27f3306c7f13a29">mic.h</a>
</li>
-<li>MIC_SetControl()
-: <a class="el" href="mic_8h.html#a9e59c00cbb8bebd5434a7e84e32122e1">mic.h</a>
+<li>MICU_MapSharedMem()
+: <a class="el" href="mic_8h.html#a3dd3e9152bbddcafe2babc371c210222">mic.h</a>
</li>
-<li>MIC_SetRecording()
-: <a class="el" href="mic_8h.html#ad1cb3af8851f2502d3b244d4635991cd">mic.h</a>
+<li>MICU_SetAllowShellClosed()
+: <a class="el" href="mic_8h.html#a913ee846ab9633883625e6477ae10cdf">mic.h</a>
</li>
-<li>MIC_Shutdown()
-: <a class="el" href="mic_8h.html#a2a5d33b949505aeebb3ecaff7366a924">mic.h</a>
+<li>MICU_SetClamp()
+: <a class="el" href="mic_8h.html#a0a156a0b69714f334c004c7137a7592c">mic.h</a>
</li>
-<li>MIC_UnmapSharedMem()
-: <a class="el" href="mic_8h.html#ae0f008930602cd4c77a087cbb7acc419">mic.h</a>
+<li>MICU_SetGain()
+: <a class="el" href="mic_8h.html#a0c29ffb2d0addbaca328d8aad082e3bf">mic.h</a>
+</li>
+<li>MICU_SetPower()
+: <a class="el" href="mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61">mic.h</a>
+</li>
+<li>MICU_StartSampling()
+: <a class="el" href="mic_8h.html#a79266af4aa50d790fba3680d423f6ff0">mic.h</a>
+</li>
+<li>MICU_StopSampling()
+: <a class="el" href="mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967">mic.h</a>
+</li>
+<li>MICU_UnmapSharedMem()
+: <a class="el" href="mic_8h.html#ab728c230d454422b4fdc119eec7f0510">mic.h</a>
</li>
<li>mvdstdExit()
: <a class="el" href="mvd_8h.html#a0268fc860c200937a3519b8aba79af95">mvd.h</a>
<li>MEMSTATE_STATIC
: <a class="el" href="svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7aaca66457f6d543c2b19b0430590fc143">svc.h</a>
</li>
-<li>MIC_cmd3_Initialize()
-: <a class="el" href="mic_8h.html#a8c15e18747d11a52bc4fd4d57a950972">mic.h</a>
+<li>micExit()
+: <a class="el" href="mic_8h.html#a5de3831a1aa13b444a812ebfef218361">mic.h</a>
</li>
-<li>MIC_cmd5()
-: <a class="el" href="mic_8h.html#a4f241475a108114a4c68950ef028b660">mic.h</a>
+<li>micGetLastSampleOffset()
+: <a class="el" href="mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9">mic.h</a>
</li>
-<li>MIC_GetCNTBit15()
-: <a class="el" href="mic_8h.html#aa0b51d426b389c1eac5b7ba3fcd00267">mic.h</a>
+<li>micGetSampleDataSize()
+: <a class="el" href="mic_8h.html#a09361b33179e9ca5fd099161cf25d70a">mic.h</a>
</li>
-<li>MIC_GetControl()
-: <a class="el" href="mic_8h.html#a848e6c2e944a6919febe75c52dbe1475">mic.h</a>
+<li>micInit()
+: <a class="el" href="mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380">mic.h</a>
</li>
-<li>MIC_GetEventHandle()
-: <a class="el" href="mic_8h.html#a3df6ac6a0e3b9493d3c2690c724f68c6">mic.h</a>
+<li>MICU_AdjustSampling()
+: <a class="el" href="mic_8h.html#afdc168c4f160192b7b3b04e49d15ec86">mic.h</a>
</li>
-<li>MIC_GetSharedMemOffsetValue()
-: <a class="el" href="mic_8h.html#a21f4144947e781941f8a045c5e6e2a6a">mic.h</a>
+<li>MICU_Encoding
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">mic.h</a>
</li>
-<li>MIC_Initialize()
-: <a class="el" href="mic_8h.html#a8908c82b113c8b5b5919794dacd8be1e">mic.h</a>
+<li>MICU_ENCODING_PCM16
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2">mic.h</a>
</li>
-<li>MIC_IsRecoding()
-: <a class="el" href="mic_8h.html#a54a77ba7353b089d4f84769fff987c8e">mic.h</a>
+<li>MICU_ENCODING_PCM16_SIGNED
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92">mic.h</a>
</li>
-<li>MIC_MapSharedMem()
-: <a class="el" href="mic_8h.html#a08092b087f0fac45b82dc5c667c55587">mic.h</a>
+<li>MICU_ENCODING_PCM8
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac">mic.h</a>
</li>
-<li>MIC_ReadAudioData()
-: <a class="el" href="mic_8h.html#a71378ceca23876e1100ab66db04559f4">mic.h</a>
+<li>MICU_ENCODING_PCM8_SIGNED
+: <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc">mic.h</a>
</li>
-<li>MIC_SetControl()
-: <a class="el" href="mic_8h.html#a9e59c00cbb8bebd5434a7e84e32122e1">mic.h</a>
+<li>MICU_GetClamp()
+: <a class="el" href="mic_8h.html#aed8b72fbff68362b9c6a047a0b0c7307">mic.h</a>
</li>
-<li>MIC_SetRecording()
-: <a class="el" href="mic_8h.html#ad1cb3af8851f2502d3b244d4635991cd">mic.h</a>
+<li>MICU_GetEventHandle()
+: <a class="el" href="mic_8h.html#a8f17c21f1420682eb699cf39adf537b2">mic.h</a>
</li>
-<li>MIC_Shutdown()
-: <a class="el" href="mic_8h.html#a2a5d33b949505aeebb3ecaff7366a924">mic.h</a>
+<li>MICU_GetGain()
+: <a class="el" href="mic_8h.html#add912c11a5b5ff8dabe224e2f380be9b">mic.h</a>
</li>
-<li>MIC_UnmapSharedMem()
-: <a class="el" href="mic_8h.html#ae0f008930602cd4c77a087cbb7acc419">mic.h</a>
+<li>MICU_GetPower()
+: <a class="el" href="mic_8h.html#a38f4599e0d974a89a4448b3a53360cc6">mic.h</a>
+</li>
+<li>MICU_IsSampling()
+: <a class="el" href="mic_8h.html#a42078893931d09a8b27f3306c7f13a29">mic.h</a>
+</li>
+<li>MICU_MapSharedMem()
+: <a class="el" href="mic_8h.html#a3dd3e9152bbddcafe2babc371c210222">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_10910
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_16360
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_32730
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8">mic.h</a>
+</li>
+<li>MICU_SAMPLE_RATE_8180
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0">mic.h</a>
+</li>
+<li>MICU_SampleRate
+: <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">mic.h</a>
+</li>
+<li>MICU_SetAllowShellClosed()
+: <a class="el" href="mic_8h.html#a913ee846ab9633883625e6477ae10cdf">mic.h</a>
+</li>
+<li>MICU_SetClamp()
+: <a class="el" href="mic_8h.html#a0a156a0b69714f334c004c7137a7592c">mic.h</a>
+</li>
+<li>MICU_SetGain()
+: <a class="el" href="mic_8h.html#a0c29ffb2d0addbaca328d8aad082e3bf">mic.h</a>
+</li>
+<li>MICU_SetPower()
+: <a class="el" href="mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61">mic.h</a>
+</li>
+<li>MICU_StartSampling()
+: <a class="el" href="mic_8h.html#a79266af4aa50d790fba3680d423f6ff0">mic.h</a>
+</li>
+<li>MICU_StopSampling()
+: <a class="el" href="mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967">mic.h</a>
+</li>
+<li>MICU_UnmapSharedMem()
+: <a class="el" href="mic_8h.html#ab728c230d454422b4fdc119eec7f0510">mic.h</a>
</li>
<li>MVDMODE_COLORFORMATCONV
: <a class="el" href="mvd_8h.html#a7727fc7f0cd8323ea3441e3c2c6b1312a60d87a7f2151cd67f8b0710ec39f7583">mvd.h</a>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a21">audio/mic/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a5">mvd/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a25">audio/mic/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a5">mvd/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Gets keys that were just pressed. </p>
<p>Individual keys can be checked by ORing them with this value. </p><dl class="section return"><dt>Returns</dt><dd>Keys down. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a3">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a9">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a5">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a9">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a73">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a72">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a83">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a8">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a5">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a5">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a8">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a19">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a5">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a5">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a7">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a21">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a9">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a12">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a5">time/rtc/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="app_launch_2source_2main_8c-example.html#a3">app_launch/source/main.c</a>, <a class="el" href="audio_2mic_2source_2main_8c-example.html#a11">audio/mic/source/main.c</a>, <a class="el" href="get_system_language_2source_2main_8c-example.html#a5">get_system_language/source/main.c</a>, <a class="el" href="graphics_2bitmap_224bit-color_2source_2main_8c-example.html#a9">graphics/bitmap/24bit-color/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a73">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a72">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a83">graphics/gpu/textured_cube/source/main.c</a>, <a class="el" href="graphics_2printing_2both-screen-text_2source_2main_8c-example.html#a8">graphics/printing/both-screen-text/source/main.c</a>, <a class="el" href="graphics_2printing_2colored-text_2source_2main_8c-example.html#a5">graphics/printing/colored-text/source/main.c</a>, <a class="el" href="graphics_2printing_2hello-world_2source_2main_8c-example.html#a5">graphics/printing/hello-world/source/main.c</a>, <a class="el" href="graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html#a8">graphics/printing/multiple-windows-text/source/main.c</a>, <a class="el" href="http_2source_2main_8c-example.html#a19">http/source/main.c</a>, <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a5">input/read-controls/source/main.c</a>, <a class="el" href="input_2touch-screen_2source_2main_8c-example.html#a5">input/touch-screen/source/main.c</a>, <a class="el" href="libapplet_launch_2source_2main_8c-example.html#a7">libapplet_launch/source/main.c</a>, <a class="el" href="mvd_2source_2main_8c-example.html#a21">mvd/source/main.c</a>, <a class="el" href="qtm_2source_2main_8c-example.html#a9">qtm/source/main.c</a>, <a class="el" href="threads_2event_2source_2main_8c-example.html#a12">threads/event/source/main.c</a>, and <a class="el" href="time_2rtc_2source_2main_8c-example.html#a5">time/rtc/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Gets the currently held keys. </p>
<p>Individual keys can be checked by ORing them with this value. </p><dl class="section return"><dt>Returns</dt><dd>Keys held. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a18">audio/mic/source/main.c</a>, and <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a6">input/read-controls/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a21">audio/mic/source/main.c</a>, and <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a6">input/read-controls/source/main.c</a>.</dd>
</dl>
</div>
</div>
<p>Gets keys that were just released. </p>
<p>Individual keys can be checked by ORing them with this value. </p><dl class="section return"><dt>Returns</dt><dd>Keys up. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a20">audio/mic/source/main.c</a>, and <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a7">input/read-controls/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a23">audio/mic/source/main.c</a>, and <a class="el" href="input_2read-controls_2source_2main_8c-example.html#a7">input/read-controls/source/main.c</a>.</dd>
</dl>
</div>
</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The allocated buffer. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a4">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a2">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a2">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a2">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a18">mvd/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a7">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a2">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a2">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a2">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a18">mvd/source/main.c</a>.</dd>
</dl>
</div>
</div>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a29">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a5">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a5">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a5">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a23">mvd/source/main.c</a>.</dd>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a31">audio/mic/source/main.c</a>, <a class="el" href="graphics_2gpu_2geoshader_2source_2main_8c-example.html#a5">graphics/gpu/geoshader/source/main.c</a>, <a class="el" href="graphics_2gpu_2simple_tri_2source_2main_8c-example.html#a5">graphics/gpu/simple_tri/source/main.c</a>, <a class="el" href="graphics_2gpu_2textured_cube_2source_2main_8c-example.html#a5">graphics/gpu/textured_cube/source/main.c</a>, and <a class="el" href="mvd_2source_2main_8c-example.html#a23">mvd/source/main.c</a>.</dd>
</dl>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
+<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">mic.h File Reference</div> </div>
<p><a href="mic_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:a3ead458d1aabf74550446b463b4fb54f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">MICU_Encoding</a> { <br />
+  <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac">MICU_ENCODING_PCM8</a> = 0,
+<br />
+  <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2">MICU_ENCODING_PCM16</a> = 1,
+<br />
+  <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc">MICU_ENCODING_PCM8_SIGNED</a> = 2,
+<br />
+  <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92">MICU_ENCODING_PCM16_SIGNED</a> = 3
+<br />
+ }<tr class="memdesc:a3ead458d1aabf74550446b463b4fb54f"><td class="mdescLeft"> </td><td class="mdescRight">Microphone audio encodings. <a href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">More...</a><br /></td></tr>
+<tr class="separator:a3ead458d1aabf74550446b463b4fb54f"><td class="memSeparator" colspan="2"> </td></tr>
+</td></tr>
+<tr class="memitem:ae126d52922918356ed810bcc398ad62b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a> { <br />
+  <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8">MICU_SAMPLE_RATE_32730</a> = 0,
+<br />
+  <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf">MICU_SAMPLE_RATE_16360</a> = 1,
+<br />
+  <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130">MICU_SAMPLE_RATE_10910</a> = 2,
+<br />
+  <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0">MICU_SAMPLE_RATE_8180</a> = 3
+<br />
+ }<tr class="memdesc:ae126d52922918356ed810bcc398ad62b"><td class="mdescLeft"> </td><td class="mdescRight">Microphone audio sampling rates. <a href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">More...</a><br /></td></tr>
+<tr class="separator:ae126d52922918356ed810bcc398ad62b"><td class="memSeparator" colspan="2"> </td></tr>
+</td></tr>
+</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:a8908c82b113c8b5b5919794dacd8be1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a8908c82b113c8b5b5919794dacd8be1e">MIC_Initialize</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *sharedmem, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> sharedmem_size, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> control, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> recording, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk0, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk1, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk2)</td></tr>
-<tr class="memdesc:a8908c82b113c8b5b5919794dacd8be1e"><td class="mdescLeft"> </td><td class="mdescRight">Initializes MIC. <a href="#a8908c82b113c8b5b5919794dacd8be1e">More...</a><br /></td></tr>
-<tr class="separator:a8908c82b113c8b5b5919794dacd8be1e"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a2a5d33b949505aeebb3ecaff7366a924"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a5d33b949505aeebb3ecaff7366a924"></a>
-<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a2a5d33b949505aeebb3ecaff7366a924">MIC_Shutdown</a> (void)</td></tr>
-<tr class="memdesc:a2a5d33b949505aeebb3ecaff7366a924"><td class="mdescLeft"> </td><td class="mdescRight">Shuts down MIC. <br /></td></tr>
-<tr class="separator:a2a5d33b949505aeebb3ecaff7366a924"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a21f4144947e781941f8a045c5e6e2a6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a21f4144947e781941f8a045c5e6e2a6a">MIC_GetSharedMemOffsetValue</a> (void)</td></tr>
-<tr class="memdesc:a21f4144947e781941f8a045c5e6e2a6a"><td class="mdescLeft"> </td><td class="mdescRight">Gets the current shared memory offset. <a href="#a21f4144947e781941f8a045c5e6e2a6a">More...</a><br /></td></tr>
-<tr class="separator:a21f4144947e781941f8a045c5e6e2a6a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a71378ceca23876e1100ab66db04559f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a71378ceca23876e1100ab66db04559f4">MIC_ReadAudioData</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *outbuf, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> readsize, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> waitforevent)</td></tr>
-<tr class="memdesc:a71378ceca23876e1100ab66db04559f4"><td class="mdescLeft"> </td><td class="mdescRight">Reads MIC audio data. <a href="#a71378ceca23876e1100ab66db04559f4">More...</a><br /></td></tr>
-<tr class="separator:a71378ceca23876e1100ab66db04559f4"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a08092b087f0fac45b82dc5c667c55587"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a08092b087f0fac45b82dc5c667c55587">MIC_MapSharedMem</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size)</td></tr>
-<tr class="memdesc:a08092b087f0fac45b82dc5c667c55587"><td class="mdescLeft"> </td><td class="mdescRight">Maps MIC's shared memory. <a href="#a08092b087f0fac45b82dc5c667c55587">More...</a><br /></td></tr>
-<tr class="separator:a08092b087f0fac45b82dc5c667c55587"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ae0f008930602cd4c77a087cbb7acc419"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0f008930602cd4c77a087cbb7acc419"></a>
-<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#ae0f008930602cd4c77a087cbb7acc419">MIC_UnmapSharedMem</a> (void)</td></tr>
-<tr class="memdesc:ae0f008930602cd4c77a087cbb7acc419"><td class="mdescLeft"> </td><td class="mdescRight">Unmaps MIC's shardd memory. <br /></td></tr>
-<tr class="separator:ae0f008930602cd4c77a087cbb7acc419"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a8c15e18747d11a52bc4fd4d57a950972"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a8c15e18747d11a52bc4fd4d57a950972">MIC_cmd3_Initialize</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk0, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk1, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> sharedmem_baseoffset, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> sharedmem_endoffset, <a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk2)</td></tr>
-<tr class="memdesc:a8c15e18747d11a52bc4fd4d57a950972"><td class="mdescLeft"> </td><td class="mdescRight">Initializes MIC. <a href="#a8c15e18747d11a52bc4fd4d57a950972">More...</a><br /></td></tr>
-<tr class="separator:a8c15e18747d11a52bc4fd4d57a950972"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a4f241475a108114a4c68950ef028b660"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f241475a108114a4c68950ef028b660"></a>
-<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a4f241475a108114a4c68950ef028b660">MIC_cmd5</a> (void)</td></tr>
-<tr class="memdesc:a4f241475a108114a4c68950ef028b660"><td class="mdescLeft"> </td><td class="mdescRight">Unknown MIC command. <br /></td></tr>
-<tr class="separator:a4f241475a108114a4c68950ef028b660"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:aa0b51d426b389c1eac5b7ba3fcd00267"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#aa0b51d426b389c1eac5b7ba3fcd00267">MIC_GetCNTBit15</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *out)</td></tr>
-<tr class="memdesc:aa0b51d426b389c1eac5b7ba3fcd00267"><td class="mdescLeft"> </td><td class="mdescRight">Gets CNT bit 15 from MIC. <a href="#aa0b51d426b389c1eac5b7ba3fcd00267">More...</a><br /></td></tr>
-<tr class="separator:aa0b51d426b389c1eac5b7ba3fcd00267"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a3df6ac6a0e3b9493d3c2690c724f68c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a3df6ac6a0e3b9493d3c2690c724f68c6">MIC_GetEventHandle</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *handle)</td></tr>
-<tr class="memdesc:a3df6ac6a0e3b9493d3c2690c724f68c6"><td class="mdescLeft"> </td><td class="mdescRight">Gets the event handle signaled by MIC when data is ready. <a href="#a3df6ac6a0e3b9493d3c2690c724f68c6">More...</a><br /></td></tr>
-<tr class="separator:a3df6ac6a0e3b9493d3c2690c724f68c6"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a9e59c00cbb8bebd5434a7e84e32122e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a9e59c00cbb8bebd5434a7e84e32122e1">MIC_SetControl</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> value)</td></tr>
-<tr class="memdesc:a9e59c00cbb8bebd5434a7e84e32122e1"><td class="mdescLeft"> </td><td class="mdescRight">Sets the control value. <a href="#a9e59c00cbb8bebd5434a7e84e32122e1">More...</a><br /></td></tr>
-<tr class="separator:a9e59c00cbb8bebd5434a7e84e32122e1"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a848e6c2e944a6919febe75c52dbe1475"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a848e6c2e944a6919febe75c52dbe1475">MIC_GetControl</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *value)</td></tr>
-<tr class="memdesc:a848e6c2e944a6919febe75c52dbe1475"><td class="mdescLeft"> </td><td class="mdescRight">Gets the control value. <a href="#a848e6c2e944a6919febe75c52dbe1475">More...</a><br /></td></tr>
-<tr class="separator:a848e6c2e944a6919febe75c52dbe1475"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ad1cb3af8851f2502d3b244d4635991cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#ad1cb3af8851f2502d3b244d4635991cd">MIC_SetRecording</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> value)</td></tr>
-<tr class="memdesc:ad1cb3af8851f2502d3b244d4635991cd"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether the microphone is recording. <a href="#ad1cb3af8851f2502d3b244d4635991cd">More...</a><br /></td></tr>
-<tr class="separator:ad1cb3af8851f2502d3b244d4635991cd"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a54a77ba7353b089d4f84769fff987c8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a54a77ba7353b089d4f84769fff987c8e">MIC_IsRecoding</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *value)</td></tr>
-<tr class="memdesc:a54a77ba7353b089d4f84769fff987c8e"><td class="mdescLeft"> </td><td class="mdescRight">Gets whether the microphone is recording. <a href="#a54a77ba7353b089d4f84769fff987c8e">More...</a><br /></td></tr>
-<tr class="separator:a54a77ba7353b089d4f84769fff987c8e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a01ab8a1440cd4d38855336e47e5ae380"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380">micInit</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *buffer, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> bufferSize)</td></tr>
+<tr class="memdesc:a01ab8a1440cd4d38855336e47e5ae380"><td class="mdescLeft"> </td><td class="mdescRight">Initializes MIC. <a href="#a01ab8a1440cd4d38855336e47e5ae380">More...</a><br /></td></tr>
+<tr class="separator:a01ab8a1440cd4d38855336e47e5ae380"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5de3831a1aa13b444a812ebfef218361"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5de3831a1aa13b444a812ebfef218361"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a5de3831a1aa13b444a812ebfef218361">micExit</a> (void)</td></tr>
+<tr class="memdesc:a5de3831a1aa13b444a812ebfef218361"><td class="mdescLeft"> </td><td class="mdescRight">Exits MIC. <br /></td></tr>
+<tr class="separator:a5de3831a1aa13b444a812ebfef218361"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a09361b33179e9ca5fd099161cf25d70a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a09361b33179e9ca5fd099161cf25d70a">micGetSampleDataSize</a> (void)</td></tr>
+<tr class="memdesc:a09361b33179e9ca5fd099161cf25d70a"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size of the sample data area within the shared memory buffer. <a href="#a09361b33179e9ca5fd099161cf25d70a">More...</a><br /></td></tr>
+<tr class="separator:a09361b33179e9ca5fd099161cf25d70a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa2590afec7ac205e877ab94c9203a4c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9">micGetLastSampleOffset</a> (void)</td></tr>
+<tr class="memdesc:aa2590afec7ac205e877ab94c9203a4c9"><td class="mdescLeft"> </td><td class="mdescRight">Gets the offset within the shared memory buffer of the last sample written. <a href="#aa2590afec7ac205e877ab94c9203a4c9">More...</a><br /></td></tr>
+<tr class="separator:aa2590afec7ac205e877ab94c9203a4c9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3dd3e9152bbddcafe2babc371c210222"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a3dd3e9152bbddcafe2babc371c210222">MICU_MapSharedMem</a> (<a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle)</td></tr>
+<tr class="memdesc:a3dd3e9152bbddcafe2babc371c210222"><td class="mdescLeft"> </td><td class="mdescRight">Maps MIC shared memory. <a href="#a3dd3e9152bbddcafe2babc371c210222">More...</a><br /></td></tr>
+<tr class="separator:a3dd3e9152bbddcafe2babc371c210222"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab728c230d454422b4fdc119eec7f0510"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab728c230d454422b4fdc119eec7f0510"></a>
+<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#ab728c230d454422b4fdc119eec7f0510">MICU_UnmapSharedMem</a> (void)</td></tr>
+<tr class="memdesc:ab728c230d454422b4fdc119eec7f0510"><td class="mdescLeft"> </td><td class="mdescRight">Unmaps MIC shared memory. <br /></td></tr>
+<tr class="separator:ab728c230d454422b4fdc119eec7f0510"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a79266af4aa50d790fba3680d423f6ff0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a79266af4aa50d790fba3680d423f6ff0">MICU_StartSampling</a> (<a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">MICU_Encoding</a> encoding, <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a> sampleRate, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> offset, <a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, bool loop)</td></tr>
+<tr class="memdesc:a79266af4aa50d790fba3680d423f6ff0"><td class="mdescLeft"> </td><td class="mdescRight">Begins sampling microphone input. <a href="#a79266af4aa50d790fba3680d423f6ff0">More...</a><br /></td></tr>
+<tr class="separator:a79266af4aa50d790fba3680d423f6ff0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afdc168c4f160192b7b3b04e49d15ec86"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#afdc168c4f160192b7b3b04e49d15ec86">MICU_AdjustSampling</a> (<a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a> sampleRate)</td></tr>
+<tr class="memdesc:afdc168c4f160192b7b3b04e49d15ec86"><td class="mdescLeft"> </td><td class="mdescRight">Adjusts the configuration of the current sampling session. <a href="#afdc168c4f160192b7b3b04e49d15ec86">More...</a><br /></td></tr>
+<tr class="separator:afdc168c4f160192b7b3b04e49d15ec86"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7ea7f514ee9e50db3bc49bd3106fa967"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ea7f514ee9e50db3bc49bd3106fa967"></a>
+<a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967">MICU_StopSampling</a> (void)</td></tr>
+<tr class="memdesc:a7ea7f514ee9e50db3bc49bd3106fa967"><td class="mdescLeft"> </td><td class="mdescRight">Stops sampling microphone input. <br /></td></tr>
+<tr class="separator:a7ea7f514ee9e50db3bc49bd3106fa967"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a42078893931d09a8b27f3306c7f13a29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a42078893931d09a8b27f3306c7f13a29">MICU_IsSampling</a> (bool *sampling)</td></tr>
+<tr class="memdesc:a42078893931d09a8b27f3306c7f13a29"><td class="mdescLeft"> </td><td class="mdescRight">Gets whether microphone input is currently being sampled. <a href="#a42078893931d09a8b27f3306c7f13a29">More...</a><br /></td></tr>
+<tr class="separator:a42078893931d09a8b27f3306c7f13a29"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8f17c21f1420682eb699cf39adf537b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a8f17c21f1420682eb699cf39adf537b2">MICU_GetEventHandle</a> (<a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *handle)</td></tr>
+<tr class="memdesc:a8f17c21f1420682eb699cf39adf537b2"><td class="mdescLeft"> </td><td class="mdescRight">Gets an event handle triggered when the shared memory buffer is full. <a href="#a8f17c21f1420682eb699cf39adf537b2">More...</a><br /></td></tr>
+<tr class="separator:a8f17c21f1420682eb699cf39adf537b2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0c29ffb2d0addbaca328d8aad082e3bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a0c29ffb2d0addbaca328d8aad082e3bf">MICU_SetGain</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> gain)</td></tr>
+<tr class="memdesc:a0c29ffb2d0addbaca328d8aad082e3bf"><td class="mdescLeft"> </td><td class="mdescRight">Sets the microphone's gain. <a href="#a0c29ffb2d0addbaca328d8aad082e3bf">More...</a><br /></td></tr>
+<tr class="separator:a0c29ffb2d0addbaca328d8aad082e3bf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:add912c11a5b5ff8dabe224e2f380be9b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#add912c11a5b5ff8dabe224e2f380be9b">MICU_GetGain</a> (<a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *gain)</td></tr>
+<tr class="memdesc:add912c11a5b5ff8dabe224e2f380be9b"><td class="mdescLeft"> </td><td class="mdescRight">Gets the microphone's gain. <a href="#add912c11a5b5ff8dabe224e2f380be9b">More...</a><br /></td></tr>
+<tr class="separator:add912c11a5b5ff8dabe224e2f380be9b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3a26bd2ff5eeaaf538df29230b3fda61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61">MICU_SetPower</a> (bool power)</td></tr>
+<tr class="memdesc:a3a26bd2ff5eeaaf538df29230b3fda61"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether the microphone is powered on. <a href="#a3a26bd2ff5eeaaf538df29230b3fda61">More...</a><br /></td></tr>
+<tr class="separator:a3a26bd2ff5eeaaf538df29230b3fda61"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a38f4599e0d974a89a4448b3a53360cc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a38f4599e0d974a89a4448b3a53360cc6">MICU_GetPower</a> (bool *power)</td></tr>
+<tr class="memdesc:a38f4599e0d974a89a4448b3a53360cc6"><td class="mdescLeft"> </td><td class="mdescRight">Gets whether the microphone is powered on. <a href="#a38f4599e0d974a89a4448b3a53360cc6">More...</a><br /></td></tr>
+<tr class="separator:a38f4599e0d974a89a4448b3a53360cc6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0a156a0b69714f334c004c7137a7592c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a0a156a0b69714f334c004c7137a7592c">MICU_SetClamp</a> (bool clamp)</td></tr>
+<tr class="memdesc:a0a156a0b69714f334c004c7137a7592c"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether to clamp microphone input. <a href="#a0a156a0b69714f334c004c7137a7592c">More...</a><br /></td></tr>
+<tr class="separator:a0a156a0b69714f334c004c7137a7592c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aed8b72fbff68362b9c6a047a0b0c7307"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#aed8b72fbff68362b9c6a047a0b0c7307">MICU_GetClamp</a> (bool *clamp)</td></tr>
+<tr class="memdesc:aed8b72fbff68362b9c6a047a0b0c7307"><td class="mdescLeft"> </td><td class="mdescRight">Gets whether to clamp microphone input. <a href="#aed8b72fbff68362b9c6a047a0b0c7307">More...</a><br /></td></tr>
+<tr class="separator:aed8b72fbff68362b9c6a047a0b0c7307"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a913ee846ab9633883625e6477ae10cdf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mic_8h.html#a913ee846ab9633883625e6477ae10cdf">MICU_SetAllowShellClosed</a> (bool allowShellClosed)</td></tr>
+<tr class="memdesc:a913ee846ab9633883625e6477ae10cdf"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether to allow sampling when the shell is closed. <a href="#a913ee846ab9633883625e6477ae10cdf">More...</a><br /></td></tr>
+<tr class="separator:a913ee846ab9633883625e6477ae10cdf"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>MIC (Microphone) service. </p>
-</div><h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="a8c15e18747d11a52bc4fd4d57a950972"></a>
+</div><h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="a3ead458d1aabf74550446b463b4fb54f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_cmd3_Initialize </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>unk0</em>, </td>
+ <td class="memname">enum <a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">MICU_Encoding</a></td>
</tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Microphone audio encodings. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac"></a>MICU_ENCODING_PCM8 </td><td class="fielddoc">
+<p>Unsigned 8-bit PCM. </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2"></a>MICU_ENCODING_PCM16 </td><td class="fielddoc">
+<p>Unsigned 16-bit PCM. </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc"></a>MICU_ENCODING_PCM8_SIGNED </td><td class="fielddoc">
+<p>Signed 8-bit PCM. </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92"></a>MICU_ENCODING_PCM16_SIGNED </td><td class="fielddoc">
+<p>Signed 16-bit PCM. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="ae126d52922918356ed810bcc398ad62b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>unk1</em>, </td>
+ <td class="memname">enum <a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a></td>
</tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Microphone audio sampling rates. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8"></a>MICU_SAMPLE_RATE_32730 </td><td class="fielddoc">
+<p>32730 Hz </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf"></a>MICU_SAMPLE_RATE_16360 </td><td class="fielddoc">
+<p>16360 Hz </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130"></a>MICU_SAMPLE_RATE_10910 </td><td class="fielddoc">
+<p>10910 Hz </p>
+</td></tr>
+<tr><td class="fieldname"><a class="anchor" id="ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0"></a>MICU_SAMPLE_RATE_8180 </td><td class="fielddoc">
+<p>8180 Hz </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa2590afec7ac205e877ab94c9203a4c9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="paramkey"></td>
+ <td class="memname"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> micGetLastSampleOffset </td>
+ <td>(</td>
+ <td class="paramtype">void </td>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
- <td class="paramname"><em>sharedmem_baseoffset</em>, </td>
</tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Gets the offset within the shared memory buffer of the last sample written. </p>
+<dl class="section return"><dt>Returns</dt><dd>The last sample's offset. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a22">audio/mic/source/main.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a09361b33179e9ca5fd099161cf25d70a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="paramkey"></td>
+ <td class="memname"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> micGetSampleDataSize </td>
+ <td>(</td>
+ <td class="paramtype">void </td>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
- <td class="paramname"><em>sharedmem_endoffset</em>, </td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Gets the size of the sample data area within the shared memory buffer. </p>
+<dl class="section return"><dt>Returns</dt><dd>The sample data's size. </dd></dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a6">audio/mic/source/main.c</a>.</dd>
+</dl>
+</div>
+</div>
+<a class="anchor" id="a01ab8a1440cd4d38855336e47e5ae380"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> micInit </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> * </td>
+ <td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>unk2</em> </td>
+ <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
+ <td class="paramname"><em>bufferSize</em> </td>
</tr>
<tr>
<td></td>
<p>Initializes MIC. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">unk0</td><td>Unknown. </td></tr>
- <tr><td class="paramname">unk1</td><td>Unknown. </td></tr>
- <tr><td class="paramname">sharedmem_baseoffset</td><td>Base offset of shared memory. </td></tr>
- <tr><td class="paramname">sharedmem_endoffset</td><td>End offset of shared memory. </td></tr>
- <tr><td class="paramname">unk2</td><td>Unknown. </td></tr>
+ <tr><td class="paramname">size</td><td>Shared memory buffer to write audio data to. Must be aligned to 0x1000 bytes. </td></tr>
+ <tr><td class="paramname">handle</td><td>Size of the shared memory buffer. </td></tr>
</table>
</dd>
</dl>
-
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a5">audio/mic/source/main.c</a>.</dd>
+</dl>
</div>
</div>
-<a class="anchor" id="aa0b51d426b389c1eac5b7ba3fcd00267"></a>
+<a class="anchor" id="afdc168c4f160192b7b3b04e49d15ec86"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_GetCNTBit15 </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_AdjustSampling </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> * </td>
- <td class="paramname"><em>out</em></td><td>)</td>
+ <td class="paramtype"><a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a> </td>
+ <td class="paramname"><em>sampleRate</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Gets CNT bit 15 from MIC. </p>
+<p>Adjusts the configuration of the current sampling session. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">out</td><td>Pointer to output the bit to. </td></tr>
+ <tr><td class="paramname">sampleRate</td><td>Sample rate of outputted audio. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
-<a class="anchor" id="a848e6c2e944a6919febe75c52dbe1475"></a>
+<a class="anchor" id="aed8b72fbff68362b9c6a047a0b0c7307"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_GetControl </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_GetClamp </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> * </td>
- <td class="paramname"><em>value</em></td><td>)</td>
+ <td class="paramtype">bool * </td>
+ <td class="paramname"><em>clamp</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Gets the control value. </p>
-<dl class="section note"><dt>Note</dt><dd>Bits 0-6 = Amplification. </dd></dl>
+<p>Gets whether to clamp microphone input. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">value</td><td>Pointer to output the control value to. </td></tr>
+ <tr><td class="paramname">clamp</td><td>Pointer to output the clamp state to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
-<a class="anchor" id="a3df6ac6a0e3b9493d3c2690c724f68c6"></a>
+<a class="anchor" id="a8f17c21f1420682eb699cf39adf537b2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_GetEventHandle </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_GetEventHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> * </td>
<td class="paramname"><em>handle</em></td><td>)</td>
</table>
</div><div class="memdoc">
-<p>Gets the event handle signaled by MIC when data is ready. </p>
+<p>Gets an event handle triggered when the shared memory buffer is full. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to output the event handle to. </td></tr>
</div>
</div>
-<a class="anchor" id="a21f4144947e781941f8a045c5e6e2a6a"></a>
+<a class="anchor" id="add912c11a5b5ff8dabe224e2f380be9b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> MIC_GetSharedMemOffsetValue </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_GetGain </td>
<td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
+ <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> * </td>
+ <td class="paramname"><em>gain</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Gets the current shared memory offset. </p>
-<dl class="section return"><dt>Returns</dt><dd>The current shared memory offset. </dd></dl>
+<p>Gets the microphone's gain. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">gain</td><td>Pointer to output the current gain to. </td></tr>
+ </table>
+ </dd>
+</dl>
</div>
</div>
-<a class="anchor" id="a8908c82b113c8b5b5919794dacd8be1e"></a>
+<a class="anchor" id="a38f4599e0d974a89a4448b3a53360cc6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_Initialize </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_GetPower </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> * </td>
- <td class="paramname"><em>sharedmem</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
- <td class="paramname"><em>sharedmem_size</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
+ <td class="paramtype">bool * </td>
+ <td class="paramname"><em>power</em></td><td>)</td>
<td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>control</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>recording</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>unk0</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>unk1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>unk2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Initializes MIC. </p>
+<p>Gets whether the microphone is powered on. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">sharedmem</td><td>Shared memory block to use. Must be 0x1000-bytes aligned. </td></tr>
- <tr><td class="paramname">sharedmem_size</td><td>Size of the shared memory block to use. (audiodata size + 4, aligned to 0x1000-bytes) </td></tr>
- <tr><td class="paramname">control</td><td>Control value. Bits 0-6 = Amplification. </td></tr>
- <tr><td class="paramname">unk0</td><td>Unknown. Typically 3. </td></tr>
- <tr><td class="paramname">unk1</td><td>Unknown. Typically 1. </td></tr>
- <tr><td class="paramname">unk2</td><td>Unknown. Typically 1. </td></tr>
+ <tr><td class="paramname">power</td><td>Pointer to output the power state to. </td></tr>
</table>
</dd>
</dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a5">audio/mic/source/main.c</a>.</dd>
-</dl>
+
</div>
</div>
-<a class="anchor" id="a54a77ba7353b089d4f84769fff987c8e"></a>
+<a class="anchor" id="a42078893931d09a8b27f3306c7f13a29"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_IsRecoding </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_IsSampling </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> * </td>
- <td class="paramname"><em>value</em></td><td>)</td>
+ <td class="paramtype">bool * </td>
+ <td class="paramname"><em>sampling</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Gets whether the microphone is recording. </p>
+<p>Gets whether microphone input is currently being sampled. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">value</td><td>Pointer to output whether the microphone is recording to. </td></tr>
+ <tr><td class="paramname">sampling</td><td>Pointer to output the sampling state to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
-<a class="anchor" id="a08092b087f0fac45b82dc5c667c55587"></a>
+<a class="anchor" id="a3dd3e9152bbddcafe2babc371c210222"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_MapSharedMem </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_MapSharedMem </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> </td>
- <td class="paramname"><em>handle</em>, </td>
+ <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
+ <td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
- <td class="paramname"><em>size</em> </td>
+ <td class="paramtype"><a class="el" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> </td>
+ <td class="paramname"><em>handle</em> </td>
</tr>
<tr>
<td></td>
</table>
</div><div class="memdoc">
-<p>Maps MIC's shared memory. </p>
+<p>Maps MIC shared memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">handle</td><td>Handle of the shared memory. </td></tr>
<tr><td class="paramname">size</td><td>Size of the shared memory. </td></tr>
+ <tr><td class="paramname">handle</td><td>Handle of the shared memory. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
-<a class="anchor" id="a71378ceca23876e1100ab66db04559f4"></a>
+<a class="anchor" id="a913ee846ab9633883625e6477ae10cdf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> MIC_ReadAudioData </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_SetAllowShellClosed </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> * </td>
- <td class="paramname"><em>outbuf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
- <td class="paramname"><em>readsize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>allowShellClosed</em></td><td>)</td>
<td></td>
- <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
- <td class="paramname"><em>waitforevent</em> </td>
</tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Sets whether to allow sampling when the shell is closed. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">allowShellClosed</td><td>Whether to allow sampling when the shell is closed. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0a156a0b69714f334c004c7137a7592c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_SetClamp </td>
+ <td>(</td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>clamp</em></td><td>)</td>
<td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Reads MIC audio data. </p>
+<p>Sets whether to clamp microphone input. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">outbuf</td><td>Buffer to write audio data to. </td></tr>
- <tr><td class="paramname">readsize</td><td>Size of the buffer to write to. </td></tr>
- <tr><td class="paramname">waitforevent</td><td>Whether to wait for the MIC service to signal that audio data is ready. (non-zero = wait) </td></tr>
+ <tr><td class="paramname">clamp</td><td>Whether to clamp microphone input. </td></tr>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>Actual number of bytes read. </dd></dl>
-<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a19">audio/mic/source/main.c</a>.</dd>
-</dl>
+
</div>
</div>
-<a class="anchor" id="a9e59c00cbb8bebd5434a7e84e32122e1"></a>
+<a class="anchor" id="a0c29ffb2d0addbaca328d8aad082e3bf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_SetControl </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_SetGain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>value</em></td><td>)</td>
+ <td class="paramname"><em>gain</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Sets the control value. </p>
-<dl class="section note"><dt>Note</dt><dd>Bits 0-6 = Amplification. </dd></dl>
+<p>Sets the microphone's gain. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">value</td><td>Control value to set. </td></tr>
+ <tr><td class="paramname">gain</td><td>Gain to set. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
-<a class="anchor" id="ad1cb3af8851f2502d3b244d4635991cd"></a>
+<a class="anchor" id="a3a26bd2ff5eeaaf538df29230b3fda61"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MIC_SetRecording </td>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_SetPower </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> </td>
- <td class="paramname"><em>value</em></td><td>)</td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>power</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Sets whether the microphone is recording. </p>
+<p>Sets whether the microphone is powered on. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">value</td><td>Whether the microphone is recording. </td></tr>
+ <tr><td class="paramname">power</td><td>Whether the microphone is powered on. </td></tr>
</table>
</dd>
</dl>
</dl>
</div>
</div>
+<a class="anchor" id="a79266af4aa50d790fba3680d423f6ff0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> MICU_StartSampling </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">MICU_Encoding</a> </td>
+ <td class="paramname"><em>encoding</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a> </td>
+ <td class="paramname"><em>sampleRate</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
+ <td class="paramname"><em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> </td>
+ <td class="paramname"><em>size</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">bool </td>
+ <td class="paramname"><em>loop</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Begins sampling microphone input. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">encoding</td><td>Encoding of outputted audio. </td></tr>
+ <tr><td class="paramname">sampleRate</td><td>Sample rate of outputted audio. </td></tr>
+ <tr><td class="paramname">sharedMemAudioOffset</td><td>Offset to write audio data to in the shared memory buffer. </td></tr>
+ <tr><td class="paramname">sharedMemAudioSize</td><td>Size of audio data to write to the shared memory buffer. This should be at most "bufferSize - 4". </td></tr>
+ <tr><td class="paramname">loop</td><td>Whether to loop back to the beginning of the buffer when the end is reached. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Examples: </b></dt><dd><a class="el" href="audio_2mic_2source_2main_8c-example.html#a18">audio/mic/source/main.c</a>.</dd>
+</dl>
+</div>
+</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * @brief MIC (Microphone) service.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#pragma once</span></div>
-<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div>
-<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//See also: http://3dbrew.org/wiki/MIC_Services</span></div>
-<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"></span></div>
-<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * @brief Initializes MIC.</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * @param sharedmem Shared memory block to use. Must be 0x1000-bytes aligned.</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * @param sharedmem_size Size of the shared memory block to use. (audiodata size + 4, aligned to 0x1000-bytes)</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * @param control Control value. Bits 0-6 = Amplification.</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * @param unk0 Unknown. Typically 3.</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * @param unk1 Unknown. Typically 1.</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * @param unk2 Unknown. Typically 1.</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a8908c82b113c8b5b5919794dacd8be1e">MIC_Initialize</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> *sharedmem, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> sharedmem_size, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> control, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> recording, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk0, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk1, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk2);</div>
-<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"></span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">/// Shuts down MIC.</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a2a5d33b949505aeebb3ecaff7366a924">MIC_Shutdown</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"></span></div>
-<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * @brief Gets the current shared memory offset.</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * @return The current shared memory offset.</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="mic_8h.html#a21f4144947e781941f8a045c5e6e2a6a">MIC_GetSharedMemOffsetValue</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * @brief Reads MIC audio data.</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * @param outbuf Buffer to write audio data to.</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> * @param readsize Size of the buffer to write to.</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"> * @param waitforevent Whether to wait for the MIC service to signal that audio data is ready. (non-zero = wait)</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"> * @return Actual number of bytes read.</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="mic_8h.html#a71378ceca23876e1100ab66db04559f4">MIC_ReadAudioData</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *outbuf, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> readsize, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> waitforevent);</div>
-<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"></span></div>
-<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> * @brief Maps MIC's shared memory.</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * @param handle Handle of the shared memory.</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> * @param size Size of the shared memory.</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a08092b087f0fac45b82dc5c667c55587">MIC_MapSharedMem</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size);</div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"></span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">/// Unmaps MIC's shardd memory.</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#ae0f008930602cd4c77a087cbb7acc419">MIC_UnmapSharedMem</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"></span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> * @brief Initializes MIC.</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * @param unk0 Unknown.</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> * @param unk1 Unknown.</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> * @param sharedmem_baseoffset Base offset of shared memory.</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> * @param sharedmem_endoffset End offset of shared memory.</span></div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> * @param unk2 Unknown.</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a8c15e18747d11a52bc4fd4d57a950972">MIC_cmd3_Initialize</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk0, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk1, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> sharedmem_baseoffset, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> sharedmem_endoffset, <a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> unk2);</div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"></span></div>
-<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/// Unknown MIC command.</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a4f241475a108114a4c68950ef028b660">MIC_cmd5</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * @brief Gets CNT bit 15 from MIC.</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> * @param out Pointer to output the bit to.</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"></span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">/// Microphone audio encodings.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f"> 8</a></span> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> {</div>
+<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac"> 10</a></span>  <a class="code" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac">MICU_ENCODING_PCM8</a> = 0, <span class="comment">///< Unsigned 8-bit PCM.</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2"> 11</a></span> <span class="comment"></span> <a class="code" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2">MICU_ENCODING_PCM16</a> = 1, <span class="comment">///< Unsigned 16-bit PCM.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc"> 12</a></span> <span class="comment"></span> <a class="code" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc">MICU_ENCODING_PCM8_SIGNED</a> = 2, <span class="comment">///< Signed 8-bit PCM.</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92"> 13</a></span> <span class="comment"></span> <a class="code" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92">MICU_ENCODING_PCM16_SIGNED</a> = 3, <span class="comment">///< Signed 16-bit PCM.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"></span>} <a class="code" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">MICU_Encoding</a>;</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"></span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">/// Microphone audio sampling rates.</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b"> 17</a></span> <span class="comment"></span><span class="keyword">typedef</span> <span class="keyword">enum</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> {</div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8"> 19</a></span>  <a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8">MICU_SAMPLE_RATE_32730</a> = 0, <span class="comment">///< 32730 Hz</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf"> 20</a></span> <span class="comment"></span> <a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf">MICU_SAMPLE_RATE_16360</a> = 1, <span class="comment">///< 16360 Hz</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130"> 21</a></span> <span class="comment"></span> <a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130">MICU_SAMPLE_RATE_10910</a> = 2, <span class="comment">///< 10910 Hz</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0"> 22</a></span> <span class="comment"></span> <a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0">MICU_SAMPLE_RATE_8180</a> = 3, <span class="comment">///< 8180 Hz</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"></span>} <a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a>;</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * @brief Initializes MIC.</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * @param size Shared memory buffer to write audio data to. Must be aligned to 0x1000 bytes.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * @param handle Size of the shared memory buffer.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380">micInit</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* buffer, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> bufferSize);</div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/// Exits MIC.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="mic_8h.html#a5de3831a1aa13b444a812ebfef218361">micExit</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment"></span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment"> * @brief Gets the size of the sample data area within the shared memory buffer.</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment"> * @return The sample data's size.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="mic_8h.html#a09361b33179e9ca5fd099161cf25d70a">micGetSampleDataSize</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"></span></div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * @brief Gets the offset within the shared memory buffer of the last sample written.</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment"> * @return The last sample's offset.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> <a class="code" href="mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9">micGetLastSampleOffset</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"></span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> * @brief Maps MIC shared memory.</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"> * @param size Size of the shared memory.</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> * @param handle Handle of the shared memory.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a3dd3e9152bbddcafe2babc371c210222">MICU_MapSharedMem</a>(<a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> handle);</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"></span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/// Unmaps MIC shared memory.</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#ab728c230d454422b4fdc119eec7f0510">MICU_UnmapSharedMem</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"></span></div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> * @brief Begins sampling microphone input.</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * @param encoding Encoding of outputted audio.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> * @param sampleRate Sample rate of outputted audio.</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * @param sharedMemAudioOffset Offset to write audio data to in the shared memory buffer.</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> * @param sharedMemAudioSize Size of audio data to write to the shared memory buffer. This should be at most "bufferSize - 4".</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment"> * @param loop Whether to loop back to the beginning of the buffer when the end is reached.</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#aa0b51d426b389c1eac5b7ba3fcd00267">MIC_GetCNTBit15</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *out);</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a79266af4aa50d790fba3680d423f6ff0">MICU_StartSampling</a>(<a class="code" href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">MICU_Encoding</a> encoding, <a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a> sampleRate, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> offset, <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> size, <span class="keywordtype">bool</span> loop);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"></span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * @brief Gets the event handle signaled by MIC when data is ready.</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * @param handle Pointer to output the event handle to.</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * @brief Adjusts the configuration of the current sampling session.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * @param sampleRate Sample rate of outputted audio.</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a3df6ac6a0e3b9493d3c2690c724f68c6">MIC_GetEventHandle</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a> *handle);</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#afdc168c4f160192b7b3b04e49d15ec86">MICU_AdjustSampling</a>(<a class="code" href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a> sampleRate);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"></span></div>
-<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> * Sets the control value.</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> * @note Bits 0-6 = Amplification.</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> * @param value Control value to set.</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a9e59c00cbb8bebd5434a7e84e32122e1">MIC_SetControl</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> value);</div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"></span></div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"> * Gets the control value.</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> * @note Bits 0-6 = Amplification.</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * @param value Pointer to output the control value to.</span></div>
-<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a848e6c2e944a6919febe75c52dbe1475">MIC_GetControl</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *value);</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"></span></div>
-<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> * Sets whether the microphone is recording.</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> * @param value Whether the microphone is recording.</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#ad1cb3af8851f2502d3b244d4635991cd">MIC_SetRecording</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> value);</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"></span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">/**</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> * Gets whether the microphone is recording.</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> * @param value Pointer to output whether the microphone is recording to.</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a54a77ba7353b089d4f84769fff987c8e">MIC_IsRecoding</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> *value);</div>
-<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
-<div class="ttc" id="mic_8h_html_aa0b51d426b389c1eac5b7ba3fcd00267"><div class="ttname"><a href="mic_8h.html#aa0b51d426b389c1eac5b7ba3fcd00267">MIC_GetCNTBit15</a></div><div class="ttdeci">Result MIC_GetCNTBit15(u8 *out)</div><div class="ttdoc">Gets CNT bit 15 from MIC. </div></div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/// Stops sampling microphone input.</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span><a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967">MICU_StopSampling</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"></span></div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> * @brief Gets whether microphone input is currently being sampled.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> * @param sampling Pointer to output the sampling state to.</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a42078893931d09a8b27f3306c7f13a29">MICU_IsSampling</a>(<span class="keywordtype">bool</span>* sampling);</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment"></span></div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> * @brief Gets an event handle triggered when the shared memory buffer is full.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> * @param handle Pointer to output the event handle to.</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a8f17c21f1420682eb699cf39adf537b2">MICU_GetEventHandle</a>(<a class="code" href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a>* handle);</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment"></span></div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> * @brief Sets the microphone's gain.</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> * @param gain Gain to set.</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a0c29ffb2d0addbaca328d8aad082e3bf">MICU_SetGain</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a> gain);</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"></span></div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> * @brief Gets the microphone's gain.</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> * @param gain Pointer to output the current gain to.</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#add912c11a5b5ff8dabe224e2f380be9b">MICU_GetGain</a>(<a class="code" href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a>* gain);</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"></span></div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> * @brief Sets whether the microphone is powered on.</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> * @param power Whether the microphone is powered on.</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61">MICU_SetPower</a>(<span class="keywordtype">bool</span> power);</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> * @brief Gets whether the microphone is powered on.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> * @param power Pointer to output the power state to.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a38f4599e0d974a89a4448b3a53360cc6">MICU_GetPower</a>(<span class="keywordtype">bool</span>* power);</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment"></span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> * @brief Sets whether to clamp microphone input.</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> * @param clamp Whether to clamp microphone input.</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a0a156a0b69714f334c004c7137a7592c">MICU_SetClamp</a>(<span class="keywordtype">bool</span> clamp);</div>
+<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> * @brief Gets whether to clamp microphone input.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> * @param clamp Pointer to output the clamp state to.</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#aed8b72fbff68362b9c6a047a0b0c7307">MICU_GetClamp</a>(<span class="keywordtype">bool</span>* clamp);</div>
+<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment">/**</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> * @brief Sets whether to allow sampling when the shell is closed.</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> * @param allowShellClosed Whether to allow sampling when the shell is closed.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <a class="code" href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a> <a class="code" href="mic_8h.html#a913ee846ab9633883625e6477ae10cdf">MICU_SetAllowShellClosed</a>(<span class="keywordtype">bool</span> allowShellClosed);</div>
+<div class="ttc" id="mic_8h_html_a38f4599e0d974a89a4448b3a53360cc6"><div class="ttname"><a href="mic_8h.html#a38f4599e0d974a89a4448b3a53360cc6">MICU_GetPower</a></div><div class="ttdeci">Result MICU_GetPower(bool *power)</div><div class="ttdoc">Gets whether the microphone is powered on. </div></div>
+<div class="ttc" id="mic_8h_html_ae126d52922918356ed810bcc398ad62b"><div class="ttname"><a href="mic_8h.html#ae126d52922918356ed810bcc398ad62b">MICU_SampleRate</a></div><div class="ttdeci">MICU_SampleRate</div><div class="ttdoc">Microphone audio sampling rates. </div><div class="ttdef"><b>Definition:</b> mic.h:17</div></div>
+<div class="ttc" id="mic_8h_html_a01ab8a1440cd4d38855336e47e5ae380"><div class="ttname"><a href="mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380">micInit</a></div><div class="ttdeci">Result micInit(u8 *buffer, u32 bufferSize)</div><div class="ttdoc">Initializes MIC. </div></div>
<div class="ttc" id="types_8h_html_ac830bf5a4f2cf8273f61ab99a46cf163"><div class="ttname"><a href="types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163">Result</a></div><div class="ttdeci">s32 Result</div><div class="ttdoc">Function result. </div><div class="ttdef"><b>Definition:</b> types.h:43</div></div>
-<div class="ttc" id="mic_8h_html_a4f241475a108114a4c68950ef028b660"><div class="ttname"><a href="mic_8h.html#a4f241475a108114a4c68950ef028b660">MIC_cmd5</a></div><div class="ttdeci">Result MIC_cmd5(void)</div><div class="ttdoc">Unknown MIC command. </div></div>
-<div class="ttc" id="mic_8h_html_a3df6ac6a0e3b9493d3c2690c724f68c6"><div class="ttname"><a href="mic_8h.html#a3df6ac6a0e3b9493d3c2690c724f68c6">MIC_GetEventHandle</a></div><div class="ttdeci">Result MIC_GetEventHandle(Handle *handle)</div><div class="ttdoc">Gets the event handle signaled by MIC when data is ready. </div></div>
+<div class="ttc" id="mic_8h_html_a79266af4aa50d790fba3680d423f6ff0"><div class="ttname"><a href="mic_8h.html#a79266af4aa50d790fba3680d423f6ff0">MICU_StartSampling</a></div><div class="ttdeci">Result MICU_StartSampling(MICU_Encoding encoding, MICU_SampleRate sampleRate, u32 offset, u32 size, bool loop)</div><div class="ttdoc">Begins sampling microphone input. </div></div>
+<div class="ttc" id="mic_8h_html_a09361b33179e9ca5fd099161cf25d70a"><div class="ttname"><a href="mic_8h.html#a09361b33179e9ca5fd099161cf25d70a">micGetSampleDataSize</a></div><div class="ttdeci">u32 micGetSampleDataSize(void)</div><div class="ttdoc">Gets the size of the sample data area within the shared memory buffer. </div></div>
+<div class="ttc" id="mic_8h_html_ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8"><div class="ttname"><a href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8">MICU_SAMPLE_RATE_32730</a></div><div class="ttdoc">32730 Hz </div><div class="ttdef"><b>Definition:</b> mic.h:19</div></div>
+<div class="ttc" id="mic_8h_html_afdc168c4f160192b7b3b04e49d15ec86"><div class="ttname"><a href="mic_8h.html#afdc168c4f160192b7b3b04e49d15ec86">MICU_AdjustSampling</a></div><div class="ttdeci">Result MICU_AdjustSampling(MICU_SampleRate sampleRate)</div><div class="ttdoc">Adjusts the configuration of the current sampling session. </div></div>
+<div class="ttc" id="mic_8h_html_ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0"><div class="ttname"><a href="mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0">MICU_SAMPLE_RATE_8180</a></div><div class="ttdoc">8180 Hz </div><div class="ttdef"><b>Definition:</b> mic.h:22</div></div>
<div class="ttc" id="types_8h_html_ab6d744c6b5de129f12937e482dc674fb"><div class="ttname"><a href="types_8h.html#ab6d744c6b5de129f12937e482dc674fb">Handle</a></div><div class="ttdeci">u32 Handle</div><div class="ttdoc">Resource handle. </div><div class="ttdef"><b>Definition:</b> types.h:42</div></div>
-<div class="ttc" id="mic_8h_html_a08092b087f0fac45b82dc5c667c55587"><div class="ttname"><a href="mic_8h.html#a08092b087f0fac45b82dc5c667c55587">MIC_MapSharedMem</a></div><div class="ttdeci">Result MIC_MapSharedMem(Handle handle, u32 size)</div><div class="ttdoc">Maps MIC's shared memory. </div></div>
-<div class="ttc" id="mic_8h_html_a71378ceca23876e1100ab66db04559f4"><div class="ttname"><a href="mic_8h.html#a71378ceca23876e1100ab66db04559f4">MIC_ReadAudioData</a></div><div class="ttdeci">u32 MIC_ReadAudioData(u8 *outbuf, u32 readsize, u32 waitforevent)</div><div class="ttdoc">Reads MIC audio data. </div></div>
<div class="ttc" id="types_8h_html_a92c50087ca0e64fa93fc59402c55f8ca"><div class="ttname"><a href="types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca">u8</a></div><div class="ttdeci">uint8_t u8</div><div class="ttdoc">8-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:22</div></div>
-<div class="ttc" id="mic_8h_html_a8908c82b113c8b5b5919794dacd8be1e"><div class="ttname"><a href="mic_8h.html#a8908c82b113c8b5b5919794dacd8be1e">MIC_Initialize</a></div><div class="ttdeci">Result MIC_Initialize(u32 *sharedmem, u32 sharedmem_size, u8 control, u8 recording, u8 unk0, u8 unk1, u8 unk2)</div><div class="ttdoc">Initializes MIC. </div></div>
+<div class="ttc" id="mic_8h_html_a5de3831a1aa13b444a812ebfef218361"><div class="ttname"><a href="mic_8h.html#a5de3831a1aa13b444a812ebfef218361">micExit</a></div><div class="ttdeci">void micExit(void)</div><div class="ttdoc">Exits MIC. </div></div>
+<div class="ttc" id="mic_8h_html_a0c29ffb2d0addbaca328d8aad082e3bf"><div class="ttname"><a href="mic_8h.html#a0c29ffb2d0addbaca328d8aad082e3bf">MICU_SetGain</a></div><div class="ttdeci">Result MICU_SetGain(u8 gain)</div><div class="ttdoc">Sets the microphone's gain. </div></div>
<div class="ttc" id="types_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer </div><div class="ttdef"><b>Definition:</b> types.h:24</div></div>
-<div class="ttc" id="mic_8h_html_a848e6c2e944a6919febe75c52dbe1475"><div class="ttname"><a href="mic_8h.html#a848e6c2e944a6919febe75c52dbe1475">MIC_GetControl</a></div><div class="ttdeci">Result MIC_GetControl(u8 *value)</div><div class="ttdoc">Gets the control value. </div></div>
-<div class="ttc" id="mic_8h_html_a21f4144947e781941f8a045c5e6e2a6a"><div class="ttname"><a href="mic_8h.html#a21f4144947e781941f8a045c5e6e2a6a">MIC_GetSharedMemOffsetValue</a></div><div class="ttdeci">u32 MIC_GetSharedMemOffsetValue(void)</div><div class="ttdoc">Gets the current shared memory offset. </div></div>
-<div class="ttc" id="mic_8h_html_a8c15e18747d11a52bc4fd4d57a950972"><div class="ttname"><a href="mic_8h.html#a8c15e18747d11a52bc4fd4d57a950972">MIC_cmd3_Initialize</a></div><div class="ttdeci">Result MIC_cmd3_Initialize(u8 unk0, u8 unk1, u32 sharedmem_baseoffset, u32 sharedmem_endoffset, u8 unk2)</div><div class="ttdoc">Initializes MIC. </div></div>
-<div class="ttc" id="mic_8h_html_ad1cb3af8851f2502d3b244d4635991cd"><div class="ttname"><a href="mic_8h.html#ad1cb3af8851f2502d3b244d4635991cd">MIC_SetRecording</a></div><div class="ttdeci">Result MIC_SetRecording(u8 value)</div><div class="ttdoc">Sets whether the microphone is recording. </div></div>
-<div class="ttc" id="mic_8h_html_a2a5d33b949505aeebb3ecaff7366a924"><div class="ttname"><a href="mic_8h.html#a2a5d33b949505aeebb3ecaff7366a924">MIC_Shutdown</a></div><div class="ttdeci">Result MIC_Shutdown(void)</div><div class="ttdoc">Shuts down MIC. </div></div>
-<div class="ttc" id="mic_8h_html_ae0f008930602cd4c77a087cbb7acc419"><div class="ttname"><a href="mic_8h.html#ae0f008930602cd4c77a087cbb7acc419">MIC_UnmapSharedMem</a></div><div class="ttdeci">Result MIC_UnmapSharedMem(void)</div><div class="ttdoc">Unmaps MIC's shardd memory. </div></div>
-<div class="ttc" id="mic_8h_html_a54a77ba7353b089d4f84769fff987c8e"><div class="ttname"><a href="mic_8h.html#a54a77ba7353b089d4f84769fff987c8e">MIC_IsRecoding</a></div><div class="ttdeci">Result MIC_IsRecoding(u8 *value)</div><div class="ttdoc">Gets whether the microphone is recording. </div></div>
-<div class="ttc" id="mic_8h_html_a9e59c00cbb8bebd5434a7e84e32122e1"><div class="ttname"><a href="mic_8h.html#a9e59c00cbb8bebd5434a7e84e32122e1">MIC_SetControl</a></div><div class="ttdeci">Result MIC_SetControl(u8 value)</div><div class="ttdoc">Sets the control value. </div></div>
+<div class="ttc" id="mic_8h_html_a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92"><div class="ttname"><a href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92">MICU_ENCODING_PCM16_SIGNED</a></div><div class="ttdoc">Signed 16-bit PCM. </div><div class="ttdef"><b>Definition:</b> mic.h:13</div></div>
+<div class="ttc" id="mic_8h_html_a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2"><div class="ttname"><a href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2">MICU_ENCODING_PCM16</a></div><div class="ttdoc">Unsigned 16-bit PCM. </div><div class="ttdef"><b>Definition:</b> mic.h:11</div></div>
+<div class="ttc" id="mic_8h_html_ab728c230d454422b4fdc119eec7f0510"><div class="ttname"><a href="mic_8h.html#ab728c230d454422b4fdc119eec7f0510">MICU_UnmapSharedMem</a></div><div class="ttdeci">Result MICU_UnmapSharedMem(void)</div><div class="ttdoc">Unmaps MIC shared memory. </div></div>
+<div class="ttc" id="mic_8h_html_a42078893931d09a8b27f3306c7f13a29"><div class="ttname"><a href="mic_8h.html#a42078893931d09a8b27f3306c7f13a29">MICU_IsSampling</a></div><div class="ttdeci">Result MICU_IsSampling(bool *sampling)</div><div class="ttdoc">Gets whether microphone input is currently being sampled. </div></div>
+<div class="ttc" id="mic_8h_html_a3a26bd2ff5eeaaf538df29230b3fda61"><div class="ttname"><a href="mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61">MICU_SetPower</a></div><div class="ttdeci">Result MICU_SetPower(bool power)</div><div class="ttdoc">Sets whether the microphone is powered on. </div></div>
+<div class="ttc" id="mic_8h_html_ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf"><div class="ttname"><a href="mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf">MICU_SAMPLE_RATE_16360</a></div><div class="ttdoc">16360 Hz </div><div class="ttdef"><b>Definition:</b> mic.h:20</div></div>
+<div class="ttc" id="mic_8h_html_aed8b72fbff68362b9c6a047a0b0c7307"><div class="ttname"><a href="mic_8h.html#aed8b72fbff68362b9c6a047a0b0c7307">MICU_GetClamp</a></div><div class="ttdeci">Result MICU_GetClamp(bool *clamp)</div><div class="ttdoc">Gets whether to clamp microphone input. </div></div>
+<div class="ttc" id="mic_8h_html_a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc"><div class="ttname"><a href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc">MICU_ENCODING_PCM8_SIGNED</a></div><div class="ttdoc">Signed 8-bit PCM. </div><div class="ttdef"><b>Definition:</b> mic.h:12</div></div>
+<div class="ttc" id="mic_8h_html_a3ead458d1aabf74550446b463b4fb54f"><div class="ttname"><a href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54f">MICU_Encoding</a></div><div class="ttdeci">MICU_Encoding</div><div class="ttdoc">Microphone audio encodings. </div><div class="ttdef"><b>Definition:</b> mic.h:8</div></div>
+<div class="ttc" id="mic_8h_html_a8f17c21f1420682eb699cf39adf537b2"><div class="ttname"><a href="mic_8h.html#a8f17c21f1420682eb699cf39adf537b2">MICU_GetEventHandle</a></div><div class="ttdeci">Result MICU_GetEventHandle(Handle *handle)</div><div class="ttdoc">Gets an event handle triggered when the shared memory buffer is full. </div></div>
+<div class="ttc" id="mic_8h_html_a7ea7f514ee9e50db3bc49bd3106fa967"><div class="ttname"><a href="mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967">MICU_StopSampling</a></div><div class="ttdeci">Result MICU_StopSampling(void)</div><div class="ttdoc">Stops sampling microphone input. </div></div>
+<div class="ttc" id="mic_8h_html_a0a156a0b69714f334c004c7137a7592c"><div class="ttname"><a href="mic_8h.html#a0a156a0b69714f334c004c7137a7592c">MICU_SetClamp</a></div><div class="ttdeci">Result MICU_SetClamp(bool clamp)</div><div class="ttdoc">Sets whether to clamp microphone input. </div></div>
+<div class="ttc" id="mic_8h_html_a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac"><div class="ttname"><a href="mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac">MICU_ENCODING_PCM8</a></div><div class="ttdoc">Unsigned 8-bit PCM. </div><div class="ttdef"><b>Definition:</b> mic.h:10</div></div>
+<div class="ttc" id="mic_8h_html_ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130"><div class="ttname"><a href="mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130">MICU_SAMPLE_RATE_10910</a></div><div class="ttdoc">10910 Hz </div><div class="ttdef"><b>Definition:</b> mic.h:21</div></div>
+<div class="ttc" id="mic_8h_html_aa2590afec7ac205e877ab94c9203a4c9"><div class="ttname"><a href="mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9">micGetLastSampleOffset</a></div><div class="ttdeci">u32 micGetLastSampleOffset(void)</div><div class="ttdoc">Gets the offset within the shared memory buffer of the last sample written. </div></div>
+<div class="ttc" id="mic_8h_html_a3dd3e9152bbddcafe2babc371c210222"><div class="ttname"><a href="mic_8h.html#a3dd3e9152bbddcafe2babc371c210222">MICU_MapSharedMem</a></div><div class="ttdeci">Result MICU_MapSharedMem(u32 size, Handle handle)</div><div class="ttdoc">Maps MIC shared memory. </div></div>
+<div class="ttc" id="mic_8h_html_a913ee846ab9633883625e6477ae10cdf"><div class="ttname"><a href="mic_8h.html#a913ee846ab9633883625e6477ae10cdf">MICU_SetAllowShellClosed</a></div><div class="ttdeci">Result MICU_SetAllowShellClosed(bool allowShellClosed)</div><div class="ttdoc">Sets whether to allow sampling when the shell is closed. </div></div>
+<div class="ttc" id="mic_8h_html_add912c11a5b5ff8dabe224e2f380be9b"><div class="ttname"><a href="mic_8h.html#add912c11a5b5ff8dabe224e2f380be9b">MICU_GetGain</a></div><div class="ttdeci">Result MICU_GetGain(u8 *gain)</div><div class="ttdoc">Gets the microphone's gain. </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>