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;
102 virtual bool update() = 0;
105 virtual bool isValid()
const = 0;
144 virtual void setStrength(
const float& soundstrength) = 0;
159 virtual void setPitch(
const float& pitch) = 0;
164 virtual void setVolume(
const float& volume) = 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;
virtual float getMaxVolume() const =0
Returns the maximum volume that the source can achieve.
virtual float getStrength() const =0
Returns the strength of the source.
virtual IAudioBuffer * getBuffer()=0
Get the audio buffer associated with the source.
virtual void setRolloffFactor(const float &rolloff)=0
Sets the factor used in attenuating the source over distance.
virtual float getPitch() const =0
Returns the pitch of the source.
virtual void loop(const bool &toLoop)=0
Controls whether the source should loop or not.
virtual float getMinDistance() const =0
Returns the distance from the source where attenuation will begin.
virtual bool isPlaying() const =0
Returns if the source is playing.
virtual cVector3 getPosition() const =0
Returns the audio objects position.
virtual bool update()=0
Normally called every frame by the audio manager to update the internal buffers. Note: For internal u...
virtual void stop()=0
Stops playback of the sound source.
virtual float getInnerConeAngle() const =0
Returns the angle of the inner sound cone of the source.
virtual void registerEventHandler(ISourceEventHandler *handler)=0
Registers a new event handler to this source.
virtual float getDopplerStrength() const =0
Returns the doppler strength, which enhances or diminishes the doppler effect.
virtual int getCompressedAudioSize()=0
Returns the original size of the audio stream. See IAudioDecoder for details.
virtual bool isRelative() const =0
Return true for 2d sounds, false for 3d sounds.
virtual void setVelocity(const cVector3 &velocity)=0
Sets the current velocity of the source for doppler effects.
virtual float getOuterConeVolume() const =0
Returns how much the volume of the source is scaled in the outer cone.
virtual void setMinDistance(const float &minDistance)=0
Sets the distance from the source where attenuation will begin.
virtual cVector3 getDirection() const =0
Returns the audio objects direction.
virtual void setMinVolume(const float &minVolume)=0
Sets the minimum volume that the source can be attenuated to.
virtual cVector3 getVelocity() const =0
Returns the audio objects velocity.
virtual float calculateGain() const =0
Return gain, taking into account volume as well as distance attenuation.
virtual void setStrength(const float &soundstrength)=0
Sets how well the source carries over distance.
virtual cVector3 getDopplerVelocity() const =0
Returns the override for the doppler velocity vector.
virtual void unRegisterEventHandler(ISourceEventHandler *handler)=0
Removes a specified event handler from this source.
Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or ...
virtual void setVolume(const float &volume)=0
Sets the source volume before attenuation and other effects.
virtual float getRolloffFactor() const =0
Returns the factor used in attenuating the source over distance.
virtual void setDopplerVelocity(const cVector3 &dvelocity)=0
Overrides the doppler velocity vector. It is usually better to let the engine take care of it automat...
virtual void setOuterConeAngle(const float &outerAngle)=0
Sets the angle of the outer sound cone of the source. The cone opens up in the direction of the sourc...
Applies reference counting to certain cAudio objects.
Interface for event handlers on Audio Sources.
virtual float getMinVolume() const =0
Returns the minimum volume that the source can be attenuated to.
virtual float getTotalAudioTime()=0
Returns the total amount of time in the audio stream. See IAudioDecoder for details.
virtual float getCurrentAudioTime()=0
Returns the current position in the audio stream in seconds. See IAudioDecoder for details.
virtual bool isLooping() const =0
Returns if the source is looping.
virtual bool play3d(const cVector3 &position, const float &soundstr=1.0, const bool &toLoop=false)=0
Plays the source in 3D mode.
virtual void setPitch(const float &pitch)=0
Sets the pitch of the source.
virtual bool isStopped() const =0
Returns if the source is stopped.
Class for manipulating vectors in 3D space.
virtual bool isValid() const =0
Returns if the source is ready to be used.
virtual float getMaxDistance() const =0
Returns the distance from the source where attenuation will stop.
virtual bool seek(const float &seconds, bool relative=false)=0
Seeks through the audio stream to a specific spot.
virtual void setDopplerStrength(const float &dstrength)=0
Sets the doppler strength, which enhances or diminishes the doppler effect. Can be used to exaggerate...
virtual float getOuterConeAngle() const =0
Returns the angle of the outer sound cone of the source.
virtual void setOuterConeVolume(const float &outerVolume)=0
Sets how much the volume of the source is scaled in the outer cone.
virtual void setMaxAttenuationDistance(const float &maxDistance)=0
Sets the distance from the source where attenuation will stop.
virtual void pause()=0
Pauses playback of the sound source.
virtual void setMaxVolume(const float &maxVolume)=0
Sets the maximum volume that the source can achieve.
virtual void setDirection(const cVector3 &direction)=0
Sets the direction the source is facing.
interface for a sample (audio buffer): completely loaded into memory, shareable across sources
virtual void unRegisterAllEventHandlers()=0
Removes all event handlers attached to this source.
virtual void setPosition(const cVector3 &position)=0
Sets the position of the source in 3D space.
virtual bool setBuffer(IAudioBuffer *buffer)=0
Change the audio buffer associated with the source.
virtual bool play2d(const bool &toLoop=false)=0
Plays the source in 2D mode.
virtual bool play()=0
Plays the source with the last set parameters.
virtual void move(const cVector3 &position)=0
Convenience function to automatically set the velocity and position for you in a single call.
virtual float getVolume() const =0
Returns the source volume before attenuation and other effects.
virtual void setInnerConeAngle(const float &innerAngle)=0
Sets the angle of the inner sound cone of the source. The cone opens up in the direction of the sourc...
virtual int getTotalAudioSize()=0
Returns the total decoded size of the audio stream. See IAudioDecoder for details.
virtual int getCurrentAudioPosition()=0
Returns the current position in the decoded audio stream in bytes. See IAudioDecoder for details.
Main namespace for the entire cAudio library.
virtual int getCurrentCompressedAudioPosition()=0
Returns the current position in the original audio stream in bytes. See IAudioDecoder for details.
virtual bool isPaused() const =0
Returns if the source is paused.