aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02393.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02393.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a02393.html')
-rw-r--r--docs/doxygen/nel/a02393.html2486
1 files changed, 2486 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02393.html b/docs/doxygen/nel/a02393.html
new file mode 100644
index 00000000..ee0e30df
--- /dev/null
+++ b/docs/doxygen/nel/a02393.html
@@ -0,0 +1,2486 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NLSOUND::CComplexSound class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLSOUND::CComplexSound Class Reference</h1><code>#include &lt;<a class="el" href="a05592.html">complex_sound.h</a>&gt;</code>
+<p>
+<p>Inheritance diagram for NLSOUND::CComplexSound:
+<p><center><img src="a02393.png" usemap="#NLSOUND::CComplexSound_map" border="0" alt=""></center>
+<map name="NLSOUND::CComplexSound_map">
+<area href="a02246.html" alt="NLSOUND::CSound" shape="rect" coords="0,0,171,24">
+</map>
+<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">TPATTERN_MODE</a> { <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw3">MODE_UNDEFINED</a>,
+<a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw1">MODE_CHAINED</a>,
+<a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw0">MODE_ALL_IN_ONE</a>,
+<a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw2">MODE_SPARSE</a>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundw4">TSOUND_TYPE</a> { <a class="el" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw3">SOUND_SIMPLE</a>,
+<a class="el" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw1">SOUND_COMPLEX</a>,
+<a class="el" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw0">SOUND_BACKGROUND</a>,
+<a class="el" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw2">SOUND_CONTEXT</a>
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda0">CComplexSound</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda1">doFadeIn</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda2">doFadeOut</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda1">getConeInnerAngle</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the inner angle of the cone. <a href="#NLSOUND_1_1CSounda1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda2">getConeOuterAngle</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the outer angle of the cone. <a href="#NLSOUND_1_1CSounda2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda3">getConeOuterGain</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the outer gain of the cone. <a href="#NLSOUND_1_1CSounda3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::vector&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda6">getDelaySeq</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03128.html">NLMISC::CVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda4">getDirectionVector</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the direction vector. <a href="#NLSOUND_1_1CSounda4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda8">getDuration</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the sound in ms. <a href="#NLSOUND_1_1CComplexSounda8"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda9">getFadeLenght</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda6">getGain</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the gain. <a href="#NLSOUND_1_1CSounda6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda7">getLooping</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the looping state. <a href="#NLSOUND_1_1CSounda7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda9">getName</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name (must be unique). <a href="#NLSOUND_1_1CSounda9"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">TPATTERN_MODE</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda13">getPatternMode</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda10">getPitch</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the pitch. <a href="#NLSOUND_1_1CSounda10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05381.html#a82">TSoundPriority</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda11">getPriority</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the initial priority. <a href="#NLSOUND_1_1CSounda11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a236">NLMISC::TStringId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda16">getSound</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a566">index</a>) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::vector&lt; <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda17">getSounds</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const std::vector&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt; &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda18">getSoundSeq</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02246.html#NLSOUND_1_1CSoundw4">TSOUND_TYPE</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda19">getSoundType</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the type of the sound. <a href="#NLSOUND_1_1CComplexSounda19"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda20">getSubSoundList</a> (std::vector&lt; std::pair&lt; std::string, <a class="el" href="a02246.html">CSound</a> * &gt; &gt; &amp;subsounds) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by the george sound plugin to check sound recursion (ie sound 'toto' use sound 'titi' witch also use sound 'toto' ...). <a href="#NLSOUND_1_1CComplexSounda20"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a236">NLMISC::TStringId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda14">getUserVarControler</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda22">importForm</a> (const std::string &amp;<a class="el" href="a04560.html#a1">filename</a>, <a class="el" href="a02551.html">NLGEORGES::UFormElm</a> &amp;formRoot)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load the sound parameters from georges' form. <a href="#NLSOUND_1_1CComplexSounda22"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda23">isDetailed</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if cone is meaningful. <a href="#NLSOUND_1_1CComplexSounda23"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda17">operator&lt;</a> (const <a class="el" href="a02246.html">CSound</a> &amp;otherSound) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda25">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;<a class="el" href="a04223.html#a626">s</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounda19">setLooping</a> (bool looping)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set looping. <a href="#NLSOUND_1_1CSounda19"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda27">setPatternMode</a> (<a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">TPATTERN_MODE</a> patternMode)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSounda28">~CComplexSound</a> ()</td></tr>
+
+<tr><td colspan="2"><div class="groupHeader">Tempo</div></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundz1299_0">getTicksPerSecond</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundz1299_1">setTicksPerSecond</a> (float ticks)</td></tr>
+
+<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02246.html">CSound</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSounde0">createSound</a> (const std::string &amp;<a class="el" href="a04560.html#a1">filename</a>, <a class="el" href="a02551.html">NLGEORGES::UFormElm</a> &amp;formRoot)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Factory for specialized sound. <a href="#NLSOUND_1_1CSounde0"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp0">_ConeInnerAngle</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp1">_ConeOuterAngle</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp2">_ConeOuterGain</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp3">_Direction</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp4">_Gain</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp5">_Looping</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp6">_MaxDist</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clipping distance for complex or backgound sound. <a href="#NLSOUND_1_1CSoundp6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a236">NLMISC::TStringId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp7">_Name</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp8">_Pitch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05381.html#a82">TSoundPriority</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp9">_Priority</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a236">NLMISC::TStringId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02246.html#NLSOUND_1_1CSoundp10">_UserVarControler</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional user var controler. <a href="#NLSOUND_1_1CSoundp10"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundd0">getMaxDistance</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the max distance (if detailed()). <a href="#NLSOUND_1_1CComplexSoundd0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundd1">parseSequence</a> (const std::string &amp;str, std::vector&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt; &amp;seq, <a class="el" href="a04558.html#a15">uint</a> scale=1)</td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sequence of delay in millisec. <a href="#NLSOUND_1_1CComplexSoundr0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr1">_DoFadeIn</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flag for fade in. <a href="#NLSOUND_1_1CComplexSoundr1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr2">_DoFadeOut</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flag for fade out (only on normal termination, not explicit stop). <a href="#NLSOUND_1_1CComplexSoundr2"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr4">_DurationValid</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr5">_MaxDistValid</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">TPATTERN_MODE</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr8">_SoundSeq</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr9">_TicksPerSeconds</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr10">_XFadeLenght</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Duration of xfade in millisec. <a href="#NLSOUND_1_1CComplexSoundr10"></a><br><br></td></tr>
+</table>
+<hr><h2>Member Enumeration Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundw8" doxytag="NLSOUND::CComplexSound::TPATTERN_MODE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">NLSOUND::CComplexSound::TPATTERN_MODE</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw3" doxytag="MODE_UNDEFINED" ></a>MODE_UNDEFINED</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw1" doxytag="MODE_CHAINED" ></a>MODE_CHAINED</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw0" doxytag="MODE_ALL_IN_ONE" ></a>MODE_ALL_IN_ONE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw2" doxytag="MODE_SPARSE" ></a>MODE_SPARSE</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00047">47</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05592.html#l00059">getPatternMode()</a>.
+<p>
+<div class="fragment"><pre>00048 {
+00049 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw3">MODE_UNDEFINED</a>,
+00050 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw1">MODE_CHAINED</a>,
+00051 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw0">MODE_ALL_IN_ONE</a>,
+00052 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw2">MODE_SPARSE</a>
+00053 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundw4" doxytag="NLSOUND::CComplexSound::TSOUND_TYPE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a02246.html#NLSOUND_1_1CSoundw4">NLSOUND::CSound::TSOUND_TYPE</a><code> [inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw3" doxytag="SOUND_SIMPLE" ></a>SOUND_SIMPLE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw1" doxytag="SOUND_COMPLEX" ></a>SOUND_COMPLEX</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw0" doxytag="SOUND_BACKGROUND" ></a>SOUND_BACKGROUND</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw2" doxytag="SOUND_CONTEXT" ></a>SOUND_CONTEXT</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00067">67</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+<div class="fragment"><pre>00068 {
+00069 <a class="code" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw3">SOUND_SIMPLE</a>,
+00070 <a class="code" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw1">SOUND_COMPLEX</a>,
+00071 <a class="code" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw0">SOUND_BACKGROUND</a>,
+00072 <a class="code" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw2">SOUND_CONTEXT</a>
+00073 };
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda0" doxytag="NLSOUND::CComplexSound::CComplexSound" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLSOUND::CComplexSound::CComplexSound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor
+<p>
+Definition at line <a class="el" href="a05591.html#l00151">151</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+<div class="fragment"><pre>00152 : <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr5">_MaxDistValid</a>(<span class="keyword">false</span>),
+00153 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr9">_TicksPerSeconds</a>(1.0f),
+00154 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a>(CComplexSound::MODE_UNDEFINED),
+00155 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr4">_DurationValid</a>(<span class="keyword">false</span>),
+00156 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a>(0),
+00157 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr10">_XFadeLenght</a>(3000) <span class="comment">// defualt to 3000 sec.</span>
+00158 {
+00159 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda28" doxytag="NLSOUND::CComplexSound::~CComplexSound" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLSOUND::CComplexSound::~<a class="el" href="a02393.html">CComplexSound</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Destructor
+<p>
+Definition at line <a class="el" href="a05591.html#l00163">163</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+<div class="fragment"><pre>00164 {
+00165 <span class="comment">/* if (_VolumeEnvelope != 0)</span>
+00166 <span class="comment"> {</span>
+00167 <span class="comment"> delete _VolumeEnvelope;</span>
+00168 <span class="comment"> }</span>
+00169 <span class="comment"></span>
+00170 <span class="comment"> if (_FreqModulation != 0)</span>
+00171 <span class="comment"> {</span>
+00172 <span class="comment"> delete _FreqModulation;</span>
+00173 <span class="comment"> }</span>
+00174 <span class="comment">*/</span>
+00175 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CSounde0" doxytag="NLSOUND::CComplexSound::createSound" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02246.html">CSound</a> * NLSOUND::CSound::createSound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02551.html">NLGEORGES::UFormElm</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>formRoot</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Factory for specialized sound.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06406.html#l00043">43</a> of file <a class="el" href="a06406.html">sound.cpp</a>.
+<p>
+References <a class="el" href="a02551.html#NLGEORGES_1_1UFormElma15">NLGEORGES::UFormElm::getDfnName()</a>, <a class="el" href="a02551.html#NLGEORGES_1_1UFormElma17">NLGEORGES::UFormElm::getNodeByName()</a>, <a class="el" href="a06406.html#l00140">NLSOUND::CSound::importForm()</a>, <a class="el" href="a05622.html#l00333">nlassertex</a>, and <a class="el" href="a05622.html#l00135">nlwarning</a>.
+<p>
+<div class="fragment"><pre>00044 {
+00045 NL_ALLOC_CONTEXT(NLSOUND_CSound);
+00046 <a class="code" href="a02246.html#NLSOUND_1_1CSounda0">CSound</a> *ret = NULL;
+00047 string soundType;
+00048
+00049 <a class="code" href="a02551.html">NLGEORGES::UFormElm</a> *psoundType;
+00050
+00051 <span class="keywordflow">if</span> (!formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma17">getNodeByName</a>(&amp;psoundType, <span class="stringliteral">".SoundType"</span>))
+00052 {
+00053 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"No SoundType in : %s"</span>, <a class="code" href="a05377.html#a2">filename</a>.c_str());
+00054 <span class="keywordflow">return</span> 0;
+00055 }
+00056
+00057 <span class="keywordflow">if</span> (psoundType != NULL)
+00058 {
+00059 std::string dfnName;
+00060 psoundType-&gt;<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma15">getDfnName</a>(dfnName);
+00061
+00062 <span class="keywordflow">if</span> (dfnName == <span class="stringliteral">"simple_sound.dfn"</span>)
+00063 {
+00064 ret = <span class="keyword">new</span> CSimpleSound();
+00065 ret-&gt;importForm(filename, formRoot);
+00066 }
+00067 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dfnName == <span class="stringliteral">"complex_sound.dfn"</span>)
+00068 {
+00069 ret = <span class="keyword">new</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSounda0">CComplexSound</a>();
+00070 ret-&gt;importForm(filename, formRoot);
+00071 }
+00072 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dfnName == <span class="stringliteral">"background_sound.dfn"</span>)
+00073 {
+00074 ret = <span class="keyword">new</span> CBackgroundSound();
+00075 ret-&gt;importForm(filename, formRoot);
+00076 }
+00077 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dfnName == <span class="stringliteral">"context_sound.dfn"</span>)
+00078 {
+00079 ret = <span class="keyword">new</span> CContextSound();
+00080 ret-&gt;importForm(filename, formRoot);
+00081 }
+00082 <span class="keywordflow">else</span>
+00083 {
+00084 <a class="code" href="a04199.html#a8">nlassertex</a>(<span class="keyword">false</span>, (<span class="stringliteral">"SoundType unsuported : %s"</span>, dfnName.c_str()));
+00085 }
+00086
+00087 }
+00088
+00089 <span class="keywordflow">return</span> ret;
+00090 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda1" doxytag="NLSOUND::CComplexSound::doFadeIn" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLSOUND::CComplexSound::doFadeIn </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00087">87</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00108">_DoFadeIn</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>.
+<p>
+<div class="fragment"><pre>00087 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr1">_DoFadeIn</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda2" doxytag="NLSOUND::CComplexSound::doFadeOut" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLSOUND::CComplexSound::doFadeOut </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00088">88</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00110">_DoFadeOut</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00577">NLSOUND::CComplexSource::onEvent()</a>, and <a class="el" href="a05593.html#l00456">NLSOUND::CComplexSource::onUpdate()</a>.
+<p>
+<div class="fragment"><pre>00088 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr2">_DoFadeOut</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda1" doxytag="NLSOUND::CComplexSound::getConeInnerAngle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NLSOUND::CSound::getConeInnerAngle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the inner angle of the cone.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00098">98</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00134">NLSOUND::CSound::_ConeInnerAngle</a>.
+<p>
+Referenced by <a class="el" href="a06390.html#l00290">NLSOUND::CSimpleSource::setDirection()</a>.
+<p>
+<div class="fragment"><pre>00098 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp0">_ConeInnerAngle</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda2" doxytag="NLSOUND::CComplexSound::getConeOuterAngle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NLSOUND::CSound::getConeOuterAngle </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the outer angle of the cone.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00100">100</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00134">NLSOUND::CSound::_ConeOuterAngle</a>.
+<p>
+Referenced by <a class="el" href="a06390.html#l00290">NLSOUND::CSimpleSource::setDirection()</a>.
+<p>
+<div class="fragment"><pre>00100 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp1">_ConeOuterAngle</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda3" doxytag="NLSOUND::CComplexSound::getConeOuterGain" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NLSOUND::CSound::getConeOuterGain </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the outer gain of the cone.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00102">102</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00134">NLSOUND::CSound::_ConeOuterGain</a>.
+<p>
+Referenced by <a class="el" href="a06390.html#l00290">NLSOUND::CSimpleSource::setDirection()</a>.
+<p>
+<div class="fragment"><pre>00102 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp2">_ConeOuterGain</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda6" doxytag="NLSOUND::CComplexSound::getDelaySeq" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const std::vector&lt;<a class="el" href="a04558.html#a11">uint32</a>&gt;&amp; NLSOUND::CComplexSound::getDelaySeq </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00063">63</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00103">_DelaySeq</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00577">NLSOUND::CComplexSource::onEvent()</a>, and <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>.
+<p>
+<div class="fragment"><pre>00063 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda4" doxytag="NLSOUND::CComplexSound::getDirectionVector" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03128.html">NLMISC::CVector</a>&amp; NLSOUND::CSound::getDirectionVector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the direction vector.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00104">104</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+<div class="fragment"><pre>00104 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp3">_Direction</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda8" doxytag="NLSOUND::CComplexSound::getDuration" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NLSOUND::CComplexSound::getDuration </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the length of the sound in ms.
+<p>
+
+<p>
+Implements <a class="el" href="a02246.html#NLSOUND_1_1CSounda5">NLSOUND::CSound</a>.
+<p>
+Definition at line <a class="el" href="a05591.html#l00056">56</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+References <a class="el" href="a05592.html#l00103">_DelaySeq</a>, <a class="el" href="a05592.html#l00098">_PatternMode</a>, <a class="el" href="a05592.html#l00101">_SoundSeq</a>, <a class="el" href="a05592.html#l00100">_TicksPerSeconds</a>, <a class="el" href="a05592.html#l00106">_XFadeLenght</a>, <a class="el" href="a02246.html#NLSOUND_1_1CSounda5">NLSOUND::CSound::getDuration()</a>, <a class="el" href="a05465.html#l01510">NLSOUND::CAudioMixerUser::getSoundId()</a>, <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw0">MODE_ALL_IN_ONE</a>, <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw1">MODE_CHAINED</a>, <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw2">MODE_SPARSE</a>, <a class="el" href="a06590.html#l00218">sint32</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>.
+<p>
+<div class="fragment"><pre>00057 {
+00058 <span class="comment">// evaluate the duration of the sound...</span>
+00059
+00060 <span class="keywordflow">if</span> (<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr4">_DurationValid</a>)
+00061 <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a>;
+00062
+00063 <span class="comment">// catch the duration of all sub sound.</span>
+00064 CAudioMixerUser *mixer = CAudioMixerUser::instance();
+00065
+00066 vector&lt;sint32&gt; durations;
+00067 std::vector&lt;NLMISC::TStringId&gt;::iterator first(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.begin()), last(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.end());
+00068 <span class="keywordflow">for</span> (; first != last; ++first)
+00069 {
+00070 <a class="code" href="a02246.html#NLSOUND_1_1CSounda0">CSound</a> *sound = mixer-&gt;getSoundId(*first);
+00071 <span class="keywordflow">if</span> (sound != NULL)
+00072 {
+00073 durations.push_back(<a class="code" href="a05167.html#a12">sint32</a>(sound-&gt;getDuration()));
+00074 }
+00075 <span class="keywordflow">else</span>
+00076 durations.push_back(0);
+00077
+00078 }
+00079
+00080 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> = 0;
+00081 <span class="keywordflow">switch</span> (<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a>)
+00082 {
+00083 <span class="keywordflow">case</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw1">MODE_CHAINED</a>:
+00084 {
+00085 <span class="comment">// sum the duration minus the xfade time (this is an aproximation if sample are shorter than 2 xfade time)</span>
+00086 vector&lt;uint32&gt;::iterator first(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr8">_SoundSeq</a>.begin()), last(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr8">_SoundSeq</a>.end()), prev;
+00087 <span class="keywordflow">for</span> (; first != last; ++first)
+00088 {
+00089 <span class="keywordflow">if</span> (first != <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr8">_SoundSeq</a>.begin() &amp;&amp; !durations.empty())
+00090 {
+00091 <span class="comment">// remove a xfade value</span>
+00092 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> -= minof&lt;uint32&gt;(<a class="code" href="a05167.html#a13">uint32</a>(_XFadeLenght / _TicksPerSeconds), durations[*first % durations.size()] / 2, durations[*prev % durations.size()] /2);
+00093 }
+00094 <span class="keywordflow">if</span> (!durations.empty())
+00095 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> += durations[*first % durations.size()];
+00096 prev = first;
+00097 }
+00098 <span class="comment">// _Duration -= max(sint(0), sint(_XFadeLenght * (_SoundSeq.size()-2) ));</span>
+00099 }
+00100 <span class="keywordflow">break</span>;
+00101 <span class="keywordflow">case</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw2">MODE_SPARSE</a>:
+00102 {
+00103 <span class="keywordflow">if</span> (<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr8">_SoundSeq</a>.empty())
+00104 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> = 0;
+00105 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a>.empty())
+00106 {
+00107 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> = durations[0];
+00108 }
+00109 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a>.size() == 1)
+00110 {
+00111 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> = durations[0] + <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a>[0];
+00112 }
+00113 <span class="keywordflow">else</span>
+00114 {
+00115 <a class="code" href="a04558.html#a15">uint</a> soundIndex = 0;
+00116 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> = 0; <span class="comment">//durations[soundIndex++];</span>
+00117
+00118 std::vector&lt;uint32&gt;::iterator first(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a>.begin()), last(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a>.end());
+00119
+00120 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a>+= *first;
+00121 ++first;
+00122 <span class="keywordflow">for</span> (; first != last; ++first)
+00123 {
+00124 <span class="comment">// add the sound lenght</span>
+00125 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> += durations[soundIndex++ % durations.size()];
+00126 <span class="comment">// add the delay</span>
+00127 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> += <a class="code" href="a05167.html#a13">uint32</a>(*first / _TicksPerSeconds);
+00128 }
+00129 }
+00130 }
+00131 <span class="keywordflow">break</span>;
+00132 <span class="keywordflow">case</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw0">MODE_ALL_IN_ONE</a>:
+00133 <span class="comment">// only find the longueur sound.</span>
+00134 <span class="keywordflow">if</span> (!durations.empty())
+00135 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> = *(std::max_element(durations.begin(), durations.end()));
+00136 <span class="keywordflow">else</span>
+00137 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a> = 0;
+00138 <span class="keywordflow">break</span>;
+00139 <span class="keywordflow">default</span>:
+00140 <span class="keywordflow">return</span> 0;
+00141 }
+00142
+00143 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr4">_DurationValid</a> = <span class="keyword">true</span>;
+00144 <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr3">_Duration</a>;
+00145
+00146 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda9" doxytag="NLSOUND::CComplexSound::getFadeLenght" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NLSOUND::CComplexSound::getFadeLenght </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00067">67</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00106">_XFadeLenght</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00456">NLSOUND::CComplexSource::onUpdate()</a>, and <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>.
+<p>
+<div class="fragment"><pre>00067 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr10">_XFadeLenght</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda6" doxytag="NLSOUND::CComplexSound::getGain" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NLSOUND::CSound::getGain </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the gain.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00090">90</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05465.html#l01017">NLSOUND::CAudioMixerUser::addUserControledSource()</a>, <a class="el" href="a05593.html#l00037">NLSOUND::CComplexSource::CComplexSource()</a>, <a class="el" href="a05465.html#l01576">NLSOUND::CAudioMixerUser::createSource()</a>, and <a class="el" href="a05473.html#l00165">NLSOUND::CBackgroundSource::updateFilterValues()</a>.
+<p>
+<div class="fragment"><pre>00090 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp4">_Gain</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda7" doxytag="NLSOUND::CComplexSound::getLooping" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLSOUND::CSound::getLooping </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the looping state.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00088">88</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00137">NLSOUND::CSound::_Looping</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00037">NLSOUND::CComplexSource::CComplexSource()</a>, and <a class="el" href="a05593.html#l00698">NLSOUND::CComplexSource::checkup()</a>.
+<p>
+<div class="fragment"><pre>00088 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp5">_Looping</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundd0" doxytag="NLSOUND::CComplexSound::getMaxDistance" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NLSOUND::CComplexSound::getMaxDistance </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [private, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the max distance (if detailed()).
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02246.html#NLSOUND_1_1CSounda8">NLSOUND::CSound</a>.
+<p>
+Definition at line <a class="el" href="a05591.html#l00177">177</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+References <a class="el" href="a06407.html#l00140">NLSOUND::CSound::_MaxDist</a>, <a class="el" href="a05592.html#l00112">_MaxDistValid</a>, <a class="el" href="a06407.html#l00110">NLSOUND::CSound::getMaxDistance()</a>, and <a class="el" href="a05465.html#l01510">NLSOUND::CAudioMixerUser::getSoundId()</a>.
+<p>
+<div class="fragment"><pre>00178 {
+00179 <span class="keywordflow">if</span> (!<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr5">_MaxDistValid</a>)
+00180 {
+00181 <span class="comment">// compute the max distance by checking the max distance of all sounds.</span>
+00182 CAudioMixerUser *mixer = CAudioMixerUser::instance();
+00183
+00184 <span class="comment">// Hum, getMaxDistance is const, but we must compute the real max dist and update it !</span>
+00185 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSounda0">CComplexSound</a> *This = const_cast&lt;CComplexSound*&gt;(<span class="keyword">this</span>);
+00186
+00187 This-&gt;_MaxDist = 0.0f;
+00188 std::vector&lt;NLMISC::TStringId&gt;::const_iterator first(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.begin()), last(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.end());
+00189
+00190 <span class="keywordflow">for</span> (; first != last; ++first)
+00191 {
+00192 <a class="code" href="a02246.html#NLSOUND_1_1CSounda0">CSound</a> *sound = mixer-&gt;getSoundId(*first);
+00193 <span class="keywordflow">if</span>( sound != NULL)
+00194 {
+00195 This-&gt;_MaxDist = max(_MaxDist, sound-&gt;getMaxDistance());
+00196 }
+00197 }
+00198 <span class="comment">// security check.</span>
+00199 <span class="keywordflow">if</span> (<a class="code" href="a02246.html#NLSOUND_1_1CSoundp6">_MaxDist</a> == 0.0f)
+00200 This-&gt;_MaxDist = 1000000.0f;
+00201 }
+00202
+00203 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr5">_MaxDistValid</a> = <span class="keyword">true</span>;
+00204 <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp6">_MaxDist</a>;
+00205 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda9" doxytag="NLSOUND::CComplexSound::getName" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a05378.html#a236">NLMISC::TStringId</a>&amp; NLSOUND::CSound::getName </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the name (must be unique).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00108">108</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06414.html#l00151">NLSOUND::CSoundBank::addSound()</a>, <a class="el" href="a05612.html#l00136">NLSOUND::CContextSoundContainer&lt; NbJoker, UseRandom, Shift &gt;::addSound()</a>, and <a class="el" href="a05593.html#l00456">NLSOUND::CComplexSource::onUpdate()</a>.
+<p>
+<div class="fragment"><pre>00108 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp7">_Name</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda13" doxytag="NLSOUND::CComplexSound::getPatternMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">TPATTERN_MODE</a> NLSOUND::CComplexSound::getPatternMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00059">59</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00098">_PatternMode</a>, and <a class="el" href="a05592.html#l00047">TPATTERN_MODE</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00577">NLSOUND::CComplexSource::onEvent()</a>, <a class="el" href="a05593.html#l00456">NLSOUND::CComplexSource::onUpdate()</a>, <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>, <a class="el" href="a05593.html#l00358">NLSOUND::CComplexSource::setGain()</a>, <a class="el" href="a05593.html#l00390">NLSOUND::CComplexSource::setRelativeGain()</a>, and <a class="el" href="a05593.html#l00255">NLSOUND::CComplexSource::stop()</a>.
+<p>
+<div class="fragment"><pre>00059 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda10" doxytag="NLSOUND::CComplexSound::getPitch" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float NLSOUND::CSound::getPitch </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the pitch.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00092">92</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00037">NLSOUND::CComplexSource::CComplexSource()</a>, <a class="el" href="a05465.html#l01576">NLSOUND::CAudioMixerUser::createSource()</a>, <a class="el" href="a05593.html#l00577">NLSOUND::CComplexSource::onEvent()</a>, <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>, and <a class="el" href="a05473.html#l00165">NLSOUND::CBackgroundSource::updateFilterValues()</a>.
+<p>
+<div class="fragment"><pre>00092 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp8">_Pitch</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda11" doxytag="NLSOUND::CComplexSound::getPriority" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05381.html#a82">TSoundPriority</a> NLSOUND::CSound::getPriority </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the initial priority.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00094">94</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00133">NLSOUND::CSound::_Priority</a>, and <a class="el" href="a06630.html#l00072">NLSOUND::TSoundPriority</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00037">NLSOUND::CComplexSource::CComplexSource()</a>.
+<p>
+<div class="fragment"><pre>00094 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp9">_Priority</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda16" doxytag="NLSOUND::CComplexSound::getSound" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> NLSOUND::CComplexSound::getSound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>index</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00064">64</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00225">index</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00577">NLSOUND::CComplexSource::onEvent()</a>, <a class="el" href="a05593.html#l00456">NLSOUND::CComplexSource::onUpdate()</a>, and <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>.
+<p>
+<div class="fragment"><pre>00064 { <span class="keywordflow">return</span> !<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.empty() ? <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>[<a class="code" href="a04223.html#a566">index</a>%<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.size()]: NULL;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda17" doxytag="NLSOUND::CComplexSound::getSounds" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const std::vector&lt;<a class="el" href="a05378.html#a236">NLMISC::TStringId</a>&gt;&amp; NLSOUND::CComplexSound::getSounds </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00065">65</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>.
+<p>
+<div class="fragment"><pre>00065 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda18" doxytag="NLSOUND::CComplexSound::getSoundSeq" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const std::vector&lt;<a class="el" href="a04558.html#a11">uint32</a>&gt;&amp; NLSOUND::CComplexSound::getSoundSeq </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00062">62</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00101">_SoundSeq</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00577">NLSOUND::CComplexSource::onEvent()</a>, <a class="el" href="a05593.html#l00456">NLSOUND::CComplexSource::onUpdate()</a>, and <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>.
+<p>
+<div class="fragment"><pre>00062 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr8">_SoundSeq</a>;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda19" doxytag="NLSOUND::CComplexSound::getSoundType" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02246.html#NLSOUND_1_1CSoundw4">TSOUND_TYPE</a> NLSOUND::CComplexSound::getSoundType </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the type of the sound.
+<p>
+
+<p>
+Implements <a class="el" href="a02246.html#NLSOUND_1_1CSounda12">NLSOUND::CSound</a>.
+<p>
+Definition at line <a class="el" href="a05592.html#l00084">84</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00037">NLSOUND::CComplexSource::CComplexSource()</a>.
+<p>
+<div class="fragment"><pre>00084 {<span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundw4NLSOUND_1_1CSoundw1">SOUND_COMPLEX</a>;};
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda20" doxytag="NLSOUND::CComplexSound::getSubSoundList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLSOUND::CComplexSound::getSubSoundList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::vector&lt; std::pair&lt; std::string, <a class="el" href="a02246.html">CSound</a> * &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>subsounds</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used by the george sound plugin to check sound recursion (ie sound 'toto' use sound 'titi' witch also use sound 'toto' ...).
+<p>
+
+<p>
+Implements <a class="el" href="a02246.html#NLSOUND_1_1CSounda13">NLSOUND::CSound</a>.
+<p>
+Definition at line <a class="el" href="a05591.html#l00044">44</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+References <a class="el" href="a05465.html#l01510">NLSOUND::CAudioMixerUser::getSoundId()</a>.
+<p>
+<div class="fragment"><pre>00045 {
+00046 CAudioMixerUser *mixer = CAudioMixerUser::instance();
+00047 std::vector&lt;NLMISC::TStringId&gt;::const_iterator first(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.begin()), last(<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.end());
+00048 <span class="keywordflow">for</span> (; first != last; ++first)
+00049 {
+00050 <a class="code" href="a02246.html#NLSOUND_1_1CSounda0">CSound</a> *sound = mixer-&gt;getSoundId(*first);
+00051 subsounds.push_back(make_pair(CStringMapper::unmap(*first), sound));
+00052 }
+00053 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundz1299_0" doxytag="NLSOUND::CComplexSound::getTicksPerSecond" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual float NLSOUND::CComplexSound::getTicksPerSecond </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00080">80</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00100">_TicksPerSeconds</a>.
+<p>
+Referenced by <a class="el" href="a05593.html#l00037">NLSOUND::CComplexSource::CComplexSource()</a>.
+<p>
+<div class="fragment"><pre>00080 { <span class="keywordflow">return</span> <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr9">_TicksPerSeconds</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda14" doxytag="NLSOUND::CComplexSound::getUserVarControler" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> NLSOUND::CSound::getUserVarControler </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00121">121</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00145">NLSOUND::CSound::_UserVarControler</a>.
+<p>
+<div class="fragment"><pre>00121 { <span class="keywordflow">return</span> <a class="code" href="a02246.html#NLSOUND_1_1CSoundp10">_UserVarControler</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda22" doxytag="NLSOUND::CComplexSound::importForm" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLSOUND::CComplexSound::importForm </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>filename</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02551.html">NLGEORGES::UFormElm</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>formRoot</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Load the sound parameters from georges' form.
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02246.html#NLSOUND_1_1CSounda15">NLSOUND::CSound</a>.
+<p>
+Definition at line <a class="el" href="a05591.html#l00246">246</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+References <a class="el" href="a05592.html#l00103">_DelaySeq</a>, <a class="el" href="a05592.html#l00108">_DoFadeIn</a>, <a class="el" href="a05592.html#l00110">_DoFadeOut</a>, <a class="el" href="a05592.html#l00098">_PatternMode</a>, <a class="el" href="a05592.html#l00101">_SoundSeq</a>, <a class="el" href="a05592.html#l00100">_TicksPerSeconds</a>, <a class="el" href="a05592.html#l00106">_XFadeLenght</a>, <a class="el" href="a02551.html#NLGEORGES_1_1UFormElma3">NLGEORGES::UFormElm::getArraySize()</a>, <a class="el" href="a02551.html#NLGEORGES_1_1UFormElma14">NLGEORGES::UFormElm::getArrayValue()</a>, <a class="el" href="a02551.html#NLGEORGES_1_1UFormElma15">NLGEORGES::UFormElm::getDfnName()</a>, <a class="el" href="a02551.html#NLGEORGES_1_1UFormElma17">NLGEORGES::UFormElm::getNodeByName()</a>, <a class="el" href="a02551.html#NLGEORGES_1_1UFormElma44">NLGEORGES::UFormElm::getValueByName()</a>, <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw0">MODE_ALL_IN_ONE</a>, <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw1">MODE_CHAINED</a>, <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw2">MODE_SPARSE</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00333">nlassertex</a>, <a class="el" href="a05591.html#l00020">parseSequence()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00247 {
+00248 <a class="code" href="a02551.html">NLGEORGES::UFormElm</a> *psoundType;
+00249 std::string dfnName;
+00250
+00251 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr4">_DurationValid</a> = <span class="keyword">false</span>;
+00252
+00253 <span class="comment">// some basic checking.</span>
+00254 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma17">getNodeByName</a>(&amp;psoundType, <span class="stringliteral">".SoundType"</span>);
+00255 <a class="code" href="a04199.html#a6">nlassert</a>(psoundType != NULL);
+00256 psoundType-&gt;<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma15">getDfnName</a>(dfnName);
+00257 <a class="code" href="a04199.html#a6">nlassert</a>(dfnName == <span class="stringliteral">"complex_sound.dfn"</span>);
+00258
+00259 <span class="comment">// Call the base class</span>
+00260 CSound::importForm(filename, formRoot);
+00261
+00262 <span class="comment">// Beat per second.</span>
+00263 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma44">getValueByName</a>(_TicksPerSeconds, <span class="stringliteral">".SoundType.Beat"</span>);
+00264 <span class="comment">//beat can't be null or negative! </span>
+00265 <span class="keywordflow">if</span> (<a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr9">_TicksPerSeconds</a> &lt;= 0.0f)
+00266 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr9">_TicksPerSeconds</a> = 1.0f;
+00267
+00268
+00269
+00270 <span class="comment">// List of sound int this pattern</span>
+00271 <a class="code" href="a02551.html">NLGEORGES::UFormElm</a> *psoundsArray;
+00272 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.clear();
+00273 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma17">getNodeByName</a>(&amp;psoundsArray, <span class="stringliteral">".SoundType.SoundList"</span>);
+00274
+00275 <span class="keywordflow">if</span> (psoundsArray != NULL)
+00276 {
+00277 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a587">size</a>;
+00278 psoundsArray-&gt;<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma3">getArraySize</a>(size);
+00279 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;<a class="code" href="a04223.html#a587">size</a>; ++i)
+00280 {
+00281 string soundname;
+00282 <span class="keywordflow">if</span> (psoundsArray-&gt;<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma14">getArrayValue</a>(soundname, i))
+00283 {
+00284 soundname = CFile::getFilenameWithoutExtension(soundname);
+00285 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.push_back(CStringMapper::map(soundname));
+00286 }
+00287 }
+00288 }
+00289
+00290
+00291 <span class="comment">// Mode of the complex sound.</span>
+00292 string mode;
+00293 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma44">getValueByName</a>(mode, <span class="stringliteral">".SoundType.Mode"</span>);
+00294
+00295 <span class="keywordflow">if</span> (mode == <span class="stringliteral">"Chained"</span> || mode == <span class="stringliteral">"Sparse"</span>)
+00296 {
+00297 <span class="comment">// XFade lenght</span>
+00298 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma44">getValueByName</a>(_XFadeLenght, <span class="stringliteral">".SoundType.XFadeLenght"</span>);
+00299 <span class="comment">// Fade in/out flag.</span>
+00300 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma44">getValueByName</a>(_DoFadeIn, <span class="stringliteral">".SoundType.DoFadeIn"</span>);
+00301 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma44">getValueByName</a>(_DoFadeOut, <span class="stringliteral">".SoundType.DoFadeOut"</span>);
+00302
+00303 <span class="comment">// convert xfade to millisec.</span>
+00304 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr10">_XFadeLenght</a> *= 1000;
+00305 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a> = <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw1">MODE_CHAINED</a>;
+00306 <span class="comment">// just read the sequence</span>
+00307 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr8">_SoundSeq</a>.clear();
+00308
+00309 string str;
+00310 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma44">getValueByName</a>(str, <span class="stringliteral">".SoundType.SoundSeq"</span>);
+00311 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundd1">parseSequence</a>(str, _SoundSeq);
+00312
+00313 <span class="keywordflow">if</span> (mode == <span class="stringliteral">"Sparse"</span>)
+00314 {
+00315 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a> = <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw2">MODE_SPARSE</a>;
+00316 <span class="comment">// also read the delay sequence</span>
+00317 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr0">_DelaySeq</a>.clear();
+00318
+00319 string str;
+00320 formRoot.<a class="code" href="a02551.html#NLGEORGES_1_1UFormElma44">getValueByName</a>(str, <span class="stringliteral">".SoundType.DelaySeq"</span>);
+00321 <span class="comment">// parse the delay and premult by 1000 (for millisec).</span>
+00322 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundd1">parseSequence</a>(str, _DelaySeq, 1000);
+00323 }
+00324 }
+00325 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (mode == <span class="stringliteral">"AllInOne"</span>)
+00326 {
+00327 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a> = <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundw8NLSOUND_1_1CComplexSoundw0">MODE_ALL_IN_ONE</a>;
+00328 <span class="comment">// nothing special to read.</span>
+00329 }
+00330 <span class="keywordflow">else</span>
+00331 <a class="code" href="a04199.html#a8">nlassertex</a>(<span class="keyword">false</span>, (<span class="stringliteral">"Unsupported mode : %s"</span>, mode.c_str()));
+00332
+00333 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda23" doxytag="NLSOUND::CComplexSound::isDetailed" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLSOUND::CComplexSound::isDetailed </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return true if cone is meaningful.
+<p>
+
+<p>
+Implements <a class="el" href="a02246.html#NLSOUND_1_1CSounda16">NLSOUND::CSound</a>.
+<p>
+Definition at line <a class="el" href="a05591.html#l00015">15</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+<div class="fragment"><pre>00016 {
+00017 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00018 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda17" doxytag="NLSOUND::CComplexSound::operator<" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLSOUND::CSound::operator&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02246.html">CSound</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>otherSound</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00123">123</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00143">NLSOUND::CSound::_Name</a>, and <a class="el" href="a06470.html#l00083">NLMISC::CStringMapper::unmap()</a>.
+<p>
+<div class="fragment"><pre>00124 {
+00125 <span class="keywordflow">return</span> <a class="code" href="a03450.html#NLMISC_1_1CStringMappere4">NLMISC::CStringMapper::unmap</a>(_Name) &lt; <a class="code" href="a03450.html#NLMISC_1_1CStringMappere4">NLMISC::CStringMapper::unmap</a>(otherSound._Name);
+00126 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundd1" doxytag="NLSOUND::CComplexSound::parseSequence" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLSOUND::CComplexSound::parseSequence </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; <a class="el" href="a04558.html#a11">uint32</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>seq</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>scale</em> = 1</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05591.html#l00020">20</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05591.html#l00246">importForm()</a>.
+<p>
+<div class="fragment"><pre>00021 {
+00022 seq.clear();
+00023
+00024 string val;
+00025 string::const_iterator first(str.begin()), last(str.end());
+00026
+00027 <span class="keywordflow">for</span> (; first != last; ++first)
+00028 {
+00029 <span class="keywordflow">if</span> (*first != <span class="charliteral">';'</span>)
+00030 val += *first;
+00031 <span class="keywordflow">else</span>
+00032 {
+00033 seq.push_back(atoi(val.c_str()) * scale);
+00034 val.clear();
+00035 }
+00036 }
+00037
+00038 <span class="comment">// parse the last value</span>
+00039 <span class="keywordflow">if</span> (!val.empty())
+00040 seq.push_back(atoi(val.c_str()) * scale);
+00041
+00042 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda25" doxytag="NLSOUND::CComplexSound::serial" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLSOUND::CComplexSound::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Reimplemented from <a class="el" href="a02246.html#NLSOUND_1_1CSounda18">NLSOUND::CSound</a>.
+<p>
+Definition at line <a class="el" href="a05591.html#l00207">207</a> of file <a class="el" href="a05591.html">complex_sound.cpp</a>.
+<p>
+References <a class="el" href="a05592.html#l00103">_DelaySeq</a>, <a class="el" href="a05592.html#l00108">_DoFadeIn</a>, <a class="el" href="a05592.html#l00110">_DoFadeOut</a>, <a class="el" href="a05592.html#l00098">_PatternMode</a>, <a class="el" href="a05592.html#l00101">_SoundSeq</a>, <a class="el" href="a05592.html#l00100">_TicksPerSeconds</a>, <a class="el" href="a05592.html#l00106">_XFadeLenght</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00208 {
+00209 CSound::serial(s);
+00210 <a class="code" href="a04223.html#a626">s</a>.serialEnum(_PatternMode);
+00211 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a626">s</a>.isReading())
+00212 {
+00213 <a class="code" href="a04558.html#a11">uint32</a> nb;
+00214 <a class="code" href="a04223.html#a626">s</a>.serial(nb);
+00215
+00216 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;nb; ++i)
+00217 {
+00218 std::string name;
+00219 <a class="code" href="a04223.html#a626">s</a>.serial(name);
+00220 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.push_back(CStringMapper::map(name));
+00221 }
+00222 }
+00223 <span class="keywordflow">else</span>
+00224 {
+00225 <a class="code" href="a04558.html#a11">uint32</a> nb = <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr7">_Sounds</a>.size();
+00226 <a class="code" href="a04223.html#a626">s</a>.serial(nb);
+00227 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;nb; ++i)
+00228 {
+00229 std::string name = CStringMapper::unmap(_Sounds[i]);
+00230 <a class="code" href="a04223.html#a626">s</a>.serial(name);
+00231 }
+00232 }
+00233 <a class="code" href="a04223.html#a626">s</a>.serial(_TicksPerSeconds);
+00234 <a class="code" href="a04223.html#a626">s</a>.serialCont(_SoundSeq);
+00235 <a class="code" href="a04223.html#a626">s</a>.serialCont(_DelaySeq);
+00236 <a class="code" href="a04223.html#a626">s</a>.serial(_XFadeLenght);
+00237 <a class="code" href="a04223.html#a626">s</a>.serial(_DoFadeIn);
+00238 <a class="code" href="a04223.html#a626">s</a>.serial(_DoFadeOut);
+00239
+00240 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a626">s</a>.isReading())
+00241 <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr4">_DurationValid</a> = <span class="keyword">false</span>;
+00242 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSounda19" doxytag="NLSOUND::CComplexSound::setLooping" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLSOUND::CSound::setLooping </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>looping</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, inherited]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set looping.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00113">113</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+References <a class="el" href="a06407.html#l00137">NLSOUND::CSound::_Looping</a>.
+<p>
+<div class="fragment"><pre>00113 { <a class="code" href="a02246.html#NLSOUND_1_1CSoundp5">_Looping</a> = looping; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSounda27" doxytag="NLSOUND::CComplexSound::setPatternMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLSOUND::CComplexSound::setPatternMode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">TPATTERN_MODE</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>patternMode</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00060">60</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00098">_PatternMode</a>.
+<p>
+<div class="fragment"><pre>00060 { <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr6">_PatternMode</a> = patternMode;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundz1299_1" doxytag="NLSOUND::CComplexSound::setTicksPerSecond" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> virtual void NLSOUND::CComplexSound::setTicksPerSecond </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ticks</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00081">81</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+References <a class="el" href="a05592.html#l00100">_TicksPerSeconds</a>.
+<p>
+<div class="fragment"><pre>00081 { <a class="code" href="a02393.html#NLSOUND_1_1CComplexSoundr9">_TicksPerSeconds</a> = ticks; }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLSOUND_1_1CSoundp0" doxytag="NLSOUND::CComplexSound::_ConeInnerAngle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02246.html#NLSOUND_1_1CSoundp0">NLSOUND::CSound::_ConeInnerAngle</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00134">134</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06407.html#l00098">NLSOUND::CSound::getConeInnerAngle()</a>, <a class="el" href="a06406.html#l00140">NLSOUND::CSound::importForm()</a>, and <a class="el" href="a06406.html#l00114">NLSOUND::CSound::serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp1" doxytag="NLSOUND::CComplexSound::_ConeOuterAngle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02246.html#NLSOUND_1_1CSoundp1">NLSOUND::CSound::_ConeOuterAngle</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00134">134</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06407.html#l00100">NLSOUND::CSound::getConeOuterAngle()</a>, <a class="el" href="a06406.html#l00140">NLSOUND::CSound::importForm()</a>, and <a class="el" href="a06406.html#l00114">NLSOUND::CSound::serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp2" doxytag="NLSOUND::CComplexSound::_ConeOuterGain" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02246.html#NLSOUND_1_1CSoundp2">NLSOUND::CSound::_ConeOuterGain</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00134">134</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06407.html#l00102">NLSOUND::CSound::getConeOuterGain()</a>, <a class="el" href="a06406.html#l00140">NLSOUND::CSound::importForm()</a>, and <a class="el" href="a06406.html#l00114">NLSOUND::CSound::serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr0" doxytag="NLSOUND::CComplexSound::_DelaySeq" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a04558.html#a11">uint32</a>&gt; <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr0">NLSOUND::CComplexSound::_DelaySeq</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Sequence of delay in millisec.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00103">103</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05592.html#l00063">getDelaySeq()</a>, <a class="el" href="a05591.html#l00056">getDuration()</a>, <a class="el" href="a05591.html#l00246">importForm()</a>, and <a class="el" href="a05591.html#l00207">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp3" doxytag="NLSOUND::CComplexSound::_Direction" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">NLMISC::CVector</a> <a class="el" href="a02246.html#NLSOUND_1_1CSoundp3">NLSOUND::CSound::_Direction</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00135">135</a> of file <a class="el" href="a06407.html">sound.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr1" doxytag="NLSOUND::CComplexSound::_DoFadeIn" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr1">NLSOUND::CComplexSound::_DoFadeIn</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Flag for fade in.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00108">108</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05592.html#l00087">doFadeIn()</a>, <a class="el" href="a05591.html#l00246">importForm()</a>, and <a class="el" href="a05591.html#l00207">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr2" doxytag="NLSOUND::CComplexSound::_DoFadeOut" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr2">NLSOUND::CComplexSound::_DoFadeOut</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Flag for fade out (only on normal termination, not explicit stop).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00110">110</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05592.html#l00088">doFadeOut()</a>, <a class="el" href="a05591.html#l00246">importForm()</a>, and <a class="el" href="a05591.html#l00207">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr3" doxytag="NLSOUND::CComplexSound::_Duration" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr3">NLSOUND::CComplexSound::_Duration</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00115">115</a> of file <a class="el" href="a05592.html">complex_sound.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr4" doxytag="NLSOUND::CComplexSound::_DurationValid" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr4">NLSOUND::CComplexSound::_DurationValid</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00117">117</a> of file <a class="el" href="a05592.html">complex_sound.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp4" doxytag="NLSOUND::CComplexSound::_Gain" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02246.html#NLSOUND_1_1CSoundp4">NLSOUND::CSound::_Gain</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00131">131</a> of file <a class="el" href="a06407.html">sound.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp5" doxytag="NLSOUND::CComplexSound::_Looping" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02246.html#NLSOUND_1_1CSoundp5">NLSOUND::CSound::_Looping</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00137">137</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06407.html#l00088">NLSOUND::CSound::getLooping()</a>, <a class="el" href="a06406.html#l00140">NLSOUND::CSound::importForm()</a>, <a class="el" href="a06406.html#l00114">NLSOUND::CSound::serial()</a>, and <a class="el" href="a06407.html#l00113">NLSOUND::CSound::setLooping()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp6" doxytag="NLSOUND::CComplexSound::_MaxDist" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02246.html#NLSOUND_1_1CSoundp6">NLSOUND::CSound::_MaxDist</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Clipping distance for complex or backgound sound.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00140">140</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05591.html#l00177">getMaxDistance()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr5" doxytag="NLSOUND::CComplexSound::_MaxDistValid" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr5">NLSOUND::CComplexSound::_MaxDistValid</a><code> [mutable, private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00112">112</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05591.html#l00177">getMaxDistance()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp7" doxytag="NLSOUND::CComplexSound::_Name" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> <a class="el" href="a02246.html#NLSOUND_1_1CSoundp7">NLSOUND::CSound::_Name</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00143">143</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06407.html#l00123">NLSOUND::CSound::operator&lt;()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr6" doxytag="NLSOUND::CComplexSound::_PatternMode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundw8">TPATTERN_MODE</a> <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr6">NLSOUND::CComplexSound::_PatternMode</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00098">98</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05591.html#l00056">getDuration()</a>, <a class="el" href="a05592.html#l00059">getPatternMode()</a>, <a class="el" href="a05591.html#l00246">importForm()</a>, <a class="el" href="a05591.html#l00207">serial()</a>, and <a class="el" href="a05592.html#l00060">setPatternMode()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp8" doxytag="NLSOUND::CComplexSound::_Pitch" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02246.html#NLSOUND_1_1CSoundp8">NLSOUND::CSound::_Pitch</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00132">132</a> of file <a class="el" href="a06407.html">sound.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp9" doxytag="NLSOUND::CComplexSound::_Priority" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05381.html#a82">TSoundPriority</a> <a class="el" href="a02246.html#NLSOUND_1_1CSoundp9">NLSOUND::CSound::_Priority</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00133">133</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06407.html#l00094">NLSOUND::CSound::getPriority()</a>, <a class="el" href="a06406.html#l00140">NLSOUND::CSound::importForm()</a>, and <a class="el" href="a06406.html#l00114">NLSOUND::CSound::serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr7" doxytag="NLSOUND::CComplexSound::_Sounds" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a05378.html#a236">NLMISC::TStringId</a>&gt; <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr7">NLSOUND::CComplexSound::_Sounds</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00099">99</a> of file <a class="el" href="a05592.html">complex_sound.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr8" doxytag="NLSOUND::CComplexSound::_SoundSeq" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="a04558.html#a11">uint32</a>&gt; <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr8">NLSOUND::CComplexSound::_SoundSeq</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00101">101</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05591.html#l00056">getDuration()</a>, <a class="el" href="a05592.html#l00062">getSoundSeq()</a>, <a class="el" href="a05591.html#l00246">importForm()</a>, and <a class="el" href="a05591.html#l00207">serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr9" doxytag="NLSOUND::CComplexSound::_TicksPerSeconds" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr9">NLSOUND::CComplexSound::_TicksPerSeconds</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00100">100</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05591.html#l00056">getDuration()</a>, <a class="el" href="a05592.html#l00080">getTicksPerSecond()</a>, <a class="el" href="a05591.html#l00246">importForm()</a>, <a class="el" href="a05591.html#l00207">serial()</a>, and <a class="el" href="a05592.html#l00081">setTicksPerSecond()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CSoundp10" doxytag="NLSOUND::CComplexSound::_UserVarControler" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a236">NLMISC::TStringId</a> <a class="el" href="a02246.html#NLSOUND_1_1CSoundp10">NLSOUND::CSound::_UserVarControler</a><code> [protected, inherited]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+An optional user var controler.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06407.html#l00145">145</a> of file <a class="el" href="a06407.html">sound.h</a>.
+<p>
+Referenced by <a class="el" href="a06407.html#l00121">NLSOUND::CSound::getUserVarControler()</a>, and <a class="el" href="a05465.html#l00895">NLSOUND::CAudioMixerUser::initUserVar()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLSOUND_1_1CComplexSoundr10" doxytag="NLSOUND::CComplexSound::_XFadeLenght" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a02393.html#NLSOUND_1_1CComplexSoundr10">NLSOUND::CComplexSound::_XFadeLenght</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Duration of xfade in millisec.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05592.html#l00106">106</a> of file <a class="el" href="a05592.html">complex_sound.h</a>.
+<p>
+Referenced by <a class="el" href="a05591.html#l00056">getDuration()</a>, <a class="el" href="a05592.html#l00067">getFadeLenght()</a>, <a class="el" href="a05591.html#l00246">importForm()</a>, and <a class="el" href="a05591.html#l00207">serial()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a05592.html">complex_sound.h</a><li><a class="el" href="a05591.html">complex_sound.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 14:36:18 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>