Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

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 __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__

Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000