MPMA Framework 0.4
Listener.h
Go to the documentation of this file.
00001 
00002 //Luke Lenhart, 2008
00003 //See /docs/License.txt for details on how this code may be used.
00004 
00005 #pragma once
00006 
00007 #include "../base/Setup.h"
00008 
00009 #ifdef MPMA_COMPILE_AUDIO
00010 
00012 namespace AUDIO
00013 {
00015     void SetGlobalVolume(float value);
00016 
00018     void SetListenerPosition(float x, float y, float z);
00020     template <typename VectorType>
00021     inline void SetListenerPosition(const VectorType &pos)
00022         { SetListenerPosition(pos[0], pos[1], pos[2]); }
00023 
00025     void SetListenerFacing(float x, float y, float z);
00027     template <typename VectorType>
00028     inline void SetListenerFacing(const VectorType &dir)
00029         { SetListenerFacing(dir[0], dir[1], dir[2]); }
00030 
00032     void SetListenerUp(float x, float y, float z);
00034     template <typename VectorType>
00035     inline void SetListenerUp(const VectorType &up)
00036         { SetListenerUp(up[0], up[1], up[2]); }
00037 
00039     void SetListenerVelocity(float x, float y, float z);
00041     template <typename VectorType>
00042     inline void SetListenerVelocity(const VectorType &vel)
00043         { SetListenerVelocity(vel[0], vel[1], vel[2]); }
00044 
00046     void SetDopplerFactor(float value);
00047 
00049     void SetSpeedOfSound(float value);
00050 
00052     enum DistanceModel
00053     {
00055         DISTANCE_NONE=0x300,
00057         DISTANCE_INVERSE,
00059         DISTANCE_INVERSE_CLAMPED,
00061         DISTANCE_LINEAR,
00063         DISTANCE_LINEAR_CLAMPED,
00065         DISTANCE_EXPONENTIAL,
00067         DISTANCE_EXPONENTIAL_CLAMPED
00068     };
00069 
00071     void SetDistanceModel(DistanceModel distanceModel);
00072 
00073 }; //namespace AUDIO
00074 
00075 #endif //#ifdef MPMA_COMPILE_AUDIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends