# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLSOUND::CListenerDSound Class Reference

DirectSound listener. More...

#include <listener_dsound.h>

Inheritance diagram for NLSOUND::CListenerDSound:

NLSOUND::IListener List of all members.

Public Methods

 CListenerDSound (LPDIRECTSOUND3DLISTENER dsoundListener)
 Constructor. More...

virtual ~CListenerDSound ()
 Deconstructor. More...

void commit3DChanges ()
 Commit any changes to the 3D environment. More...

Listener properties
virtual void setPos (const NLMISC::CVector &pos)
 Set the position vector (default: (0,0,0)) (3D mode only). More...

virtual const NLMISC::CVectorgetPos () const
 Get the position vector. More...

virtual void setVelocity (const NLMISC::CVector &vel)
 Set the velocity vector (3D mode only) (default: (0,0,0)). More...

virtual void getVelocity (NLMISC::CVector &vel) const
 Get the velocity vector. More...

virtual void setOrientation (const NLMISC::CVector &front, const NLMISC::CVector &up)
 Set the orientation vectors (3D mode only) (default: (0,1,0), (0,0,1)). More...

virtual void getOrientation (NLMISC::CVector &front, NLMISC::CVector &up) const
 Get the orientation vectors. More...

virtual void setGain (float gain)
 Set the gain (volume value inside [0 , 1]). More...

virtual float getGain () const
 Get the gain. More...

Global properties
virtual void setDopplerFactor (float f)
 Set the doppler factor (default: 1) to exaggerate or not the doppler effect. More...

virtual void setRolloffFactor (float f)
 Set the rolloff factor (default: 1) to scale the distance attenuation effect. More...

virtual float getRolloffFactor ()
 Return the rolloff factor. More...

virtual void setEnvironment (uint env, float size=7.5f)
 Set DSPROPERTY_EAXLISTENER_ENVIRONMENT and DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE if EAX available (see EAX listener properties). More...

virtual void setEAXProperty (uint prop, void *value, uint valuesize)
 Set any EAX listener property if EAX available. More...


Static Public Methods

CListenerDSound * instance ()
 Return the instance of the singleton. More...


Private Methods

void release ()
 Release all DirectSound resources. More...


Private Attributes

LPDIRECTSOUND3DLISTENER _Listener
 The DirectSound listener interface. More...

NLMISC::CVector _Pos

Static Private Attributes

CListenerDSound * _Instance = NULL
 The instance of the singleton. More...


Friends

class CSoundDriverDSound

Detailed Description

DirectSound listener.

