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<title>SetSoundOutputMode</title>
8  </head>
9  <body>
10<h1><CODE>nn::snd::CTR::SetSoundOutputMode</CODE> Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14bool SetSoundOutputMode(
15     <a href="../../../nn/snd/CTR/OutputMode.html">OutputMode</a> mode
16);
17</pre>
18    </div>
19<h2>Arguments</h2>
20    <div class="section">
21      <table class="arguments">
22        <thead>
23          <tr>
24            <td width="15" />
25<th>Name</th>
26<td>Description</td>
27          </tr>
28        </thead>
29        <tr>
30<td>in</td>
31<th>mode</th>
32<td>Sound output mode.</td>
33        </tr> </table>
34    </div>
35<h2>Return Values</h2>
36<div class="section">Returns <CODE>true</CODE> if configuration succeeded; otherwise, returns <CODE>false</CODE>. </div>
37<h2>Description</h2>
38    <div class="section">
39<p>Sets the sound output mode.</p><p>
40The default value is the sound mode specified by the System Settings.
41          </p><p>
42For each sound output mode, the following operations are performed on the 4-channel (<CODE>FrontLeft</CODE>, <CODE>FrontRight</CODE>, <CODE>RearLeft</CODE>, <CODE>RearRight</CODE>) buffer that mixes the registered <CODE>nn::snd::CTR::Voice</CODE> information with the two <CODE>Aux</CODE> buses.
43            <ul><li>
44Mono
45<pre>Output = (FrontLeft + FrontRight + RearLeft + RearRight) * 0.5</pre></li><li>
46Stereo
47<pre>OutputLeft = FrontLeft + RearLeft
48OutputRight = FrontRight + RearRight</pre></li><li>
49Surround
50                <pre>Surround processing based on <CODE>nn::snd::CTR::SurroundSpeakerPosition</CODE>.</pre></li></ul></p><p>
51The surround processing switches automatically depending on whether the sound is being output to the built-in speakers or headphones. When sound is being output to the speakers, you can use <CODE>nn::snd::CTR::SetSurroundDepth</CODE> to set the depth and thus vary the intensity of the surround sound effect. When sound is being output to headphones, this value is ignored.
52          </p><p>
53Surround sound processing is run on mixed audio data as a whole rather than on each <CODE>nn::snd::CTR::Voice</CODE>. In contrast, <CODE>nn::snd::CTR::Voice</CODE> instances have a function called <CODE>nn::snd::CTR::Voice::SetFrontBypassFlag</CODE> that can be used to bypass surround sound processing of the front two channels (<CODE>FrontLeft</CODE> and <CODE>FrontRight</CODE>). See the figure below for details.
54</p><p align="center"><img src="./frontbypass.png" alt="Front Bypass" /></p></div>
55<h2>Revision History</h2>
56    <div class="section">
57      <dl class="history">
58        <dt>2010/07/22</dt>
59<dd>Changed system setting value dependencies, the default value, and monaural downmixing coefficients.
60        </dd>
61        <dt>2010/06/23</dt>
62<dd>Initial version.<br />
63        </dd>
64      </dl>
65    </div>
66  <hr><p>CONFIDENTIAL</p></body>
67</html>