00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __ISOUND_SOURCE_H__
00022 #define __ISOUND_SOURCE_H__
00023
00024 #include "csutil/scf.h"
00025 #include "csgeom/vector3.h"
00026
00028 #define SOUND_RESTART 1
00029 #define SOUND_LOOP 2
00030
00032 enum
00033 {
00035 SOUND3D_DISABLE,
00037 SOUND3D_RELATIVE,
00039 SOUND3D_ABSOLUTE
00040 };
00041
00042 SCF_VERSION (iSoundSource, 0, 0, 1);
00043
00050 struct iSoundSource : public iBase
00051 {
00053 virtual void Play (unsigned long playMethod = 0) = 0;
00055 virtual void Stop () = 0;
00057 virtual void SetVolume (float volume) = 0;
00059 virtual float GetVolume () = 0;
00061 virtual void SetFrequencyFactor (float factor) = 0;
00063 virtual float GetFrequencyFactor () = 0;
00064
00066 virtual int GetMode3D() = 0;
00068 virtual void SetMode3D(int m) = 0;
00070 virtual void SetPosition(csVector3 pos) = 0;
00072 virtual csVector3 GetPosition() = 0;
00074 virtual void SetVelocity(csVector3 spd) = 0;
00076 virtual csVector3 GetVelocity() = 0;
00077 };
00078
00079 #endif // __ISOUND_SOURCE_H__