PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
audio_backend.h
1#pragma once
2
3#include "pixelbullet/audio/audio_playback_handle.h"
4#include "pixelbullet/audio/audio_playback_settings.h"
5#include "pixelbullet/audio/audio_spatial_settings.h"
6
7#include <glm/glm.hpp>
8
9#include <string>
10
11namespace pixelbullet
12{
15{
16public:
17 virtual ~AudioBackend()
18 {
19 }
21 virtual bool init() = 0;
23 virtual void shutdown() = 0;
25 virtual void update() = 0;
27 virtual void play_sound(AudioPlaybackHandle handle, const std::string& file_path, AudioPlaybackSettings settings) = 0;
29 virtual void stop_sound(AudioPlaybackHandle handle) = 0;
31 virtual void pause_sound(AudioPlaybackHandle handle) = 0;
33 virtual void resume_sound(AudioPlaybackHandle handle) = 0;
35 virtual void set_volume(AudioPlaybackHandle handle, float volume) = 0;
37 virtual void set_looping(AudioPlaybackHandle handle, bool loop) = 0;
39 virtual void set_listener_transform(glm::vec3 position, glm::vec3 forward, glm::vec3 up) = 0;
43 virtual void set_playback_position(AudioPlaybackHandle handle, glm::vec3 position) = 0;
45 virtual void stop_all() = 0;
46};
47} // namespace pixelbullet
The abstract interface for an audio backend.
Definition audio_backend.h:15
virtual void set_spatial_settings(AudioPlaybackHandle handle, AudioSpatialSettings settings)=0
Updates spatial settings for an active playback handle.
virtual void set_volume(AudioPlaybackHandle handle, float volume)=0
Updates the playback volume for an active handle.
virtual void shutdown()=0
Shuts down the backend.
virtual void set_listener_transform(glm::vec3 position, glm::vec3 forward, glm::vec3 up)=0
Updates the active listener transform used by spatial sounds.
virtual void stop_sound(AudioPlaybackHandle handle)=0
Stops an active playback handle if it still exists.
virtual void update()=0
Performs periodic backend maintenance.
virtual void set_looping(AudioPlaybackHandle handle, bool loop)=0
Updates whether an active playback loops.
virtual bool init()=0
Initializes the backend. Returns true on success.
virtual void stop_all()=0
Stops all active sounds.
virtual void resume_sound(AudioPlaybackHandle handle)=0
Resumes an active playback handle if it still exists.
virtual void pause_sound(AudioPlaybackHandle handle)=0
Pauses an active playback handle if it still exists.
virtual void play_sound(AudioPlaybackHandle handle, const std::string &file_path, AudioPlaybackSettings settings)=0
Plays the sound file at filePath using an owned playback handle.
virtual void set_playback_position(AudioPlaybackHandle handle, glm::vec3 position)=0
Updates the world-space position of an active playback handle.
Definition audio_playback_handle.h:8
Definition audio_playback_settings.h:11
Definition audio_spatial_settings.h:6