- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# ik_ISound.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2018 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
    00043                 virtual void stop() = 0;
    00044
    00046
    00048                 virtual ik_f32 getVolume() = 0;
    00049
    00051
    00053                 virtual void setVolume(ik_f32 volume) = 0;
    00054
    00056                 virtual void setPan(ik_f32 pan) = 0;
    00057
    00059                 virtual ik_f32 getPan() = 0;
    00060
    00062                 virtual bool isLooped() = 0;
    00063
    00065
    00070                 virtual void setIsLooped(bool looped) = 0;
    00071
    00073
    00078                 virtual bool isFinished() = 0;
    00079
    00081
    00089                 virtual void setMinDistance(ik_f32 min) = 0;
    00090
    00092
    00093                 virtual ik_f32 getMinDistance() = 0;
    00094
    00096
    00103                 virtual void setMaxDistance(ik_f32 max) = 0;
    00104
    00106
    00107                 virtual ik_f32 getMaxDistance() = 0;
    00108
    00110                 virtual void setPosition(vec3df position) = 0;
    00111
    00113                 virtual vec3df getPosition() = 0;
    00114
    00116
    00120                 virtual void setVelocity(vec3df vel) = 0;
    00121
    00123
    00127                 virtual vec3df getVelocity() = 0;
    00128
    00130
    00132                 virtual ik_u32 getPlayPosition() = 0;
    00133
    00135
    00141                 virtual bool setPlayPosition(ik_u32 pos) = 0;
    00142
    00144
    00155                 virtual bool setPlaybackSpeed(ik_f32 speed = 1.0f) = 0;
    00156
    00158
    00159                 virtual ik_f32 getPlaybackSpeed() = 0;
    00160
    00162
    00166                 virtual ik_u32 getPlayLength() = 0;
    00167
    00169
    00177                 virtual ISoundEffectControl* getSoundEffectControl() = 0;
    00178
    00180
    00188                 virtual void setSoundStopEventReceiver(ISoundStopEventReceiver* reciever, void* userData=0) = 0;
    00189         };
    00190
    00191 } // end namespace irrklang
    00192
    00193
    00194 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

| The irrKlang Engine Documentation © 2003-2018 by Nikolaus Gebhardt. Generated by Doxygen (1.6.1)