7 #ifndef CAFU_SOUNDSYS_SOUNDSYS_INTERFACE_HPP_INCLUDED
8 #define CAFU_SOUNDSYS_SOUNDSYS_INTERFACE_HPP_INCLUDED
10 #include "Math3D/Vector3.hpp"
virtual ~SoundSysI()
The virtual destructor makes sure that deleting derived classes via a SoundSysI pointer works properl...
Definition: SoundSys.hpp:74
virtual void Update()=0
Upates all channels that are currently being played according to the properties of their sound object...
virtual float GetMasterVolume()=0
Gets the master volume currently set for this sound system.
virtual bool IsSupported()=0
Determine if the sound system is supported on this platform.
This is an interface to the sound system.
Definition: SoundSys.hpp:19
virtual void SetMasterVolume(float Volume)=0
Sets the master volume for this sound system.
virtual void DeleteSound(SoundI *Sound)=0
Deletes a previously created sound object.
This class represents a sound.
Definition: Sound.hpp:15
virtual bool PlaySound(const SoundI *Sound)=0
Plays a sound on a channel.
virtual void Release()=0
Releases the sound system and removes all sound data from memory.
virtual void UpdateListener(const Vector3dT &Position, const Vector3dT &Velocity, const Vector3fT &OrientationForward, const Vector3fT &OrientationUp)=0
Updates the position, velocity and orientation of the listener.
virtual bool Initialize()=0
Initializes the sound system.
virtual int GetPreferenceNr()=0
Returns the preference number for this sound system, so calling code can decide which sound system to...
virtual SoundI * CreateSound2D(const SoundShaderT *SoundShader)=0
Creates a 2 dimensional sound object using the properties of the passed sound shader.
virtual SoundI * CreateSound3D(const SoundShaderT *SoundShader)=0
Creates a 3 dimensional sound object using the properties of the passed sound shader.
A SoundShader is a description of a sound with various properties.
Definition: SoundShader.hpp:19