Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members

ik_ISound.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2009 Nikolaus Gebhardt
00002 // This file is part of the "irrKlang" library.
00003 // For conditions of distribution and use, see copyright notice in irrKlang.h
00004 
00005 #ifndef __I_IRRKLANG_SOUND_H_INCLUDED__
00006 #define __I_IRRKLANG_SOUND_H_INCLUDED__
00007 
00008 #include "ik_IVirtualRefCounted.h"
00009 #include "ik_ISoundEffectControl.h"
00010 #include "ik_vec3d.h"
00011 
00012 
00013 namespace irrklang
00014 {
00015         class ISoundSource;
00016         class ISoundStopEventReceiver;
00017 
00019 
00024         class ISound : public IVirtualRefCounted
00025         {
00026         public:
00027 
00029 
00031                 virtual ISoundSource* getSoundSource() = 0;
00032 
00034                 virtual void setIsPaused( bool paused = true) = 0;
00035 
00037                 virtual bool getIsPaused() = 0;
00038 
00040 
00042                 virtual void stop() = 0;
00043 
00045 
00047                 virtual ik_f32 getVolume() = 0;
00048 
00050 
00052                 virtual void setVolume(ik_f32 volume) = 0;
00053 
00055                 virtual void setPan(ik_f32 pan) = 0;
00056 
00058                 virtual ik_f32 getPan() = 0;
00059 
00061                 virtual bool isLooped() = 0;
00062 
00064 
00069                 virtual void setIsLooped(bool looped) = 0;
00070 
00072 
00077                 virtual bool isFinished() = 0;
00078 
00080 
00088                 virtual void setMinDistance(ik_f32 min) = 0;
00089 
00091 
00092                 virtual ik_f32 getMinDistance() = 0;
00093 
00095 
00102                 virtual void setMaxDistance(ik_f32 max) = 0;
00103 
00105 
00106                 virtual ik_f32 getMaxDistance() = 0;
00107 
00109                 virtual void setPosition(vec3df position) = 0;
00110 
00112                 virtual vec3df getPosition() = 0;
00113 
00115 
00119                 virtual void setVelocity(vec3df vel) = 0;
00120 
00122 
00126                 virtual vec3df getVelocity() = 0;
00127 
00129 
00131                 virtual ik_u32 getPlayPosition() = 0;
00132 
00134 
00140                 virtual bool setPlayPosition(ik_u32 pos) = 0;
00141 
00143 
00154                 virtual bool setPlaybackSpeed(ik_f32 speed = 1.0f) = 0;
00155 
00157 
00158                 virtual ik_f32 getPlaybackSpeed() = 0;
00159 
00161 
00165                 virtual ik_u32 getPlayLength() = 0;
00166 
00168 
00176                 virtual ISoundEffectControl* getSoundEffectControl() = 0;
00177 
00179 
00187                 virtual void setSoundStopEventReceiver(ISoundStopEventReceiver* reciever, void* userData=0) = 0;
00188         };
00189 
00190 } // end namespace irrklang
00191 
00192 
00193 #endif

irrKlang Audio Library
The irrKlang Engine Documentation © 2003-2007 by Nikolaus Gebhardt. Generated on Fri Jan 2 15:37:05 2009 by Doxygen (1.5.4)