Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or 3D space. More...
#include <IAudioSource.h>


Public Member Functions | |
| virtual bool | play ()=0 |
| Plays the source with the last set parameters. | |
| virtual bool | play2d (const bool &toLoop=false)=0 |
| Plays the source in 2D mode. | |
| virtual bool | play3d (const cVector3 &position, const float &soundstr=1.0, const bool &toLoop=false)=0 |
| Plays the source in 3D mode. | |
| virtual void | pause ()=0 |
| Pauses playback of the sound source. | |
| virtual void | stop ()=0 |
| Stops playback of the sound source. | |
| virtual void | loop (const bool &toLoop)=0 |
| Controls whether the source should loop or not. | |
| virtual bool | seek (const float &seconds, bool relative=false)=0 |
| Seeks through the audio stream to a specific spot. | |
| virtual float | getTotalAudioTime ()=0 |
| Returns the total amount of time in the audio stream. See IAudioDecoder for details. | |
| virtual int | getTotalAudioSize ()=0 |
| Returns the total decoded size of the audio stream. See IAudioDecoder for details. | |
| virtual int | getCompressedAudioSize ()=0 |
| Returns the original size of 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 int | getCurrentAudioPosition ()=0 |
| Returns the current position in the decoded audio stream in bytes. See IAudioDecoder for details. | |
| virtual int | getCurrentCompressedAudioPosition ()=0 |
| Returns the current position in the original audio stream in bytes. See IAudioDecoder for details. | |
| virtual bool | update ()=0 |
| Normally called every frame by the audio manager to update the internal buffers. Note: For internal use only. | |
| virtual void | release ()=0 |
| Releases all resources used by the audio source, normally used to clean up before deletion. Note: For internal use only. | |
| virtual const bool | isValid () const =0 |
| Returns if the source is ready to be used. | |
| virtual const bool | isPlaying () const =0 |
| Returns if the source is playing. | |
| virtual const bool | isPaused () const =0 |
| Returns if the source is paused. | |
| virtual const bool | isStopped () const =0 |
| Returns if the source is stopped. | |
| virtual const bool | isLooping () const =0 |
| Returns if the source is looping. | |
| virtual void | setPosition (const cVector3 &position)=0 |
| Sets the position of the source in 3D space. | |
| virtual void | setVelocity (const cVector3 &velocity)=0 |
| Sets the current velocity of the source for doppler effects. | |
| virtual void | setDirection (const cVector3 &direction)=0 |
| Sets the direction the source is facing. | |
| virtual void | setRolloffFactor (const float &rolloff)=0 |
| Sets the factor used in attenuating the source over distance. | |
| virtual void | setStrength (const float &soundstrength)=0 |
| Sets how well the source carries over distance. | |
| virtual void | setMinDistance (const float &minDistance)=0 |
| Sets the distance from the source where attenuation will begin. | |
| virtual void | setMaxDistance (const float &maxDistance)=0 |
| Sets the distance from the source where attenuation will stop. | |
| virtual void | setPitch (const float &pitch)=0 |
| Sets the pitch of the source. | |
| virtual void | setVolume (const float &volume)=0 |
| Sets the source volume before attenuation and other effects. | |
| virtual void | setMinVolume (const float &minVolume)=0 |
| Sets the minimum volume that the source can be attenuated to. | |
| virtual void | setMaxVolume (const float &maxVolume)=0 |
| Sets the maximum volume that the source can achieve. | |
| 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 source as set by setDirection(). | |
| 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 source as set by setDirection(). | |
| virtual void | setOuterConeVolume (const float &outerVolume)=0 |
| Sets how much the volume of the source is scaled in the outer cone. | |
| virtual void | setDopplerStrength (const float &dstrength)=0 |
| Sets the doppler strength, which enhances or diminishes the doppler effect. Can be used to exaggerate the doppler for a special effect. | |
| virtual void | setDopplerVelocity (const cVector3 &dvelocity)=0 |
| Overrides the doppler velocity vector. It is usually better to let the engine take care of it automatically. | |
| virtual void | move (const cVector3 &position)=0 |
| Convenience function to automatically set the velocity and position for you in a single call. | |
| virtual const cVector3 | getPosition () const =0 |
| Returns the audio objects position. | |
| virtual const cVector3 | getVelocity () const =0 |
| Returns the audio objects velocity. | |
| virtual const cVector3 | getDirection () const =0 |
| Returns the audio objects direction. | |
| virtual const float | getRolloffFactor () const =0 |
| Returns the factor used in attenuating the source over distance. | |
| virtual const float | getStrength () const =0 |
| Returns the strength of the source. | |
| virtual const float | getMinDistance () const =0 |
| Returns the distance from the source where attenuation will begin. | |
| virtual const float | getMaxDistance () const =0 |
| Returns the distance from the source where attenuation will stop. | |
| virtual const float | getPitch () const =0 |
| Returns the pitch of the source. | |
| virtual const float | getVolume () const =0 |
| Returns the source volume before attenuation and other effects. | |
| virtual const float | getMinVolume () const =0 |
| Returns the minimum volume that the source can be attenuated to. | |
| virtual const float | getMaxVolume () const =0 |
| Returns the maximum volume that the source can achieve. | |
| virtual const float | getInnerConeAngle () const =0 |
| Returns the angle of the inner sound cone of the source. | |
| virtual const float | getOuterConeAngle () const =0 |
| Returns the angle of the outer sound cone of the source. | |
| virtual const float | getOuterConeVolume () const =0 |
| Returns how much the volume of the source is scaled in the outer cone. | |
| virtual const float | getDopplerStrength () const =0 |
| Returns the doppler strength, which enhances or diminishes the doppler effect. | |
| virtual const cVector3 | getDopplerVelocity () const =0 |
| Returns the override for the doppler velocity vector. | |
| virtual void | registerEventHandler (ISourceEventHandler *handler)=0 |
| Registers a new event handler to this source. | |
| virtual void | unRegisterEventHandler (ISourceEventHandler *handler)=0 |
| Removes a specified event handler from this source. | |
| virtual void | unRegisterAllEventHandlers ()=0 |
| Removes all event handlers attached to this source. | |
| virtual unsigned int | getNumEffectSlotsAvailable () const =0 |
| Returns the number of effects at one time this source can support. | |
| virtual bool | attachEffect (unsigned int slot, IEffect *effect)=0 |
| Attaches an EFX audio effect to this sound source to a specific slot. | |
| virtual void | removeEffect (unsigned int slot)=0 |
| Removes an EFX audio effect from this sound source. | |
| virtual bool | attachFilter (IFilter *filter)=0 |
| Attaches an audio filter to this sound source that will operate on the direct feed, separate from any effects. | |
| virtual void | removeFilter ()=0 |
| Removes a previously attached filter. | |
Interface for a single audio source, which allow you to manipulate sound sources (speakers) in 2D or 3D space.
Definition at line 19 of file IAudioSource.h.
| virtual bool cAudio::IAudioSource::attachEffect | ( | unsigned int | slot, | |
| IEffect * | effect | |||
| ) | [pure virtual] |
Attaches an EFX audio effect to this sound source to a specific slot.
| slot,: | Slot to attach this effect to. Range: 0 to getNumEffectSlotsAvailable(). | |
| effect,: | Pointer to an effect object to attach. |
Implemented in cAudio::cAudioSource.
| virtual bool cAudio::IAudioSource::attachFilter | ( | IFilter * | filter | ) | [pure virtual] |
Attaches an audio filter to this sound source that will operate on the direct feed, separate from any effects.
| filter,: | Pointer to the filter to attach. Any previous filter will be dropped. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::loop | ( | const bool & | toLoop | ) | [pure virtual] |
Controls whether the source should loop or not.
| toLoop,: | Whether to loop (restart) the audio when the end is reached. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::move | ( | const cVector3 & | position | ) | [pure virtual] |
Convenience function to automatically set the velocity and position for you in a single call.
Velocity will be set to new position - last position.
| position,: | Position to move the source to. |
Implemented in cAudio::cAudioSource.
| virtual bool cAudio::IAudioSource::play | ( | ) | [pure virtual] |
Plays the source with the last set parameters.
Implemented in cAudio::cAudioSource.
| virtual bool cAudio::IAudioSource::play2d | ( | const bool & | toLoop = false |
) | [pure virtual] |
Plays the source in 2D mode.
No automatic attenuation or panning will take place in this mode, but using setPosition will allow you to manually pan mono audio streams.
| toLoop,: | Whether to loop (restart) the audio when the end is reached. |
Implemented in cAudio::cAudioSource.
| virtual bool cAudio::IAudioSource::play3d | ( | const cVector3 & | position, | |
| const float & | soundstr = 1.0, |
|||
| const bool & | toLoop = false | |||
| ) | [pure virtual] |
Plays the source in 3D mode.
| position,: | Position to start the sound off at. | |
| soundstr,: | Affects how the source attenuates due to distance. Higher values cause the source to stand out more over distance. | |
| toLoop,: | Whether to loop (restart) the audio when the end is reached. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::registerEventHandler | ( | ISourceEventHandler * | handler | ) | [pure virtual] |
Registers a new event handler to this source.
| handler,: | Pointer to the event handler to register. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::removeEffect | ( | unsigned int | slot | ) | [pure virtual] |
Removes an EFX audio effect from this sound source.
| slot,: | Slot of the effect to remove. Range: 0 to getNumEffectSlotsAvailable(). |
Implemented in cAudio::cAudioSource.
| virtual bool cAudio::IAudioSource::seek | ( | const float & | seconds, | |
| bool | relative = false | |||
| ) | [pure virtual] |
Seeks through the audio stream to a specific spot.
Note: May not be supported by all codecs.
| seconds,: | Number of seconds to seek. | |
| relative,: | Whether to seek from the current position or the start of the stream. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setDirection | ( | const cVector3 & | direction | ) | [pure virtual] |
Sets the direction the source is facing.
| direction,: | A 3D vector giving the direction that the source is aiming. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setDopplerStrength | ( | const float & | dstrength | ) | [pure virtual] |
Sets the doppler strength, which enhances or diminishes the doppler effect. Can be used to exaggerate the doppler for a special effect.
Range: 0.0f to +inf (Default: 1.0f).
| dstrength,: | New strength for the doppler effect. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setDopplerVelocity | ( | const cVector3 & | dvelocity | ) | [pure virtual] |
Overrides the doppler velocity vector. It is usually better to let the engine take care of it automatically.
Note: must be set every time you set the position, velocity, or direction.
| dvelocity,: | New doppler vector for the source. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setInnerConeAngle | ( | const float & | innerAngle | ) | [pure virtual] |
Sets the angle of the inner sound cone of the source. The cone opens up in the direction of the source as set by setDirection().
Note: This causes the sound to be loudest only if the listener is inside this cone. Range: 0.0f to 360.0f (Default: 360.0f).
| innerAngle,: | Inside angle of the cone. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setMaxDistance | ( | const float & | maxDistance | ) | [pure virtual] |
Sets the distance from the source where attenuation will stop.
Range: 0.0f to +inf
| maxDistance,: | Distance where attenuation will cease. Normally the farthest range you can hear the source. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setMaxVolume | ( | const float & | maxVolume | ) | [pure virtual] |
Sets the maximum volume that the source can achieve.
Range: 0.0f to +inf (Default: 1.0f).
| maxVolume,: | New maximum volume of the source. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setMinDistance | ( | const float & | minDistance | ) | [pure virtual] |
Sets the distance from the source where attenuation will begin.
Range: 0.0f to +inf
| minDistance,: | Distance from the source where attenuation begins. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setMinVolume | ( | const float & | minVolume | ) | [pure virtual] |
Sets the minimum volume that the source can be attenuated to.
Range: 0.0f to +inf (Default: 0.0f).
| minVolume,: | New minimum volume of the source. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setOuterConeAngle | ( | const float & | outerAngle | ) | [pure virtual] |
Sets the angle of the outer sound cone of the source. The cone opens up in the direction of the source as set by setDirection().
Note: If the listener is outside of this cone, the sound cannot be heard. Between the inner cone angle and this angle, the sound volume will fall off. Range: 0.0f to 360.0f (Default: 360.0f).
| outerAngle,: | Outside angle of the cone. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setOuterConeVolume | ( | const float & | outerVolume | ) | [pure virtual] |
Sets how much the volume of the source is scaled in the outer cone.
Range: 0.0f to +inf (Default: 0.0f).
| outerVolume,: | Volume of the source in the outside cone. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setPitch | ( | const float & | pitch | ) | [pure virtual] |
Sets the pitch of the source.
Range: 0.0f to +inf (Default: 1.0f)
| pitch,: | New pitch level. Note that higher values will speed up the playback of the sound. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setPosition | ( | const cVector3 & | position | ) | [pure virtual] |
Sets the position of the source in 3D space.
| position,: | A 3D vector giving the new location to put this source. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setRolloffFactor | ( | const float & | rolloff | ) | [pure virtual] |
Sets the factor used in attenuating the source over distance.
Larger values make it attenuate faster, smaller values make the source carry better. Range: 0.0f to +inf (Default: 1.0f).
| rolloff,: | The rolloff factor to apply to the attenuation calculation. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setStrength | ( | const float & | soundstrength | ) | [pure virtual] |
Sets how well the source carries over distance.
Same as setRolloffFactor(1.0f/soundstrength). Range: 0.0f to +inf (Default: 1.0f).
| soundstrength,: | How well the sound carries over distance. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setVelocity | ( | const cVector3 & | velocity | ) | [pure virtual] |
Sets the current velocity of the source for doppler effects.
| velocity,: | A 3D vector giving the speed and direction that the source is moving. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::setVolume | ( | const float & | volume | ) | [pure virtual] |
Sets the source volume before attenuation and other effects.
Range: 0.0f to +inf (Default: 1.0f).
| volume,: | New volume of the source. |
Implemented in cAudio::cAudioSource.
| virtual void cAudio::IAudioSource::unRegisterEventHandler | ( | ISourceEventHandler * | handler | ) | [pure virtual] |
Removes a specified event handler from this source.
| handler,: | Pointer to the event handler to remove. |
Implemented in cAudio::cAudioSource.
1.6.2