51 void add(
const std::string& path);
58 void add(
const std::string& path,
const std::string& name);
65 void play(
const std::string& name,
bool loop =
false);
72 void play(
const Sound& sound,
bool loop =
false);
78 void stop(
const std::string& name);
87 void pause(
const std::string& name);
96 void resume(
const std::string& name);
106 void setVolume(
const std::string& name,
float volume);
126 bool isPaused(
const std::string& name);
147 void seek(
const std::string& name,
float seconds);
Singleton class that manages audio playback.
Definition audiomanager.hpp:20
std::vector< Sound > sounds
Loaded sound objects.
Definition audiomanager.hpp:22
void pauseAll()
Pauses all currently playing sounds.
Definition audiomanager.cpp:128
bool isPlaying(const std::string &name)
Checks whether a sound is currently playing.
Definition audiomanager.cpp:157
void setVolumeAll(float volume)
Sets the volume of all sounds.
Definition audiomanager.cpp:150
AudioManager()
Definition audiomanager.cpp:9
void stop(const std::string &name)
Stops a sound by name.
Definition audiomanager.cpp:99
void add(const Sound &sound)
Adds a Sound object to the manager.
Definition audiomanager.cpp:49
void setVolume(const std::string &name, float volume)
Sets the volume of a sound by name.
Definition audiomanager.cpp:145
static AudioManager * getInstance()
Returns the singleton instance of AudioManager.
Definition audiomanager.cpp:28
static AudioManager * instance
Singleton instance.
Definition audiomanager.hpp:26
ma_engine engine
miniaudio engine instance
Definition audiomanager.hpp:24
~AudioManager()
Definition audiomanager.cpp:21
void stopAll()
Stops all currently playing sounds.
Definition audiomanager.cpp:112
void seek(const std::string &name, float seconds)
Seeks to a specific position in a sound.
Definition audiomanager.cpp:191
void cleanupFinishedSounds()
Removes sounds that have finished playing from memory.
Definition audiomanager.cpp:34
void resumeAll()
Resumes all paused sounds.
Definition audiomanager.cpp:138
void resume(const std::string &name)
Resumes a paused sound by name.
Definition audiomanager.cpp:133
void play(const std::string &name, bool loop=false)
Plays a sound by name.
Definition audiomanager.cpp:69
float getDuration(const std::string &name)
Returns the total duration of a sound.
Definition audiomanager.cpp:169
bool initialized
Whether the engine has been initialized.
Definition audiomanager.hpp:25
void pause(const std::string &name)
Pauses a sound by name.
Definition audiomanager.cpp:123
float getPosition(const std::string &name)
Returns the current playback position of a sound.
Definition audiomanager.cpp:180
bool isPaused(const std::string &name)
Checks whether a sound is currently paused.
Definition audiomanager.cpp:163
std::vector< std::pair< ma_sound *, std::string > > activeSounds
Currently active sounds (handle, name)
Definition audiomanager.hpp:23
Definition audiomanager.cpp:4
Describes an audio source: its file path, name and volume.
Definition sound.hpp:11