Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages
source.h
00001 /* 00002 Copyright (C) 1998, 1999 by Nathaniel 'NooTe' Saint Martin 00003 Copyright (C) 1998, 1999 by Jorrit Tyberghein 00004 Written by Nathaniel 'NooTe' Saint Martin 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public 00017 License along with this library; if not, write to the Free 00018 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 */ 00020 00021 #ifndef __CS_ISOUND_SOURCE_H__ 00022 #define __CS_ISOUND_SOURCE_H__ 00023 00024 #include "csutil/scf.h" 00025 00026 class csVector3; 00027 00029 #define SOUND_RESTART 1 00030 #define SOUND_LOOP 2 00031 00033 enum 00034 { 00036 SOUND3D_DISABLE, 00038 SOUND3D_RELATIVE, 00040 SOUND3D_ABSOLUTE 00041 }; 00042 00043 #define SOUND_DISTANCE_INFINITE -1.0f 00044 00045 SCF_VERSION (iSoundSource, 0, 0, 2); 00046 00053 struct iSoundSource : public iBase 00054 { 00056 virtual void Play (unsigned long playMethod = 0) = 0; 00058 virtual void Stop () = 0; 00060 virtual void SetVolume (float volume) = 0; 00062 virtual float GetVolume () = 0; 00064 virtual void SetFrequencyFactor (float factor) = 0; 00066 virtual float GetFrequencyFactor () = 0; 00067 00069 virtual int GetMode3D() = 0; 00071 virtual void SetMode3D(int m) = 0; 00073 virtual void SetPosition(csVector3 pos) = 0; 00075 virtual csVector3 GetPosition() = 0; 00077 virtual void SetVelocity(csVector3 spd) = 0; 00079 virtual csVector3 GetVelocity() = 0; 00080 00085 virtual void SetMinimumDistance (float distance) = 0; 00086 00090 virtual void SetMaximumDistance (float distance) = 0; 00091 00093 virtual float GetMinimumDistance () = 0; 00094 00096 virtual float GetMaximumDistance () = 0; 00097 }; 00098 00099 #endif // __CS_ISOUND_SOURCE_H__
Generated for Crystal Space by doxygen 1.4.4