# 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::IListener Class Reference

Sound listener interface (implemented in sound driver dynamic library). More...

#include <listener.h>

Inheritance diagram for NLSOUND::IListener:

NLSOUND::CListenerAL NLSOUND::CListenerDSound List of all members.

Public Methods

virtual ~IListener ()
 Destructor. More...

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

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

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

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

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

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

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

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

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

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

virtual void setEnvironment (uint env, float size=ENVFX_DEFAULT_SIZE)=0
 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)=0
 Set any EAX listener property if EAX available. More...


Protected Methods

 IListener ()
 Constructor. More...


Detailed Description

Sound listener interface (implemented in sound driver dynamic library).

For arguments as 3D vectors, use the NeL vector coordinate system:

 *     (top)
 *       z    
 *       |  y (front)
 *       | /
 *       -----x (right)
 * 

The listener is a singleton.

Author:
Olivier Cado , Nevrax France
Date:
2001

Definition at line 61 of file listener.h.


Constructor & Destructor Documentation

virtual NLSOUND::IListener::~IListener   [inline, virtual]
 

Destructor.

Definition at line 106 of file listener.h.

NLSOUND::IListener::IListener   [inline, protected]
 

Constructor.

Definition at line 111 of file listener.h.


Member Function Documentation

virtual float NLSOUND::IListener::getGain   const [pure virtual]
 

Get the gain.

Implemented in NLSOUND::CListenerDSound.

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

Get the orientation vectors.

Implemented in NLSOUND::CListenerDSound.

virtual const NLMISC::CVector& NLSOUND::IListener::getPos   const [pure virtual]
 

Get the position vector.

See setPos() for details.

Implemented in NLSOUND::CListenerDSound.

virtual void NLSOUND::IListener::getVelocity NLMISC::CVector   vel const [pure virtual]
 

Get the velocity vector.

Implemented in NLSOUND::CListenerDSound.

virtual void NLSOUND::IListener::setDopplerFactor float    f [pure virtual]
 

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

Implemented in NLSOUND::CListenerDSound.

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

Set any EAX listener property if EAX available.

Implemented in NLSOUND::CListenerDSound.

virtual void NLSOUND::IListener::setEnvironment uint    env,
float    size = ENVFX_DEFAULT_SIZE
[pure virtual]
 

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

Implemented in NLSOUND::CListenerDSound.

virtual void NLSOUND::IListener::setGain float    gain [pure 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

Implemented in NLSOUND::CListenerDSound.

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

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

Implemented in NLSOUND::CListenerDSound.

virtual void NLSOUND::IListener::setPos const NLMISC::CVector   pos [pure virtual]
 

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

Implemented in NLSOUND::CListenerDSound.

virtual void NLSOUND::IListener::setRolloffFactor float    f [pure virtual]
 

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

Implemented in NLSOUND::CListenerDSound.

virtual void NLSOUND::IListener::setVelocity const NLMISC::CVector   vel [pure virtual]
 

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

Implemented in NLSOUND::CListenerDSound.


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