7 #include "cAudioDefines.h" 8 #include "IRefCounted.h" 9 #include "IAudioDecoder.h" 13 #include "ISourceEventHandler.h" 23 virtual bool isValid()
const = 0;
24 virtual unsigned getBuffer()
const = 0;
25 virtual int getChannels()
const = 0;
27 virtual int getTotalAudioSize()
const = 0;
28 virtual float getTotalAudioTime()
const = 0;
41 virtual bool play() = 0;
47 virtual bool play2d(
const bool& toLoop =
false) = 0;
55 virtual bool play3d(
const cVector3& position,
const float& soundstr = 1.0 ,
const bool& toLoop =
false) = 0;
58 virtual void pause() = 0;
61 virtual void stop() = 0;
65 virtual void loop(
const bool& toLoop) = 0;
72 virtual bool seek(
const float& seconds,
bool relative =
false) = 0;
84 virtual float getTotalAudioTime() = 0;
87 virtual int getTotalAudioSize() = 0;
90 virtual int getCompressedAudioSize() = 0;
93 virtual float getCurrentAudioTime() = 0;
96 virtual int getCurrentAudioPosition() = 0;
99 virtual int getCurrentCompressedAudioPosition() = 0;
102 virtual bool update() = 0;
105 virtual bool isValid()
const = 0;
108 virtual bool isPlaying()
const = 0;
111 virtual bool isPaused()
const = 0;
114 virtual bool isStopped()
const = 0;
117 virtual bool isLooping()
const = 0;
122 virtual void setPosition(
const cVector3& position) = 0;
127 virtual void setVelocity(
const cVector3& velocity) = 0;
132 virtual void setDirection(
const cVector3& direction) = 0;
138 virtual void setRolloffFactor(
const float& rolloff) = 0;
144 virtual void setStrength(
const float& soundstrength) = 0;
149 virtual void setMinDistance(
const float& minDistance) = 0;
154 virtual void setMaxAttenuationDistance(
const float& maxDistance) = 0;
159 virtual void setPitch(
const float& pitch) = 0;
164 virtual void setVolume(
const float& volume) = 0;
169 virtual void setMinVolume(
const float& minVolume) = 0;
174 virtual void setMaxVolume(
const float& maxVolume) = 0;
180 virtual void setInnerConeAngle(
const float& innerAngle) = 0;
186 virtual void setOuterConeAngle(
const float& outerAngle) = 0;
191 virtual void setOuterConeVolume(
const float& outerVolume) = 0;
196 virtual void setDopplerStrength(
const float& dstrength) = 0;
201 virtual void setDopplerVelocity(
const cVector3& dvelocity) = 0;
206 virtual void move(
const cVector3& position) = 0;
209 virtual cVector3 getPosition()
const = 0;
212 virtual cVector3 getVelocity()
const = 0;
215 virtual cVector3 getDirection()
const = 0;
218 virtual float getRolloffFactor()
const = 0;
221 virtual float getStrength()
const = 0;
224 virtual float getMinDistance()
const = 0;
227 virtual float getMaxDistance()
const = 0;
230 virtual bool isRelative()
const = 0;
233 virtual float calculateGain()
const = 0;
236 virtual float getPitch()
const = 0;
239 virtual float getVolume()
const = 0;
242 virtual float getMinVolume()
const = 0;
245 virtual float getMaxVolume()
const = 0;
248 virtual float getInnerConeAngle()
const = 0;
251 virtual float getOuterConeAngle()
const = 0;
254 virtual float getOuterConeVolume()
const = 0;
257 virtual float getDopplerStrength()
const = 0;
260 virtual cVector3 getDopplerVelocity()
const = 0;
273 virtual void unRegisterAllEventHandlers() = 0;
275 #if CAUDIO_EFX_ENABLED == 1 276 virtual unsigned int getNumEffectSlotsAvailable()
const = 0;
284 virtual bool attachEffect(
unsigned int slot, IEffect* effect) = 0;
289 virtual void removeEffect(
unsigned int slot) = 0;
295 virtual bool attachFilter(IFilter* filter) = 0;
298 virtual void removeFilter() = 0;
Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or ...
Applies reference counting to certain cAudio objects.
Interface for event handlers on Audio Sources.
Class for manipulating vectors in 3D space.
interface for a sample (audio buffer): completely loaded into memory, shareable across sources ...
Main namespace for the entire cAudio library.