47 #include "Audio/audioenumerations.h"
48 #include "Audio/decoder.h"
118 virtual void Pause() = 0;
123 virtual void Stop() = 0;
virtual UInt32 GetTotalSize() const
Gets the size of the decoded audio source in use.
virtual void Pause()=0
Pauses playback of the sound at it's current position in the stream.
This is an interface class for the decoding of audio from a stream.
iSound()
Class constructor.
virtual Boole IsPlaying() const =0
Gets whether or not the sound is currently playing.
virtual UInt32 GetCurrentPosition() const =0
Gets the sounds current position in the decoded audio source.
bool Boole
Generally acts a single bit, true or false.
virtual Real GetVolume() const =0
Gets the current volume of the sound source after all volume settings are applied.
virtual void Stop()=0
Stops playback of the sound and resets it's position back to the start.
virtual Real GetCurrentTime() const
Gets the current time position in the stream.
virtual Boole IsLooping() const =0
Checks to see if the sound is currently set to loop.
virtual UInt32 GetTotalSize() const =0
Gets the size of the decoded audio source in use.
virtual void SetPitch(const Real Pitch)=0
Sets the pitch of the sound source.
virtual void SetMaxVolume(const Real MaxVol)=0
Sets the maximum volume the sound source can achieve.
virtual UInt32 GetNumEffectSlotsAvailable() const =0
Gets the number of iEffect slots remaining that can be attached to.
virtual Real GetMaxVolume() const =0
Gets the Maximum volume of the sound source.
virtual Boole IsValid() const =0
Checks to see if this sound is valid and is ready for playback.
virtual void SetMinVolume(const Real MinVol)=0
Sets the minimum volume the sound source can achieve.
All the definitions for datatypes as well as some basic conversion functions are defined here...
A simple reference counting pointer.
virtual Boole Play()=0
Plays the sound with it's current configuration.
virtual void RemoveFilter()=0
Removes any currently attached filters.
virtual void RemoveEffect(const UInt32 Slot)=0
Removes the iEffect in the specified slot.
This is an interface class for a non-spacialized sound.
This is an interface class for an effect that can be applied to a sound.
float Real
A Datatype used to represent a real floating point number.
virtual ~iSound()
Class destructor.
virtual UInt32 GetCurrentPosition() const
Gets the sounds current position in the decoded audio source.
virtual void Loop(Boole ToLoop)=0
Sets whether the playback of the sound should loop or not.
uint16_t UInt16
An 16-bit unsigned integer.
virtual Real GetCurrentTime() const =0
Gets the current time position in the stream.
virtual Real GetBaseVolume() const =0
Gets the current volume of the sound source.
uint32_t UInt32
An 32-bit unsigned integer.
virtual UInt32 GetCurrentCompressedPosition() const =0
Gets the sounds current position in the encoded audio source.
virtual iFilter * GetFilter() const =0
Gets the filter currently being used by this object.
virtual Real GetMinVolume() const =0
Gets the minimum volume of the sound source.
virtual void SetStream(Resource::DataStreamPtr Stream, const Audio::Encoding Encode)=0
Sets a new stream for playback by this iSound.
virtual Real GetTotalTime() const
Gets the length of the stream in seconds.
virtual void SetBaseVolume(const Real Base)=0
Sets the current volume of the sound source before effects and other volume settings.
virtual UInt32 GetCompressedSize() const
Gets the size of the encoded audio source in use.
virtual Boole Seek(const Real Seconds, Boole Relative=false)=0
Sets the current position of the stream from which to playback audio.
virtual Boole AttachEffect(const UInt32 Slot, iEffect *Eff)=0
Attaches an iEffect to this sound.
virtual UInt32 GetCurrentCompressedPosition() const
Gets the sounds current position in the encoded audio source.
virtual iEffect * GetEffect(const UInt32 Slot) const =0
Gets the iEffect attached at the specified slot.
Encoding
The encoding to use when reading or writing an audio buffer.
virtual UInt32 GetCompressedSize() const =0
Gets the size of the encoded audio source in use.
virtual Real GetTotalTime() const =0
Gets the length of the stream in seconds.
The bulk of the engine components go in this namspace.
virtual Real GetPitch() const =0
Gets the pitch of the sound source.
virtual iDecoder * GetDecoder() const =0
Gets the decoder that belongs to this sound.
This is an interface class for the application of filters to audio playback.
virtual Boole IsPaused() const =0
Gets whether or not the sound is currently paused.
virtual Boole IsStopped() const =0
Gets whether or not the sound is currently stopped.
virtual UInt32 GetMaxEffectSlots() const =0
Gets the max number of iEffect instances that can be attached to this sound.
virtual UInt16 GetType() const =0
Gets the sound type of this sound.
virtual Boole AttachFilter(iFilter *Fil)=0
Attaches a filter to this sound that will operate on the direct feed, separate from any effects...