MPMA Framework 0.4
|
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