1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7 <style type="text/css"><!-- 8 span.static_style 9 { 10 font-size : 8pt; 11 color : white; 12 font-weight : bold; 13 background : #44f; 14 border-left : solid 1px #aaf; 15 border-top : solid 1px #aaf; 16 border-right : solid 1px #00c; 17 border-bottom : solid 1px #00c; 18 padding-left : 2px; 19 padding-right : 2px; 20 } 21 span.virtual_style 22 { 23 font-size : 8pt; 24 color : white; 25 font-weight : bold; 26 background : #0a0; 27 border-left : solid 1px #0f0; 28 border-top : solid 1px #0f0; 29 border-right : solid 1px #060; 30 border-bottom : solid 1px #060; 31 padding-left : 2px; 32 padding-right : 2px; 33 } 34 span.protected_style 35 { 36 font-size : 8pt; 37 color : white; 38 font-weight : bold; 39 background : #444; 40 border-left : solid 1px #ccc; 41 border-top : solid 1px #ccc; 42 border-right : solid 1px #222; 43 border-bottom : solid 1px #222; 44 padding-left : 2px; 45 padding-right : 2px; 46 } 47 --></style> 48<title>nn::snd::CTR</title> 49 </head> 50 <body> 51<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/snd/Overview.html">snd</a>::CTR</CODE> Namespace</h1> 52<h2>Description</h2> 53 <div class="section"> 54<p>Sound (SND) namespace. (This can also be written with "<CODE>CTR</CODE>" omitted.)</p><p> 55Sound processing is carried out while synchronizing with the DSP by sound threads that include the <a href="../../../nn/snd/CTR/WaitForDspSync.html"><CODE>nn::snd::CTR::WaitForDspSync</CODE></a> and <a href="../../../nn/snd/CTR/SendParameterToDsp.html"><CODE>nn::snd::CTR::SendParameterToDsp</CODE></a> functions. Sound operations and parameter settings are configured after using the <a href="../../../nn/snd/CTR/WaitForDspSync.html"><CODE>nn::snd::CTR::WaitForDspSync</CODE></a> function to wait for an interrupt from the DSP that occurs approximately every 4.889 milliseconds, and then applying those operations and parameter settings to the DSP using the <a href="../../../nn/snd/CTR/SendParameterToDsp.html"><CODE>nn::snd::CTR::SendParameterToDsp</CODE></a> function. The <a href="../../../nn/snd/CTR/WaitForDspSync.html"><CODE>nn::snd::CTR::WaitForDspSync</CODE></a> and <a href="../../../nn/snd/CTR/SendParameterToDsp.html"><CODE>nn::snd::CTR::SendParameterToDsp</CODE></a> functions must be called alternately. 56 </p><p> 57The snd library uses an <a href="../../../nn/os/Event/Overview.html">nn::os::Event</a> object held internally to perform the above synchronization. 58</p><p>The <a href="../../../nn/dsp/CTR/Initialize.html"><CODE>nn::dsp::CTR::Initialize</CODE></a> function and functions for loading DSP components (such as the <a href="../../../nn/dsp/CTR/LoadDefaultComponent.html"><CODE>nn::dsp::CTR::LoadDefaultComponent</CODE></a> function), must be called before the <a href="../../../nn/snd/CTR/Initialize.html"><CODE>nn::snd::CTR::Initialize</CODE></a> function. 59 </p></div> 60 <a name="class" id="class"> 61<h2>Classes</h2> 62 <div class="section"> 63 <table class="members"> 64 <tr> 65<th class="category" colspan="2"><CODE>Result</CODE></th> 66 </tr> 67 <tr> 68 <th> 69<a href="../../../nn/snd/CTR/ResultAlreadyInitialized/Overview.html"><CODE>nn::snd::CTR::ResultAlreadyInitialized</CODE></a> 70 </th> 71<td>Indicates that initialization has already finished.</td> 72 </tr> 73 <tr> 74 <th> 75<a href="../../../nn/snd/CTR/ResultNoDspComponentLoaded/Overview.html"><CODE>nn::snd::CTR::ResultNoDspComponentLoaded</CODE></a> 76 </th> 77<td>Indicates that <CODE>dspcomponent</CODE> has not been loaded.</td> 78 </tr> 79 <tr> 80 <th> 81<a href="../../../nn/snd/CTR/ResultInvalidUsage/Overview.html"><CODE>nn::snd::CTR::ResultInvalidUsage</CODE></a> 82 </th> 83<td>Indicates a usage error, such as the order of arguments and function calls.</td> 84 </tr> 85 <tr> 86<th class="category" colspan="2">Other</th> 87 </tr> 88 <tr> 89 <th> 90<a href="../../../nn/snd/CTR/Bcwav/Overview.html"><CODE>nn::snd::CTR::Bcwav</CODE></a> 91 </th> 92<td>Definition of a class that handles BCWAV files.</td> 93 </tr> 94 <tr> 95 <th> 96<a href="../../../nn/snd/CTR/FxDelay/Overview.html"><CODE>nn::snd::CTR::FxDelay</CODE></a> 97 </th> 98<td>The delay effect class.</td> 99 </tr> 100 <tr> 101 <th> 102<a href="../../../nn/snd/CTR/FxReverb/Overview.html"><CODE>nn::snd::CTR::FxReverb</CODE></a> 103 </th> 104<td>The reverb effect class.</td> 105 </tr> 106 <tr> 107 <th> 108<a href="../../../nn/snd/CTR/OutputCapture/Overview.html"><CODE>nn::snd::CTR::OutputCapture</CODE></a> 109 </th> 110<td>The class for getting the DSP's final output.</td> 111 </tr> 112 <tr> 113 <th> 114<a href="../../../nn/snd/CTR/Voice/Overview.html"><CODE>nn::snd::CTR::Voice</CODE></a> 115 </th> 116<td>A class used to control <a href="../../../nn/snd/CTR/Voice/Overview.html"><CODE>Voice</CODE></a> objects.</td> 117 </tr> </table> 118 </div> 119 </a> <a name="struct" id="struct"> 120<h2>Structures</h2> 121 <div class="section"> 122 <table class="members"> 123 <tr> 124 <th> 125<a href="../../../nn/snd/CTR/AdpcmParam/Overview.html"><CODE>nn::snd::CTR::AdpcmParam</CODE></a> 126 </th> 127<td>A structure that stores ADPCM coefficients.</td> 128 </tr> 129 <tr> 130 <th> 131<a href="../../../nn/snd/CTR/AdpcmContext/Overview.html"><CODE>nn::snd::CTR::AdpcmContext</CODE></a> 132 </th> 133<td>A structure that stores an ADPCM context.</td> 134 </tr> 135 <tr> 136 <th> 137<a href="../../../nn/snd/CTR/MonoFilterCoefficients/Overview.html"><CODE>nn::snd::CTR::MonoFilterCoefficients</CODE></a> 138 </th> 139<td>Structure that stores monopole filter coefficients.</td> 140 </tr> 141 <tr> 142 <th> 143<a href="../../../nn/snd/CTR/BiquadFilterCoefficients/Overview.html"><CODE>nn::snd::CTR::BiquadFilterCoefficients</CODE></a> 144 </th> 145<td>Structure that stores biquad filter coefficients.</td> 146 </tr> 147 <tr> 148 <th> 149<a href="../../../nn/snd/CTR/MixParam/Overview.html"><CODE>nn::snd::CTR::MixParam</CODE></a> 150 </th> 151<td>A structure that stores the gain for each channel.</td> 152 </tr> 153 <tr> 154 <th> 155<a href="../../../nn/snd/CTR/WaveBuffer/Overview.html"><CODE>nn::snd::CTR::WaveBuffer</CODE></a> 156 </th> 157<td>Structure that stores information about a buffer storing sample data.</td> 158 </tr> 159 <tr> 160 <th> 161<a href="../../../nn/snd/CTR/AuxBusData/Overview.html"><CODE>nn::snd::CTR::AuxBusData</CODE></a> 162 </th> 163<td>Structure for functions containing the code that processes <CODE>Aux</CODE> bus data in each sound frame.</td> 164 </tr> </table> 165 </div> 166 </a> <a name="enum" id="enum"> 167<h2>Enumerated Types</h2> 168 <div class="section"> 169 <table class="members"> 170 <tr> 171 <td width="100"> </td> 172 <th> 173<a href="../../../nn/snd/CTR/ChannelIndex.html"><CODE>ChannelIndex</CODE></a> 174 </th> 175<td>Enumerated type representing channel positions.</td> 176 </tr> 177 <tr> 178 <td width="100"> </td> 179 <th> 180<a href="../../../nn/snd/CTR/OutputMode.html"><CODE>OutputMode</CODE></a> 181 </th> 182<td>Enumerated type representing a mixer's output mode.</td> 183 </tr> 184 <tr> 185 <td width="100"> </td> 186 <th> 187<a href="../../../nn/snd/CTR/ClippingMode.html"><CODE>ClippingMode</CODE></a> 188 </th> 189<td>Enumerated type representing the clipping mode.</td> 190 </tr> 191 <tr> 192 <td width="100"> </td> 193 <th> 194<a href="../../../nn/snd/CTR/SurroundSpeakerPosition.html"><CODE>SurroundSpeakerPosition</CODE></a> 195 </th> 196<td>Enumerated type indicating the virtual speaker position for 3D surround sound.</td> 197 </tr> 198 <tr> 199 <td width="100"> </td> 200 <th> 201<a href="../../../nn/snd/CTR/InterpolationType.html"><CODE>InterpolationType</CODE></a> 202 </th> 203<td>An enumerated type representing the interpolation method.</td> 204 </tr> 205 <tr> 206 <td width="100"> </td> 207 <th> 208<a href="../../../nn/snd/CTR/FilterType.html"><CODE>FilterType</CODE></a> 209 </th> 210<td>Enumerated type representing the filter type.</td> 211 </tr> 212 <tr> 213 <td width="100"> </td> 214 <th> 215<a href="../../../nn/snd/CTR/AuxBusId.html"><CODE>AuxBusId</CODE></a> 216 </th> 217<td>Enumerated type representing the <CODE>Aux</CODE> bus ID.</td> 218 </tr> 219 <tr> 220 <td width="100"> </td> 221 <th> 222<a href="../../../nn/snd/CTR/SampleFormat.html"><CODE>SampleFormat</CODE></a> 223 </th> 224<td>Enumerated type representing sample formats.</td> 225 </tr> </table> 226 </div> 227 </a> <a name="typedef" id="typedef"> 228<h2><CODE>typedef</CODE> Definitions</h2> 229 <div class="section"> 230 <table class="members"> 231 <tr> 232 <td width="100" /> 233 <th> 234<a href="../../../nn/snd/CTR/AuxCallback.html"><CODE>AuxCallback</CODE></a> 235 </th> 236<td>Typedef for the <CODE>Aux</CODE> callback function pointer.</td> 237 </tr> 238 <tr> 239 <td width="100" /> 240 <th> 241<a href="../../../nn/snd/CTR/VoiceDropCallbackFunc.html"><CODE>VoiceDropCallbackFunc</CODE></a> 242 </th> 243<td>Typedef for the callback function to invoke when the library frees a voice.</td> 244 </tr> </table> 245 </div> 246 </a> <a name="constant" id="constant"> 247<h2>Constants</h2> 248 <div class="section"> 249 <table class="members"> 250 <tr> 251 <td width="100"> 252<span class="static_style" title="static">S</span> 253 </td> 254 <th> 255<span class="argument"><a href="../../../nn/snd/CTR/VOICE_PRIORITY_NODROP.html"><CODE>VOICE_PRIORITY_NODROP</CODE></a></span> 256 </th> 257<td width="100">const s32</td> 258<td>This is the highest possible priority and is also given special treatment.</td> 259 </tr> 260 <tr> 261 <td width="100"> 262<span class="static_style" title="static">S</span> 263 </td> 264 <th> 265<span class="argument"><a href="../../../nn/snd/CTR/NN_SND_DSP_MAXIMUM_CYCLES.html"><CODE>NN_SND_DSP_MAXIMUM_CYCLES</CODE></a></span> 266 </th> 267<td width="100">const s32</td> 268<td>Maximum number of DSP cycles per sound frame.</td> 269 </tr> </table> 270 </div> 271 </a> <a name="function" id="function"> 272<h2>Functions</h2> 273 <div class="section"> 274 <table class="members"> 275 <tr> 276<th class="category" colspan="3">Initialize/Finalize</th> 277 </tr> 278 <tr> 279 <td width="100"> </td> 280 <th> 281<a href="../../../nn/snd/CTR/Initialize.html"><CODE>Initialize</CODE></a> 282 </th> 283<td>Initializes the sound library.</td> 284 </tr> 285 <tr> 286 <td width="100"> </td> 287 <th> 288<a href="../../../nn/snd/CTR/Finalize.html"><CODE>Finalize</CODE></a> 289 </th> 290<td>Finalizes the sound library.</td> 291 </tr> 292 <tr> 293 <td width="100"> </td> 294 <th> 295<a href="../../../nn/snd/CTR/InitializeWaveBuffer.html"><CODE>InitializeWaveBuffer</CODE></a> 296 </th> 297<td>Initializes a buffer information structure.</td> 298 </tr> 299 <tr> 300<th class="category" colspan="3">Cache Operations</th> 301 </tr> 302 <tr> 303 <td width="100"> </td> 304 <th> 305<a href="../../../nn/snd/CTR/FlushDataCache.html"><CODE>FlushDataCache</CODE></a> 306 </th> 307<td>Writes data for the specified cache range back into memory and invalidates the cache.</td> 308 </tr> 309 <tr> 310<th class="category" colspan="3">Synchronous Processing</th> 311 </tr> 312 <tr> 313 <td width="100"> </td> 314 <th> 315<a href="../../../nn/snd/CTR/WaitForDspSync.html"><CODE>WaitForDspSync</CODE></a> 316 </th> 317<td>Receives the result of DSP processing.</td> 318 </tr> 319 <tr> 320 <td width="100"> </td> 321 <th> 322<a href="../../../nn/snd/CTR/SendParameterToDsp.html"><CODE>SendParameterToDsp</CODE></a> 323 </th> 324<td>Applies the configured parameters to the DSP.</td> 325 </tr> 326 <tr> 327<th class="category" colspan="3">Master Controls, Auxiliary Bus Controls</th> 328 </tr> 329 <tr> 330 <td width="100"> </td> 331 <th> 332<a href="../../../nn/snd/CTR/SetMasterVolume.html"><CODE>SetMasterVolume</CODE></a> 333 </th> 334<td>This function sets the master volume.</td> 335 </tr> 336 <tr> 337 <td width="100"> </td> 338 <th> 339<a href="../../../nn/snd/CTR/SetAuxReturnVolume.html"><CODE>SetAuxReturnVolume</CODE></a> 340 </th> 341<td>Sets the <CODE>Aux</CODE> bus volume.</td> 342 </tr> 343 <tr> 344 <td width="100"> </td> 345 <th> 346<a href="../../../nn/snd/CTR/GetAuxReturnVolume.html"><CODE>SetAuxReturnVolume</CODE></a> 347 </th> 348<td>Gets the <CODE>Aux</CODE> bus volume.</td> 349 </tr> 350 <tr> 351 <td width="100"> </td> 352 <th> 353<a href="../../../nn/snd/CTR/RegisterAuxCallback.html"><CODE>RegisterAuxCallback</CODE></a> 354 </th> 355<td>Sets the <CODE>Aux</CODE> bus callback function.</td> 356 </tr> 357 <tr> 358 <td width="100"> </td> 359 <th> 360<a href="../../../nn/snd/CTR/GetAuxCallback.html"><CODE>GetAuxCallback</CODE></a> 361 </th> 362<td>Gets the <CODE>Aux</CODE> bus callback function.</td> 363 </tr> 364 <tr> 365 <td width="100"> </td> 366 <th> 367<a href="../../../nn/snd/CTR/ClearAuxCallback.html"><CODE>ClearAuxCallback</CODE></a> 368 </th> 369<td>Clears the <CODE>Aux</CODE> bus callback function.</td> 370 </tr> 371 <tr> 372 <td width="100"> </td> 373 <th> 374<a href="../../../nn/snd/CTR/SetAuxFrontBypass.html"><CODE>SetAuxFrontBypass</CODE></a> 375 </th> 376<td>Configures whether to bypass the front channels of an Aux bus.</td> 377 </tr> 378 <tr> 379<th class="category" colspan="3">3D Surround Sound</th> 380 </tr> 381 <tr> 382 <td width="100"> </td> 383 <th> 384<a href="../../../nn/snd/CTR/SetSoundOutputMode.html"><CODE>SetSoundOutputMode</CODE></a> 385 </th> 386<td>Sets the sound output mode.</td> 387 </tr> 388 <tr> 389 <td width="100"> </td> 390 <th> 391<a href="../../../nn/snd/CTR/GetSoundOutputMode.html"><CODE>GetSoundOutputMode</CODE></a> 392 </th> 393<td>Gets the sound output mode.</td> 394 </tr> 395 <tr> 396 <td width="100"> </td> 397 <th> 398<a href="../../../nn/snd/CTR/SetClippingMode.html"><CODE>SetClippingMode</CODE></a> 399 </th> 400<td>Sets the clipping mode.</td> 401 </tr> 402 <tr> 403 <td width="100"> </td> 404 <th> 405<a href="../../../nn/snd/CTR/GetClippingMode.html"><CODE>GetClippingMode</CODE></a> 406 </th> 407<td>Gets the clipping mode.</td> 408 </tr> 409 <tr> 410 <td width="100"> </td> 411 <th> 412<a href="../../../nn/snd/CTR/SetSurroundDepth.html"><CODE>SetSurroundDepth</CODE></a> 413 </th> 414<td>Sets the surround sound depth.</td> 415 </tr> 416 <tr> 417 <td width="100"> </td> 418 <th> 419<a href="../../../nn/snd/CTR/SetSurroundSpeakerPosition.html"><CODE>SetSurroundSpeakerPosition</CODE></a> 420 </th> 421<td>Sets the virtual speaker position for 3D surround sound.</td> 422 </tr> 423 <tr> 424<th class="category" colspan="3">Get the DSP final output</th> 425 </tr> 426 <tr> 427 <td width="100"> </td> 428 <th> 429<a href="../../../nn/snd/CTR/GetMixedBusData.html"><CODE>GetMixedBusData</CODE></a> 430 </th> 431<td>Copies the <CODE>Mix</CODE> bus data to the specified buffer.</td> 432 </tr> 433 <tr> 434 <td width="100"> </td> 435 <th> 436<a href="../../../nn/snd/CTR/SetOutputCapture.html"><CODE>SetOutputCapture</CODE></a> 437 </th> 438<td>Configures the capture for getting the DSP final output.</td> 439 </tr> 440 <tr> 441<th class="category" colspan="3">Dropped Processing Detection</th> 442 </tr> 443 <tr> 444 <td width="100"> </td> 445 <th> 446<a href="../../../nn/snd/CTR/GetDroppedSoundFrameCount.html"><CODE>GetDroppedSoundFrameCount</CODE></a> 447 </th> 448<td>Gets the number of dropped sound frames.</td> 449 </tr> 450 <tr> 451 <td width="100"> </td> 452 <th> 453<a href="../../../nn/snd/CTR/ClearDroppedSoundFrameCount.html"><CODE>ClearDroppedSoundFrameCount</CODE></a> 454 </th> 455<td>Clears the dropped sound frames counter.</td> 456 </tr> 457 <tr> 458<th class="category" colspan="3">DSP-ADPCM-Related</th> 459 </tr> 460 <tr> 461 <td width="100"> </td> 462 <th> 463<a href="../../../nn/snd/CTR/EncodeAdpcmData.html"><CODE>EncodeAdpcmData</CODE></a> 464 </th> 465<td>Encodes 16-bit PCM data into DSP-ADPCM format.</td> 466 </tr> 467 <tr> 468 <td width="100"> </td> 469 <th> 470<a href="../../../nn/snd/CTR/DecodeAdpcmData.html"><CODE>DecodeAdpcmData</CODE></a> 471 </th> 472<td>Decodes DSP-ADPCM data.</td> 473 </tr> 474 <tr> 475 <td width="100"> </td> 476 <th> 477<a href="../../../nn/snd/CTR/GetAdpcmOutputBufferSize.html"><CODE>GetAdpcmOutputBufferSize</CODE></a> 478 </th> 479<td>Returns the size of the output buffer that is required during encoding.</td> 480 </tr> 481 <tr> 482 <td width="100"> </td> 483 <th> 484<a href="../../../nn/snd/CTR/ConvertAdpcmPos2Nib.html"><CODE>ConvertAdpcmPos2Nib</CODE></a> 485 </th> 486<td>Converts the sample position to a number of nibbles.</td> 487 </tr> 488 <tr> 489 <td width="100"> </td> 490 <th> 491<a href="../../../nn/snd/CTR/ConvertAdpcmNib2Pos.html"><CODE>ConvertAdpcmNib2Pos</CODE></a> 492 </th> 493<td>Converts the number of nibbles to a sample position.</td> 494 </tr> 495 <tr> 496<th class="category" colspan="3">Effect</th> 497 </tr> 498 <tr> 499 <td width="100"> </td> 500 <th> 501<a href="../../../nn/snd/CTR/SetEffect.html"><CODE>SetEffect</CODE></a> 502 </th> 503<td>Configures the effect.</td> 504 </tr> 505 <tr> 506 <td width="100"> </td> 507 <th> 508<a href="../../../nn/snd/CTR/ClearEffect.html"><CODE>ClearEffect</CODE></a> 509 </th> 510<td>Clears an effect setting.</td> 511 </tr> 512 <tr> 513<th class="category" colspan="3">Voice Controls</th> 514 </tr> 515 <tr> 516 <td width="100"> </td> 517 <th> 518<a href="../../../nn/snd/CTR/AllocVoice.html"><CODE>AllocVoice</CODE></a> 519 </th> 520<td>Gets a voice.</td> 521 </tr> 522 <tr> 523 <td width="100"> </td> 524 <th> 525<a href="../../../nn/snd/CTR/FreeVoice.html"><CODE>FreeVoice</CODE></a> 526 </th> 527<td>Frees a voice.</td> 528 </tr> 529 <tr> 530<th class="category" colspan="3">Other</th> 531 </tr> 532 <tr> 533 <td width="100"> </td> 534 <th> 535<a href="../../../nn/snd/CTR/GetSampleLength.html"><CODE>GetSampleLength</CODE></a> 536 </th> 537<td>Gets the sample length.</td> 538 </tr> 539 <tr> 540 <td width="100"> </td> 541 <th> 542<a href="../../../nn/snd/CTR/SetMaximumDspCycles.html"><CODE>SetMaximumDspCycles</CODE></a> 543 </th> 544<td>Sets the number of DSP cycles that sound can use.</td> 545 </tr> 546 <tr> 547 <td width="100"> </td> 548 <th> 549<a href="../../../nn/snd/CTR/GetMaximumDspCycles.html"><CODE>GetMaximumDspCycles</CODE></a> 550 </th> 551<td>Gets the number of DSP cycles allocated to sound.</td> 552 </tr> 553 <tr> 554 <td width="100"> </td> 555 <th> 556<a href="../../../nn/snd/CTR/GetDspCycles.html"><CODE>GetDspCycles</CODE></a> 557 </th> 558<td>Gets the number of cycles consumed by the DSP to create the last audio frame.</td> 559 </tr> 560 <tr> 561 <td width="100"> </td> 562 <th> 563<a href="../../../nn/snd/CTR/GetHeadphoneStatus.html"><CODE>GetHeadphoneStatus</CODE></a> 564 </th> 565<td>Gets whether headphones are plugged in.</td> 566 </tr> 567 <tr> 568 <td width="100"> </td> 569 <th> 570<a href="../../../nn/snd/CTR/UpdateHeadphoneStatus.html"><CODE>UpdateHeadphoneStatus</CODE></a> 571 </th> 572<td>Updates and gets the headphone connection state.</td> 573 </tr> 574 <tr> 575 <td width="100"> </td> 576 <th> 577<a href="../../../nn/snd/CTR/SetOutputBufferCount.html"><CODE>SetOutputBufferCount</CODE></a> 578 </th> 579<td>Sets the number of buffers for the DSP final output level.</td> 580 </tr> </table> 581 </div> 582 </a> 583<h2>Revision History</h2> 584 <div class="section"> 585 <dl class="history"> 586 <dt>2011/02/02</dt> 587<dd>Added a note regarding the synchronization performed by sound threads and a note regarding initialization.<BR> 588 </dd> 589 <dt>2010/02/09</dt> 590<dd>Initial version.<br /> 591 </dd> 592 </dl> 593 </div> 594 <hr><p>CONFIDENTIAL</p></body> 595</html> 596