diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02767.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a02767.html')
-rw-r--r-- | docs/doxygen/nel/a02767.html | 1158 |
1 files changed, 1158 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02767.html b/docs/doxygen/nel/a02767.html new file mode 100644 index 00000000..673419bf --- /dev/null +++ b/docs/doxygen/nel/a02767.html @@ -0,0 +1,1158 @@ +<!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::CListenerDSound 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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLSOUND::CListenerDSound Class Reference</h1><code>#include <<a class="el" href="a05920.html">listener_dsound.h</a>></code> +<p> +<p>Inheritance diagram for NLSOUND::CListenerDSound: +<p><center><img src="a02767.png" usemap="#NLSOUND::CListenerDSound_map" border="0" alt=""></center> +<map name="NLSOUND::CListenerDSound_map"> +<area href="a03861.html" alt="NLSOUND::IListener" shape="rect" coords="0,0,177,24"> +</map> +<hr><a name="_details"></a><h2>Detailed Description</h2> +DirectSound listener.<p> +For arguments as 3D vectors, use the NeL vector coordinate system (not OpenAL/OpenGL's one).<p> +<dl compact><dt><b>Author:</b></dt><dd>Peter Hanappe, Olivier Cado <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05920.html#l00056">56</a> of file <a class="el" href="a05920.html">listener_dsound.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSounda0">CListenerDSound</a> (LPDIRECTSOUND3DLISTENER8 dsoundListener)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#NLSOUND_1_1CListenerDSounda0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSounda1">commit3DChanges</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Commit any changes to the 3D environment. <a href="#NLSOUND_1_1CListenerDSounda1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSounda2">~CListenerDSound</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Deconstructor. <a href="#NLSOUND_1_1CListenerDSounda2"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Listener properties</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_0">getGain</a> () const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the gain. <a href="#NLSOUND_1_1CListenerDSoundz1306_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_1">getOrientation</a> (<a class="el" href="a03128.html">NLMISC::CVector</a> &front, <a class="el" href="a03128.html">NLMISC::CVector</a> &up) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the orientation vectors. <a href="#NLSOUND_1_1CListenerDSoundz1306_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_2">getPos</a> () const </td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_3">getVelocity</a> (<a class="el" href="a03128.html">NLMISC::CVector</a> &vel) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the velocity vector. <a href="#NLSOUND_1_1CListenerDSoundz1306_3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_4">setGain</a> (float gain)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_5">setOrientation</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &front, const <a class="el" href="a03128.html">NLMISC::CVector</a> &up)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the orientation vectors (3D mode only) (default: (0,1,0), (0,0,1)). <a href="#NLSOUND_1_1CListenerDSoundz1306_5"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_6">setPos</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &pos)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the position vector (default: (0,0,0)) (3D mode only). <a href="#NLSOUND_1_1CListenerDSoundz1306_6"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_7">setVelocity</a> (const <a class="el" href="a03128.html">NLMISC::CVector</a> &vel)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the velocity vector (3D mode only) (default: (0,0,0)). <a href="#NLSOUND_1_1CListenerDSoundz1306_7"></a><br><br></td></tr> +<tr><td colspan="2"><div class="groupHeader">Global properties</div></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual float </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1308_0">getRolloffFactor</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the rolloff factor. <a href="#NLSOUND_1_1CListenerDSoundz1308_0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1308_1">setDopplerFactor</a> (float f)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the doppler factor (default: 1) to exaggerate or not the doppler effect. <a href="#NLSOUND_1_1CListenerDSoundz1308_1"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1308_2">setEAXProperty</a> (<a class="el" href="a04558.html#a15">uint</a> prop, void *<a class="el" href="a04223.html#a658">value</a>, <a class="el" href="a04558.html#a15">uint</a> valuesize)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set any EAX listener property if EAX available. <a href="#NLSOUND_1_1CListenerDSoundz1308_2"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1308_3">setEnvironment</a> (<a class="el" href="a04558.html#a15">uint</a> env, float <a class="el" href="a04223.html#a587">size</a>=7.5f)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set DSPROPERTY_EAXLISTENER_ENVIRONMENT and DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE if EAX available (see EAX listener properties). <a href="#NLSOUND_1_1CListenerDSoundz1308_3"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1308_4">setRolloffFactor</a> (float f)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the rolloff factor (default: 1) to scale the distance attenuation effect. <a href="#NLSOUND_1_1CListenerDSoundz1308_4"></a><br><br></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="a02767.html">CListenerDSound</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSounde0">instance</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the instance of the singleton. <a href="#NLSOUND_1_1CListenerDSounde0"></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>void </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundd0">release</a> ()</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Release all DirectSound resources. <a href="#NLSOUND_1_1CListenerDSoundd0"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>LPDIRECTSOUND3DLISTENER8 </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The DirectSound listener interface. <a href="#NLSOUND_1_1CListenerDSoundr0"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">NLMISC::CVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundr1">_Pos</a></td></tr> + +<tr><td colspan=2><br><h2>Static Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02767.html">CListenerDSound</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundv0">_Instance</a> = NULL</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The instance of the singleton. <a href="#NLSOUND_1_1CListenerDSoundv0"></a><br><br></td></tr> +<tr><td colspan=2><br><h2>Friends</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundn0">CSoundDriverDSound</a></td></tr> + +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="NLSOUND_1_1CListenerDSounda0" doxytag="NLSOUND::CListenerDSound::CListenerDSound" ></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::CListenerDSound::CListenerDSound </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">LPDIRECTSOUND3DLISTENER8 </td> + <td class="mdname1" valign="top" nowrap> <em>dsoundListener</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. +<p> + +<p> +Definition at line <a class="el" href="a05919.html#l00050">50</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05919.html#l00286">setRolloffFactor()</a>. +<p> +<div class="fragment"><pre>00050 : <a class="code" href="a03861.html#NLSOUND_1_1IListenerb0">IListener</a>() +00051 : <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr1">_Pos</a>(CVector::Null) +00052 { +00053 <span class="preprocessor">#if EAX_AVAILABLE == 1</span> +00054 <span class="preprocessor"></span> _EAXListener = 0; +00055 <span class="preprocessor">#endif</span> +00056 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundv0">_Instance</a> == NULL ) +00057 { +00058 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundv0">_Instance</a> = <span class="keyword">this</span>; +00059 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> = dsoundListener; +00060 <span class="preprocessor">#if MANUAL_ROLLOFF == 1</span> +00061 <span class="preprocessor"></span> <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundz1308_4">setRolloffFactor</a>(DS3D_MINROLLOFFFACTOR); +00062 <span class="preprocessor">#endif</span> +00063 <span class="preprocessor"></span> } +00064 <span class="keywordflow">else</span> +00065 { +00066 <span class="comment">//nlerror( "Listener singleton instanciated twice" );</span> +00067 } +00068 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSounda2" doxytag="NLSOUND::CListenerDSound::~CListenerDSound" ></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::CListenerDSound::~<a class="el" href="a02767.html">CListenerDSound</a> </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Deconstructor. +<p> + +<p> +Definition at line <a class="el" href="a05919.html#l00071">71</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00101">nldebug</a>, and <a class="el" href="a05919.html#l00083">release()</a>. +<p> +<div class="fragment"><pre>00072 { +00073 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"Destroying DirectSound listener"</span>); +00074 +00075 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundd0">release</a>(); +00076 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundv0">_Instance</a> = NULL; +00077 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLSOUND_1_1CListenerDSounda1" doxytag="NLSOUND::CListenerDSound::commit3DChanges" ></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::CListenerDSound::commit3DChanges </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Commit any changes to the 3D environment. +<p> + +<p> +Definition at line <a class="el" href="a05919.html#l00322">322</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +Referenced by <a class="el" href="a06420.html#l00886">NLSOUND::CSoundDriverDSound::commit3DChanges()</a>. +<p> +<div class="fragment"><pre>00323 { +00324 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00325 { +00326 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->CommitDeferredSettings(); +00327 } +00328 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_0" doxytag="NLSOUND::CListenerDSound::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::CListenerDSound::getGain </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the gain. +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_0">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00253">253</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +<div class="fragment"><pre>00254 { +00255 <span class="keywordflow">return</span> CSoundDriverDSound::instance()->getGain(); +00256 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_1" doxytag="NLSOUND::CListenerDSound::getOrientation" ></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::CListenerDSound::getOrientation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>front</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>up</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the orientation vectors. +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_1">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00213">213</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>. +<p> +<div class="fragment"><pre>00214 { +00215 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00216 { +00217 D3DVECTOR vfront, vtop; +00218 <span class="keywordflow">if</span> (FAILED(<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->GetOrientation(&vfront, &vtop))) +00219 { +00220 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"GetOrientation failed"</span>); +00221 front.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(0.0f, 0.0f, 1.0f); +00222 up.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(0.0f, 1.0f, 0.0f); +00223 } +00224 <span class="keywordflow">else</span> +00225 { +00226 front.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(vfront.x, vfront.z, vfront.y); +00227 up.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(vtop.x, vtop.z, vtop.y); +00228 } +00229 } +00230 <span class="keywordflow">else</span> +00231 { +00232 front.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(0, 0, 1); +00233 up.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(0, 1, 0); +00234 } +00235 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_2" doxytag="NLSOUND::CListenerDSound::getPos" ></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> & NLSOUND::CListenerDSound::getPos </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the position vector. See <a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundz1306_6">setPos()</a> for details. +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_2">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00125">125</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +Referenced by <a class="el" href="a06420.html#l00886">NLSOUND::CSoundDriverDSound::commit3DChanges()</a>, and <a class="el" href="a06429.html#l00688">NLSOUND::CSourceDSound::play()</a>. +<p> +<div class="fragment"><pre>00126 { +00127 <span class="keywordflow">return</span> <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr1">_Pos</a>; +00128 <span class="comment">/* return;</span> +00129 <span class="comment"> // Coordinate system: conversion from NeL to OpenAL/GL:</span> +00130 <span class="comment"> if (_Listener != NULL)</span> +00131 <span class="comment"> {</span> +00132 <span class="comment"> D3DVECTOR v;</span> +00133 <span class="comment"> if (FAILED(_Listener->GetPosition(&v)))</span> +00134 <span class="comment"> {</span> +00135 <span class="comment"> nlwarning("GetPosition failed");</span> +00136 <span class="comment"> pos.set(0.0f, 0.0f, 0.0f);</span> +00137 <span class="comment"> }</span> +00138 <span class="comment"> else</span> +00139 <span class="comment"> {</span> +00140 <span class="comment"> pos.set(v.x, v.z, v.y);</span> +00141 <span class="comment"> }</span> +00142 <span class="comment"> }</span> +00143 <span class="comment"> else</span> +00144 <span class="comment"> {</span> +00145 <span class="comment"> pos.set(0, 0, 0);</span> +00146 <span class="comment"> }</span> +00147 <span class="comment">*/</span> +00148 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1308_0" doxytag="NLSOUND::CListenerDSound::getRolloffFactor" ></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::CListenerDSound::getRolloffFactor </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the rolloff factor. +<p> + +<p> +Definition at line <a class="el" href="a05919.html#l00307">307</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +<div class="fragment"><pre>00308 { +00309 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00310 { +00311 <span class="keywordtype">float</span> f; +00312 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->GetRolloffFactor(&f); +00313 <span class="keywordflow">return</span> f; +00314 } +00315 <span class="keywordflow">else</span> +00316 { +00317 <span class="keywordflow">return</span> 1.0; +00318 } +00319 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_3" doxytag="NLSOUND::CListenerDSound::getVelocity" ></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::CListenerDSound::getVelocity </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>vel</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the velocity vector. +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_3">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00169">169</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a06682.html#l00136">NLMISC::CVector::set()</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00170 { +00171 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00172 { +00173 D3DVECTOR <a class="code" href="a04223.html#a576">v</a>; +00174 <span class="keywordflow">if</span> (FAILED(<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->GetVelocity(&v))) +00175 { +00176 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"GetVelocity failed"</span>); +00177 vel.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(0.0f, 0.0f, 0.0f); +00178 } +00179 <span class="keywordflow">else</span> +00180 { +00181 vel.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(<a class="code" href="a04223.html#a576">v</a>.x, <a class="code" href="a04223.html#a576">v</a>.z, <a class="code" href="a04223.html#a576">v</a>.y); +00182 } +00183 } +00184 <span class="keywordflow">else</span> +00185 { +00186 vel.<a class="code" href="a03128.html#NLMISC_1_1CVectorz2051_8">set</a>(0, 0, 0); +00187 } +00188 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSounde0" doxytag="NLSOUND::CListenerDSound::instance" ></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="a02767.html">CListenerDSound</a>* NLSOUND::CListenerDSound::instance </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the instance of the singleton. +<p> + +<p> +Definition at line <a class="el" href="a05920.html#l00069">69</a> of file <a class="el" href="a05920.html">listener_dsound.h</a>. +<p> +<div class="fragment"><pre>00069 { <span class="keywordflow">return</span> <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundv0">_Instance</a>; } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundd0" doxytag="NLSOUND::CListenerDSound::release" ></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::CListenerDSound::release </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Release all DirectSound resources. +<p> + +<p> +Definition at line <a class="el" href="a05919.html#l00083">83</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +Referenced by <a class="el" href="a05919.html#l00071">~CListenerDSound()</a>. +<p> +<div class="fragment"><pre>00084 { +00085 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00086 { +00087 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->Release(); +00088 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> = NULL; +00089 } +00090 <span class="preprocessor">#if EAX_AVAILABLE == 1</span> +00091 <span class="preprocessor"></span> <span class="keywordflow">if</span> (_EAXListener != NULL) +00092 { +00093 _EAXListener->Release(); +00094 _EAXListener = NULL; +00095 } +00096 <span class="preprocessor">#endif</span> +00097 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1308_1" doxytag="NLSOUND::CListenerDSound::setDopplerFactor" ></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::CListenerDSound::setDopplerFactor </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the doppler factor (default: 1) to exaggerate or not the doppler effect. +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1318_0">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00262">262</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>. +<p> +<div class="fragment"><pre>00263 { +00264 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00265 { +00266 <span class="keywordflow">if</span> (f > DS3D_MAXDOPPLERFACTOR) +00267 { +00268 f = DS3D_MAXDOPPLERFACTOR; +00269 } +00270 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (f < DS3D_MINDOPPLERFACTOR) +00271 { +00272 f = DS3D_MINDOPPLERFACTOR; +00273 } +00274 +00275 <span class="keywordflow">if</span> (FAILED(<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->SetDopplerFactor(f, DS3D_DEFERRED))) +00276 { +00277 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"SetDopplerFactor failed"</span>); +00278 } +00279 } +00280 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1308_2" doxytag="NLSOUND::CListenerDSound::setEAXProperty" ></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::CListenerDSound::setEAXProperty </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>prop</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>value</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> </td> + <td class="mdname" nowrap> <em>valuesize</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set any EAX listener property if EAX available. +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1318_1">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00357">357</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05646.html#l01132">value</a>. +<p> +<div class="fragment"><pre>00358 { +00359 <span class="preprocessor">#ifdef EAX_AVAILABLE</span> +00360 <span class="preprocessor"></span> <span class="keywordflow">if</span> (_EAXListener == NULL) +00361 { +00362 _EAXListener = CSoundDriverDSound::instance()->createPropertySet(NULL); +00363 } +00364 <span class="keywordflow">if</span> ( _EAXListener != NULL ) +00365 { +00366 HRESULT <a class="code" href="a04223.html#a643">res</a> = _EAXListener->Set(DSPROPSETID_EAX_ListenerProperties, prop, NULL, 0, value, valuesize ); +00367 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a643">res</a> != S_OK) +00368 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Setting EAX listener prop #%d fail : %x"</span>, prop, res); +00369 } +00370 <span class="preprocessor">#endif</span> +00371 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1308_3" doxytag="NLSOUND::CListenerDSound::setEnvironment" ></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::CListenerDSound::setEnvironment </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a> </td> + <td class="mdname" nowrap> <em>env</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>float </td> + <td class="mdname" nowrap> <em>size</em> = 7.5f</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set DSPROPERTY_EAXLISTENER_ENVIRONMENT and DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE if EAX available (see EAX listener properties). +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1318_2">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00334">334</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05646.html#l01119">res</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>00335 { +00336 <span class="preprocessor">#if EAX_AVAILABLE == 1</span> +00337 <span class="preprocessor"></span> <span class="keywordflow">if</span> (_EAXListener == NULL) +00338 { +00339 _EAXListener = CSoundDriverDSound::instance()->createPropertySet(NULL); +00340 } +00341 <span class="keywordflow">if</span> ( _EAXListener != NULL ) +00342 { +00343 HRESULT <a class="code" href="a04223.html#a643">res</a> = _EAXListener->Set( DSPROPSETID_EAX_ListenerProperties, DSPROPERTY_EAXLISTENER_ENVIRONMENT, NULL, 0, &env, <span class="keyword">sizeof</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) ); +00344 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a643">res</a> != S_OK) +00345 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Setting EAX environment #%u fail : %x"</span>, env, res); +00346 <a class="code" href="a04223.html#a643">res</a> = _EAXListener->Set( DSPROPSETID_EAX_ListenerProperties, DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE, NULL, 0, &size, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) ); +00347 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a643">res</a> != S_OK) +00348 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Setting EAX environment size %f fail : %x"</span>, size, res); +00349 } +00350 <span class="preprocessor">#endif</span> +00351 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_4" doxytag="NLSOUND::CListenerDSound::setGain" ></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::CListenerDSound::setGain </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>gain</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the gain (volume value inside [0 , 1]). (default: 1) 0.0 -> silence 0.5 -> -6dB 1.0 -> no attenuation values > 1 (amplification) not supported by most drivers +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_4">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00244">244</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +<div class="fragment"><pre>00245 { +00246 CSoundDriverDSound::instance()->setGain(gain); +00247 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_5" doxytag="NLSOUND::CListenerDSound::setOrientation" ></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::CListenerDSound::setOrientation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>front</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname" nowrap> <em>up</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the orientation vectors (3D mode only) (default: (0,1,0), (0,0,1)). +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_5">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00194">194</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>. +<p> +<div class="fragment"><pre>00195 { +00196 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00197 { +00198 <span class="keywordflow">if</span> (FAILED(<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->SetOrientation(front.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, front.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>, front.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, up.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, up.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>, up.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, DS3D_DEFERRED))) +00199 { +00200 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"SetOrientation failed"</span>); +00201 } +00202 <span class="keywordflow">else</span> +00203 { +00204 <span class="comment">//nlwarning ("NLSOUND: set listener orientation NEL(f:%.2f/%.2f/%.2f up:%.2f/%.2f/%.2f) DS(f:%.2f/%.2f/%.2f up:%.2f/%.2f/%.2f)", front.x, front.y, front.z, up.x, up.y, up.z, front.x, front.z, front.y, up.x, up.z, up.y);</span> +00205 } +00206 } +00207 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_6" doxytag="NLSOUND::CListenerDSound::setPos" ></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::CListenerDSound::setPos </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the position vector (default: (0,0,0)) (3D mode only). +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_6">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00103">103</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>. +<p> +<div class="fragment"><pre>00104 { +00105 +00106 <a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr1">_Pos</a> = pos; +00107 <span class="comment">// Coordinate system: conversion from NeL to OpenAL/GL:</span> +00108 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00109 { +00110 <span class="keywordflow">if</span> (FAILED(<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->SetPosition(pos.x, pos.z, pos.y, DS3D_DEFERRED))) +00111 { +00112 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"SetPosition failed"</span>); +00113 } +00114 <span class="keywordflow">else</span> +00115 { +00116 <span class="comment">//nlwarning ("set listener NEL(p:%.2f/%.2f/%.2f) DS(p:%.2f/%.2f/%.2f)", pos.x, pos.y, pos.z, pos.x, pos.z, pos.y);</span> +00117 } +00118 } +00119 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1308_4" doxytag="NLSOUND::CListenerDSound::setRolloffFactor" ></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::CListenerDSound::setRolloffFactor </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">float </td> + <td class="mdname1" valign="top" nowrap> <em>f</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the rolloff factor (default: 1) to scale the distance attenuation effect. +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1318_3">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00286">286</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>. +<p> +Referenced by <a class="el" href="a05919.html#l00050">CListenerDSound()</a>. +<p> +<div class="fragment"><pre>00287 { +00288 <span class="preprocessor">#if MANUAL_ROLLOFF == 1</span> +00289 <span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00290 { +00291 <span class="comment">//clamp(f, DS3D_MINROLLOFFFACTOR, DS3D_MAXROLLOFFFACTOR);</span> +00292 +00293 <span class="comment">// VOLUMETEST: Don't use the rolloff factor. We manage the</span> +00294 <span class="comment">// volumes ourselves</span> +00295 f = DS3D_MINROLLOFFFACTOR; +00296 +00297 +00298 <span class="keywordflow">if</span> (FAILED(<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->SetRolloffFactor(f, DS3D_DEFERRED))) +00299 { +00300 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"SetRolloffFactor failed"</span>); +00301 } +00302 } +00303 <span class="preprocessor">#endif</span> +00304 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundz1306_7" doxytag="NLSOUND::CListenerDSound::setVelocity" ></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::CListenerDSound::setVelocity </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a03128.html">NLMISC::CVector</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>vel</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Set the velocity vector (3D mode only) (default: (0,0,0)). +<p> + +<p> +Implements <a class="el" href="a03861.html#NLSOUND_1_1IListenerz1316_7">NLSOUND::IListener</a>. +<p> +Definition at line <a class="el" href="a05919.html#l00154">154</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::x</a>, <a class="el" href="a06673.html#l00051">NLMISC::CVector::y</a>, and <a class="el" href="a06673.html#l00051">NLMISC::CVector::z</a>. +<p> +<div class="fragment"><pre>00155 { +00156 <span class="keywordflow">if</span> (<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a> != NULL) +00157 { +00158 <span class="keywordflow">if</span> (FAILED(<a class="code" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">_Listener</a>->SetVelocity(vel.<a class="code" href="a03128.html#NLMISC_1_1CVectoro0">x</a>, vel.<a class="code" href="a03128.html#NLMISC_1_1CVectoro2">z</a>, vel.<a class="code" href="a03128.html#NLMISC_1_1CVectoro1">y</a>, DS3D_DEFERRED))) +00159 { +00160 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"SetVelocity failed"</span>); +00161 } +00162 } +00163 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Friends And Related Function Documentation</h2> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundn0" doxytag="NLSOUND::CListenerDSound::CSoundDriverDSound" ></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"> friend class <a class="el" href="a03420.html">CSoundDriverDSound</a><code> [friend]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05920.html#l00058">58</a> of file <a class="el" href="a05920.html">listener_dsound.h</a>. </td> + </tr> +</table> +<hr><h2>Field Documentation</h2> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundv0" doxytag="NLSOUND::CListenerDSound::_Instance" ></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="a02767.html">CListenerDSound</a> * <a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundv0">NLSOUND::CListenerDSound::_Instance</a> = NULL<code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +The instance of the singleton. +<p> + +<p> +Definition at line <a class="el" href="a05919.html#l00044">44</a> of file <a class="el" href="a05919.html">listener_dsound.cpp</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundr0" doxytag="NLSOUND::CListenerDSound::_Listener" ></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"> LPDIRECTSOUND3DLISTENER8 <a class="el" href="a02767.html#NLSOUND_1_1CListenerDSoundr0">NLSOUND::CListenerDSound::_Listener</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +The DirectSound listener interface. +<p> + +<p> +Definition at line <a class="el" href="a05920.html#l00138">138</a> of file <a class="el" href="a05920.html">listener_dsound.h</a>. </td> + </tr> +</table> +<a class="anchor" name="NLSOUND_1_1CListenerDSoundr1" doxytag="NLSOUND::CListenerDSound::_Pos" ></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="a02767.html#NLSOUND_1_1CListenerDSoundr1">NLSOUND::CListenerDSound::_Pos</a><code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05920.html#l00141">141</a> of file <a class="el" href="a05920.html">listener_dsound.h</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05920.html">listener_dsound.h</a><li><a class="el" href="a05919.html">listener_dsound.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 14:39:22 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> |