3#include "pixelbullet/audio/audio_backend.h"
9#include <unordered_map>
16 void operator()(ma_sound* sound)
const
23 ma_sound_uninit(sound);
34 std::unique_ptr<ma_sound, MaSoundDeleter> sound;
39 virtual ~MiniaudioBackend()
override;
41 virtual bool init()
override;
43 virtual void update()
override;
56 void CullFinishedSounds();
59 bool initialized_ =
false;
61 std::unordered_map<AudioPlaybackHandle::ValueType, ActiveSound> active_sounds_;
The abstract interface for an audio backend.
Definition audio_backend.h:15
virtual void resume_sound(AudioPlaybackHandle handle) override
Resumes an active playback handle if it still exists.
Definition miniaudio_backend.cc:173
virtual void play_sound(AudioPlaybackHandle handle, const std::string &file_path, AudioPlaybackSettings settings) override
Plays the sound file at filePath using an owned playback handle.
Definition miniaudio_backend.cc:84
virtual void shutdown() override
Shuts down the backend.
Definition miniaudio_backend.cc:58
virtual void set_looping(AudioPlaybackHandle handle, bool loop) override
Updates whether an active playback loops.
Definition miniaudio_backend.cc:206
virtual bool init() override
Initializes the backend. Returns true on success.
Definition miniaudio_backend.cc:39
virtual void stop_sound(AudioPlaybackHandle handle) override
Stops an active playback handle if it still exists.
Definition miniaudio_backend.cc:133
virtual void update() override
Performs periodic backend maintenance.
Definition miniaudio_backend.cc:79
virtual void set_volume(AudioPlaybackHandle handle, float volume) override
Updates the playback volume for an active handle.
Definition miniaudio_backend.cc:193
virtual void stop_all() override
Stops all active sounds.
Definition miniaudio_backend.cc:265
virtual void set_spatial_settings(AudioPlaybackHandle handle, AudioSpatialSettings settings) override
Updates spatial settings for an active playback handle.
Definition miniaudio_backend.cc:231
virtual void set_playback_position(AudioPlaybackHandle handle, glm::vec3 position) override
Updates the world-space position of an active playback handle.
Definition miniaudio_backend.cc:252
virtual void set_listener_transform(glm::vec3 position, glm::vec3 forward, glm::vec3 up) override
Updates the active listener transform used by spatial sounds.
Definition miniaudio_backend.cc:219
virtual void pause_sound(AudioPlaybackHandle handle) override
Pauses an active playback handle if it still exists.
Definition miniaudio_backend.cc:153
Definition audio_playback_handle.h:8
Definition audio_playback_settings.h:11
Definition audio_spatial_settings.h:6
A custom deleter for a dynamically allocated ma_sound.
Definition miniaudio_backend.h:15
Definition miniaudio_backend.h:33