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">
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>Sound (snd) Sample Demo</title>
8  </head>
9  <body>
10    <h1>effect</h1>
11
12      <h2>Overview</h2>
13      <p>
14      This is an effect demo.
15      </p>
16
17      <h2>How to Use</h2>
18      <p>
19        <ul>
20          <li>A Button: Plays the sequence sound</li>
21          <li>X Button: Plays the wave sound</li>
22          <li>Y Button: Plays the stream sound</li>
23          <li>B Button: Stops the sound</li>
24        </ul>
25        <ul>
26          <li>Right Button, Left Button: Switches the effect</li>
27        </ul>
28      </p>
29
30      <h2>Description</h2>
31      <p>
32      Demo to implement the following effects.
33      </p>
34      <ul>
35        <li><a href="../FxReverb/Overview.html">nw::snd::FxReverb</a></li>
36        <li><a href="../FxDelay/Overview.html">nw::snd::FxDelay</a></li>
37        <li>nn::snd::FxReverb</li>
38        <li>nn::snd::FxDelay</li>
39      </ul>
40
41      <p>
42      Main flow is in the order: set effect parameters, secure work memory, allocate work memory, register effect, remove effect, and release work memory.
43      </p>
44      <pre>
45    // nw::snd::FxReverb settings
46    {
47        // Parameter settings
48        nw::snd::FxReverb::FilterSize filterSize;
49        filterSize.m_Comb0 = 20 * 160;
50        filterSize.m_Comb1 = 30 * 160;
51        filterSize.m_AllPass = 13 * 160;
52
53        m_NwFxReverbParam.m_EarlyReflectionTime = 300;
54        m_NwFxReverbParam.m_FusedTime = 1000;
55        m_NwFxReverbParam.m_PreDelayTime = 200;
56        m_NwFxReverbParam.m_pFilterSize = &amp;filterSize;
57
58        m_NwFxReverb.SetParam( m_NwFxReverbParam );
59
60        // Secure work memory
61        size_t reverbBufferSize = m_NwFxReverb.GetRequiredMemSize();
62        m_pMemoryForNwFxReverb = MemAlloc( reverbBufferSize, 4 );
63
64        // Allocate work memory
65        m_NwFxReverb.AssignWorkBuffer(
66                reinterpret_cast<uptr>( m_pMemoryForNwFxReverb ),
67                reverbBufferSize );
68    }
69
70    // Register effect
71    nw::snd::SoundSystem::AppendEffect( nw::snd::AUX_BUS_A, &amp;m_NwFxReverb );
72
73    // Remove effect
74    nw::snd::SoundSystem::ClearEffect( nw::snd::AUX_BUS_A, 0 );
75
76    // Release work memory
77    m_NwFxReverb.ReleaseWorkBuffer();
78
79      </pre>
80
81    <h2>Revision History</h2>
82    <div class="section">
83      <dl class="history">
84        <dt>2010/10/21</dt>
85        <dd>Revised text concerning effects provided with CTR_SDK<br /></dd>
86        <dt>2010/10/01</dt>
87        <dd>Support for FxDelay</dd>
88        <dt>2010/09/27</dt>
89        <dd>Initial version.<br />
90        </dd>
91      </dl>
92    </div>
93  <hr><p>CONFIDENTIAL</p></body>
94</html>
95
96