Ember
A C++ 20 'game engine' built with SDL3 with wide platform support.
audio_manager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "engine_sys.h"
4 #include "core/engine.h"
6 
7 constexpr int NUM_CHANNELS = 2;
8 constexpr int SAMPLE_RATE = 48000;
9 
10 
16 bool init_audio_engine();
17 
23 void close_audio_engine();
24 
25 
33 class AudioManager final : public EngineManager {
34 public:
35 
36  bool initialize() override;
37 
38  void update(double delta_time) override ;
39 
40  void shutdown() override;
41 
42  AudioManager() = default;
43  ~AudioManager() override;
44 protected:
45  const char* name = "AudioSystem";
46 };
constexpr int SAMPLE_RATE
Definition: audio_manager.h:8
constexpr int NUM_CHANNELS
Definition: audio_manager.h:7
bool init_audio_engine()
Initialize the Miniaudio audio engine.
Definition: audio_manager.cpp:9
void close_audio_engine()
Close the Miniaudio audio engine.
Definition: audio_manager.cpp:65
AudioManager class.
Definition: audio_manager.h:33
const char * name
Definition: audio_manager.h:45
void shutdown() override
Definition: audio_manager.cpp:86
void update(double delta_time) override
Definition: audio_manager.cpp:83
bool initialize() override
Definition: audio_manager.cpp:77
AudioManager()=default
~AudioManager() override
Base class for all engine systems.
Definition: engine_sys.h:10