For arguments as 3D vectors, use the NeL vector coordinate system (not OpenAL/OpenGL's one).

Author:
Peter Hanappe, Olivier Cado , Nevrax France
Date:
2002

Definition at line 48 of file listener_dsound.h.


Constructor & Destructor Documentation

NLSOUND::CListenerDSound::CListenerDSound LPDIRECTSOUND3DLISTENER    dsoundListener
 

Constructor.

Definition at line 45 of file listener_dsound.cpp.

Referenced by instance.

NLSOUND::CListenerDSound::~CListenerDSound   [virtual]
 

Deconstructor.

Definition at line 62 of file listener_dsound.cpp.

References _Instance, nldebug, and release.


Member Function Documentation

void NLSOUND::CListenerDSound::commit3DChanges  
 

Commit any changes to the 3D environment.

Definition at line 304 of file listener_dsound.cpp.

References _Listener.

float NLSOUND::CListenerDSound::getGain   const [virtual]
 

Get the gain.

Implements NLSOUND::IListener.

Definition at line 237 of file listener_dsound.cpp.

void NLSOUND::CListenerDSound::getOrientation NLMISC::CVector   front,
NLMISC::CVector   up
const [virtual]
 

Get the orientation vectors.

Implements NLSOUND::IListener.

Definition at line 197 of file listener_dsound.cpp.

References _Listener, nlwarning, and NLMISC::CVector::set.

const NLMISC::CVector & NLSOUND::CListenerDSound::getPos   const [virtual]
 

Get the position vector.

See setPos() for details.

Implements NLSOUND::IListener.

Definition at line 109 of file listener_dsound.cpp.

References _Pos.

float NLSOUND::CListenerDSound::getRolloffFactor   [virtual]
 

Return the rolloff factor.

Definition at line 289 of file listener_dsound.cpp.

References _Listener.

void NLSOUND::CListenerDSound::getVelocity NLMISC::CVector   vel const [virtual]
 

Get the velocity vector.

Implements NLSOUND::IListener.

Definition at line 153 of file listener_dsound.cpp.

References _Listener, nlwarning, NLMISC::CVector::set, and v.

CListenerDSound* NLSOUND::CListenerDSound::instance   [inline, static]
 

Return the instance of the singleton.

Definition at line 61 of file listener_dsound.h.

References _Instance, and CListenerDSound.

void NLSOUND::CListenerDSound::release   [private]
 

Release all DirectSound resources.

Definition at line 74 of file listener_dsound.cpp.

References _Listener.

Referenced by ~CListenerDSound.

void NLSOUND::CListenerDSound::setDopplerFactor float    f [virtual]
 

Set the doppler factor (default: 1) to exaggerate or not the doppler effect.

Implements NLSOUND::IListener.

Definition at line 246 of file listener_dsound.cpp.

References _Listener, and nlwarning.

void NLSOUND::CListenerDSound::setEAXProperty uint    prop,
void *    value,
uint    valuesize
[virtual]
 

Set any EAX listener property if EAX available.

Implements NLSOUND::IListener.

Definition at line 331 of file listener_dsound.cpp.

References value.

void NLSOUND::CListenerDSound::setEnvironment uint    env,
float    size = 7.5f
[virtual]
 

Set DSPROPERTY_EAXLISTENER_ENVIRONMENT and DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE if EAX available (see EAX listener properties).

Implements NLSOUND::IListener.

Definition at line 316 of file listener_dsound.cpp.

void NLSOUND::CListenerDSound::setGain float    gain [virtual]
 

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

Implements NLSOUND::IListener.

Definition at line 228 of file listener_dsound.cpp.

void NLSOUND::CListenerDSound::setOrientation const NLMISC::CVector   front,
const NLMISC::CVector   up
[virtual]
 

Set the orientation vectors (3D mode only) (default: (0,1,0), (0,0,1)).

Implements NLSOUND::IListener.

Definition at line 178 of file listener_dsound.cpp.

References _Listener, nlwarning, NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.

void NLSOUND::CListenerDSound::setPos const NLMISC::CVector   pos [virtual]
 

Set the position vector (default: (0,0,0)) (3D mode only).

Implements NLSOUND::IListener.

Definition at line 87 of file listener_dsound.cpp.

References _Listener, _Pos, nlwarning, NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.

void NLSOUND::CListenerDSound::setRolloffFactor float    f [virtual]
 

Set the rolloff factor (default: 1) to scale the distance attenuation effect.

Implements NLSOUND::IListener.

Definition at line 270 of file listener_dsound.cpp.

References _Listener, and nlwarning.

void NLSOUND::CListenerDSound::setVelocity const NLMISC::CVector   vel [virtual]
 

Set the velocity vector (3D mode only) (default: (0,0,0)).

Implements NLSOUND::IListener.

Definition at line 138 of file listener_dsound.cpp.

References _Listener, nlwarning, NLMISC::CVector::x, NLMISC::CVector::y, and NLMISC::CVector::z.


Friends And Related Function Documentation

friend class CSoundDriverDSound [friend]
 

Definition at line 50 of file listener_dsound.h.


Member Data Documentation

CListenerDSound * NLSOUND::CListenerDSound::_Instance = NULL [static, private]
 

The instance of the singleton.

Definition at line 39 of file listener_dsound.cpp.

Referenced by instance, and ~CListenerDSound.

LPDIRECTSOUND3DLISTENER NLSOUND::CListenerDSound::_Listener [private]
 

The DirectSound listener interface.

Definition at line 130 of file listener_dsound.h.

Referenced by commit3DChanges, getOrientation, getRolloffFactor, getVelocity, release, setDopplerFactor, setOrientation, setPos, setRolloffFactor, and setVelocity.

NLMISC::CVector NLSOUND::CListenerDSound::_Pos [private]
 

Definition at line 133 of file listener_dsound.h.

Referenced by getPos, and setPos.


The documentation for this class was generated from the following files: