History: Another FMOD SoundManager
Preview of version: 2
Copy to clipboard
#pragma once class ISoundManager{ public: virtual ~ISoundManager(){} virtual void Load2DSoundsFromFile(const Ogre::String &fileName)=0; virtual void Load3DSoundsFromFile(const Ogre::String &fileName)=0; virtual void UnloadSoundsFromFile(const Ogre::String &fileName)=0; virtual void Load2DPlaylistFromFile(const Ogre::String &fileName)=0; virtual void System3DAttributes(const Ogre::Vector3 &position, const Ogre::Vector3 &velocity)=0; virtual void System3DAttributes(const Ogre::Vector3 &position, const Ogre::Vector3 &velocity, const Ogre::Vector3 &forward)=0; virtual void System3DAttributes(const Ogre::Vector3 &position, const Ogre::Vector3 &velocity, const Ogre::Vector3 &forward, const Ogre::Vector3 &up)=0; virtual void System3DSettings(const Ogre::Real &dopplerScale, const Ogre::Real &distanceFactor, const Ogre::Real rolloffScale)=0; virtual void SoundGroupMaxAudible(const Ogre::String &name, const int &maxAudible)=0; virtual void SoundGroupMuteFadeSpeed(const Ogre::String &name, const Ogre::Real &speed)=0; virtual void SoundGroupStop(const Ogre::String &name)=0; virtual void SoundGroupStopAll()=0; virtual void SoundGroupEmpty(const Ogre::String &name)=0; virtual void SoundGroupEmptyAll()=0; virtual void SoundGroupDestroy(const Ogre::String &name)=0; virtual void SoundGroupDestroyAll()=0; virtual void SoundGroupVolume(const Ogre::String &name, const Ogre::Real &volume)=0; virtual Ogre::Real GetSoundGroupVolume(const Ogre::String &name)=0; virtual void Sound2DLoopCount(const Ogre::String &name, const int &loopCount)=0; virtual void Sound3DLoopCount(const Ogre::String &name, const int &loopCount)=0; virtual void Sound3DConeSettings(const Ogre::String &name, const Ogre::Real &insideAngle, const Ogre::Real &outsideAngle, const Ogre::Real &outsideVolume)=0; virtual void Sound3DMinMaxDistance(const Ogre::String &name, const Ogre::Real &minDistance, const Ogre::Real &maxDistance)=0; virtual void ChannelGroupCreate(const Ogre::String &name)=0; virtual void ChannelGroupPause(const Ogre::String &name, const bool &isPaused)=0; virtual void ChannelGroupPauseAll(const bool &isPaused)=0; virtual void ChannelGroupMute(const Ogre::String &name, const bool &isMuted)=0; virtual void ChannelGroupMuteAll(const bool &isMuted)=0; virtual void ChannelGroupVolume(const Ogre::String &name, const Ogre::Real &volume)=0; virtual void ChannelGroupVolumeAll(const Ogre::Real &volume)=0; virtual void ChannelGroupStop(const Ogre::String &name)=0; virtual void ChannelGroupStopAll()=0; virtual void ChannelGroupDestroy(const Ogre::String &name)=0; virtual void ChannelGroupDestroyAll()=0; virtual void ChannelPause(const int &index, const bool &isPaused)=0; virtual void ChannelMute(const int &index, const bool &isMuted)=0; virtual void ChannelVolume(const int &index, const Ogre::Real &volume)=0; virtual void ChannelLoop(const int &index, const int &loopCount)=0; virtual void ChannelStop(const int &index)=0; virtual void Channel3DAttributes(const int &index, const Ogre::Vector3 &position, const Ogre::Vector3 &velocity)=0; virtual void Channel3DConeOrientation(const int &index, const Ogre::Vector3 &orientation)=0; virtual void Channel3DConeSettings(const int &index, const Ogre::Real &insideAngle, const Ogre::Real &outsideAngle, const Ogre::Real &outsideVolume)=0; virtual void Channel3DDopplerLevel(const int &index, const Ogre::Real &level)=0; virtual void Channel3DMinMaxDistance(const int &index, const Ogre::Real &minDistance, const Ogre::Real &maxDistance)=0; virtual void PlaylistPlay(const Ogre::String &playlistName)=0; virtual void PlaylistPlayAll()=0; virtual void PlaylistSkip(const Ogre::String &playlistName)=0; virtual void PlaylistPause(const Ogre::String &playlistName)=0; virtual void PlaylistPauseAll()=0; virtual void PlaylistResume(const Ogre::String &playlistName)=0; virtual void PlaylistResumeAll()=0; virtual void PlaylistStop(const Ogre::String &playlistName)=0; virtual void PlatlistStopAll()=0; virtual void PlaylistDestroy(const Ogre::String &playlistName)=0; virtual void PlaylistDestroyAll()=0; virtual int Play2DSound(const Ogre::String &soundName, const Ogre::String &channelGroupName)=0; virtual int Play2DSound(const Ogre::String &soundName, const Ogre::String &channelGroupName, const int &loopCount)=0; virtual int Play3DSound(const Ogre::String &soundName, const Ogre::String &channelGroupName, const Ogre::Vector3 &position)=0; virtual int Play3DSound(const Ogre::String &soundName, const Ogre::String &channelGroupName, const Ogre::Vector3 &position, const int &loopCount)=0; virtual int Play3DSound(const Ogre::String &soundName, const Ogre::String &channelGroupName, const Ogre::Vector3 &position, const Ogre::Vector3 &velocity, const Ogre::Vector3 &forward)=0; virtual int Play3DSound(const Ogre::String &soundName, const Ogre::String &channelGroupName, const Ogre::Vector3 &position, const Ogre::Vector3 &velocity, const Ogre::Vector3 &forward, const int &loopCount)=0; };