NLSOUND::IListener Class Reference

#include <listener.h>

Inheritance diagram for NLSOUND::IListener:

NLSOUND::CListenerAL NLSOUND::CListenerDSound

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.

Public Member Functions

virtual ~IListener ()
 Destructor.

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

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

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

virtual void setGain (float gain)=0
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)).

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

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

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

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

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

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


Protected Member Functions

 IListener ()
 Constructor.


Constructor & Destructor Documentation

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

Destructor.

Definition at line 106 of file listener.h.

00106 {}

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

Constructor.

Definition at line 111 of file listener.h.

00111 {}


Member Function Documentation

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

Get the gain.

Implemented in NLSOUND::CListenerDSound, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::getGain().

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

Get the orientation vectors.

Implemented in NLSOUND::CListenerDSound, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::getOrientation().

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

Get the position vector. See setPos() for details.

Implemented in NLSOUND::CListenerDSound, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::getPos().

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

Get the velocity vector.

Implemented in NLSOUND::CListenerDSound, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::getVelocity().

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, and NLSOUND::CListenerAL.

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, and NLSOUND::CListenerAL.

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

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

Implemented in NLSOUND::CListenerDSound, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CClusteredSound::update(), and NLSOUND::CBackgroundSoundManager::updateBackgroundStatus().

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, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::setGain().

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, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::setOrientation().

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, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::setPos().

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, and NLSOUND::CListenerAL.

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, and NLSOUND::CListenerAL.

Referenced by NLSOUND::CListenerUser::setVelocity().


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 14:51:19 2004 for NeL by doxygen 1.3.6