MochiEngine
Loading...
Searching...
No Matches
Mochi::Audio::IAudioManager Class Referenceabstract

Interface for audio management, including loading and unloading audio, playing it, changing volume and other parameters. More...

#include <IAudioManager.h>

Inheritance diagram for Mochi::Audio::IAudioManager:
Mochi::Audio::DummyAudioManager Mochi::Audio::FMODWrapper Mochi::Audio::SDLAudio

Public Member Functions

virtual void Update (const float &dt)=0
 Update internal audio subsystems.
virtual void LoadAudio (const std::string &path)=0
 Preloads an audio file.
virtual void UnloadAudio (const std::string &path)=0
 Unloads a loaded audio.
virtual void PlayBGM (const std::string &audioName)=0
 Plays an audio as BGM.
virtual void PauseBGM ()=0
 Pauses current playing BGM (can resume at the same point).
virtual void StopBGM ()=0
 Stops current playing BGM (can't resume).
virtual void ResumeBGM ()=0
 Resume current playing BGM.
virtual void SkipToTimelinePosition (const int &ms)=0
 Skip current playing BGM to a certain position.
virtual void PlayOneShot (const std::string &audioName)=0
 Plays an audio once and then stops it.
virtual void SetParameter (const std::string &parameterName, const float &value)=0
 Sets a parameter used by the audio system. This can vary between implementations. Check specific implementations of this class to check what you can do with this.
virtual void SetMixerVolume (const std::string &mixerGroupName, const float &value)=0
 Changes the volume of a specific mixer/group.

Detailed Description

Interface for audio management, including loading and unloading audio, playing it, changing volume and other parameters.

The implementations are meant to wrap some existing audio system to be used the same within the engine.

Member Function Documentation

◆ LoadAudio()

virtual void Mochi::Audio::IAudioManager::LoadAudio ( const std::string & path)
pure virtual

Preloads an audio file.

Parameters
pathThe path to the file in the catalog

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ PauseBGM()

virtual void Mochi::Audio::IAudioManager::PauseBGM ( )
pure virtual

Pauses current playing BGM (can resume at the same point).

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ PlayBGM()

virtual void Mochi::Audio::IAudioManager::PlayBGM ( const std::string & audioName)
pure virtual

Plays an audio as BGM.

Parameters
audioNameIdentifier of the audio

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ PlayOneShot()

virtual void Mochi::Audio::IAudioManager::PlayOneShot ( const std::string & audioName)
pure virtual

Plays an audio once and then stops it.

Parameters
audioNameIdentifier of the audio

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ ResumeBGM()

virtual void Mochi::Audio::IAudioManager::ResumeBGM ( )
pure virtual

Resume current playing BGM.

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ SetMixerVolume()

virtual void Mochi::Audio::IAudioManager::SetMixerVolume ( const std::string & mixerGroupName,
const float & value )
pure virtual

Changes the volume of a specific mixer/group.

Parameters
mixerGroupNameThe name of the mixer/group.
valueThe new volume (between 0 and 1)

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ SetParameter()

virtual void Mochi::Audio::IAudioManager::SetParameter ( const std::string & parameterName,
const float & value )
pure virtual

Sets a parameter used by the audio system. This can vary between implementations. Check specific implementations of this class to check what you can do with this.

Parameters
parameterNameThe name or identifier of the parameter.
valueThe value of the parameter.

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ SkipToTimelinePosition()

virtual void Mochi::Audio::IAudioManager::SkipToTimelinePosition ( const int & ms)
pure virtual

Skip current playing BGM to a certain position.

Parameters
msPoint of the song in milliseconds

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ StopBGM()

virtual void Mochi::Audio::IAudioManager::StopBGM ( )
pure virtual

Stops current playing BGM (can't resume).

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ UnloadAudio()

virtual void Mochi::Audio::IAudioManager::UnloadAudio ( const std::string & path)
pure virtual

Unloads a loaded audio.

Parameters
pathThe path to the file in the catalog

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.

◆ Update()

virtual void Mochi::Audio::IAudioManager::Update ( const float & dt)
pure virtual

Update internal audio subsystems.

Parameters
dtDelta time

Implemented in Mochi::Audio::DummyAudioManager, Mochi::Audio::FMODWrapper, and Mochi::Audio::SDLAudio.


The documentation for this class was generated from the following file: