3#include "miniaudio/miniaudio.h"
7#include <unordered_map>
Controls multiple sounds as a single unit.
Definition audio_group.h:24
Low-level audio system that interfaces directly with miniaudio.
Definition audio_system.h:32
ma_engine * GetEngine()
Get access to the miniaudio engine (for advanced use)
Definition audio_system.h:149
void SetListenerUp(const Vec3 &up, ma_uint32 listenerIndex=0)
Set the listener up vector.
Definition audio_system.cpp:81
bool listener_state_dirty_
Flag to track if listener state needs update.
Definition audio_system.h:162
Vec3 cached_listener_up_
Cached listener up vector.
Definition audio_system.h:161
float master_volume_
Master volume level.
Definition audio_system.h:155
AudioSystem()
Constructor.
Definition audio_system.cpp:9
std::unique_ptr< Sound > CreateSound(const std::string &filepath, AudioGroup *group=nullptr)
Creates a new Sound object.
Definition audio_system.cpp:27
~AudioSystem()
Destructor.
Definition audio_system.cpp:19
std::unique_ptr< AudioGroup > CreateGroup()
Creates a new AudioGroup object.
Definition audio_system.cpp:31
void SetMasterVolume(float volume)
Sets the master volume for all audio.
Definition audio_system.cpp:35
void SetListenerDirection(const Vec3 &direction, ma_uint32 listenerIndex=0)
Set the listener direction (forward vector)
Definition audio_system.cpp:61
Vec3 GetListenerDirection(ma_uint32 listenerIndex=0) const
Get the listener direction.
Definition audio_system.cpp:76
Vec3 GetListenerUp(ma_uint32 listenerIndex=0) const
Get the listener up vector.
Definition audio_system.cpp:96
ma_engine engine_
miniaudio engine instance
Definition audio_system.h:154
Vec3 cached_listener_position_
Cached listener position to avoid redundant updates.
Definition audio_system.h:159
void SetListenerPosition(const Vec3 &position, ma_uint32 listenerIndex=0)
Set the listener position in 3D space.
Definition audio_system.cpp:41
float GetMasterVolume() const
Gets the current master volume.
Definition audio_system.h:82
Vec3 cached_listener_direction_
Cached listener direction.
Definition audio_system.h:160
Vec3 GetListenerPosition(ma_uint32 listenerIndex=0) const
Get the listener position.
Definition audio_system.cpp:56
Definition audio_group.cpp:7
3D vector for spatial audio positioning
Definition vec3.h:46
3D vector class for spatial audio positioning