cAudio::IAudioSource Class Reference

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

#include <IAudioSource.h>

Inheritance diagram for cAudio::IAudioSource:
Inheritance graph
[legend]
Collaboration diagram for cAudio::IAudioSource:
Collaboration graph
[legend]

List of all members.

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.

Detailed Description

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.


Member Function Documentation

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.

Parameters:
slot,: Slot to attach this effect to. Range: 0 to getNumEffectSlotsAvailable().
effect,: Pointer to an effect object to attach.
Returns:
Whether the effect was successfully attached.

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.

Parameters:
filter,: Pointer to the filter to attach. Any previous filter will be dropped.
Returns:
Whether the filter was successfully attached.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::loop ( const bool &  toLoop  )  [pure virtual]

Controls whether the source should loop or not.

Parameters:
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.

Parameters:
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.

Returns:
True if the source is playing, false if not.

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.

Parameters:
toLoop,: Whether to loop (restart) the audio when the end is reached.
Returns:
True if the source is playing, false if not.

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.

Parameters:
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.
Returns:
True if the source is playing, false if not.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::registerEventHandler ( ISourceEventHandler handler  )  [pure virtual]

Registers a new event handler to this source.

Parameters:
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.

Parameters:
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.

Parameters:
seconds,: Number of seconds to seek.
relative,: Whether to seek from the current position or the start of the stream.
Returns:
True on success, False if the codec does not support seeking.

Implemented in cAudio::cAudioSource.

virtual void cAudio::IAudioSource::setDirection ( const cVector3 direction  )  [pure virtual]

Sets the direction the source is facing.

Parameters:
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).

Parameters:
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.

Parameters:
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).

Parameters:
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

Parameters:
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).

Parameters:
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

Parameters:
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).

Parameters:
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).

Parameters:
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).

Parameters:
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)

Parameters:
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.

Parameters:
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).

Parameters:
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).

Parameters:
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.

Parameters:
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).

Parameters:
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.

Parameters:
handler,: Pointer to the event handler to remove.

Implemented in cAudio::cAudioSource.


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Enumerations

Generated on Sat Feb 20 22:55:22 2010 for cAudio by  doxygen 1.6.2