3#include <SDL3/SDL_audio.h>
4#include "../core/definitions.hpp"
5#include "../core/node/node.hpp"
6#include "../core/node/components.hpp"
7#include "../utils/logger.hpp"
8#include "../core/signal.hpp"
11static SDL_AudioDeviceID audio_device = SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK;
26 SDL_AudioDeviceID device;
103 void update(
float deltaTime);
106 template <
class Archive>
109 ar(CEREAL_NVP(volume), CEREAL_NVP(pitch), CEREAL_NVP(playing), CEREAL_NVP(
path), CEREAL_NVP(
loop));
112 template <
class Archive>
115 ar(CEREAL_NVP(volume), CEREAL_NVP(pitch), CEREAL_NVP(playing), CEREAL_NVP(
path), CEREAL_NVP(
loop));
118 SDL_SetAudioStreamFrequencyRatio(this->handle.
stream, this->pitch);
119 SDL_SetAudioStreamGain(this->handle.
stream, this->volume);
127 bool playing =
false;
131 bool finishedFeeding =
false;
float getVolume() const
Definition audio.cpp:100
void exit()
Definition audio.cpp:165
void load(Archive &ar)
Definition audio.hpp:113
void play()
Definition audio.cpp:36
Signal paused
Definition audio.hpp:97
Signal finished
Definition audio.hpp:94
void setPitch(float pitch)
Definition audio.cpp:89
float getPitch() const
Definition audio.cpp:95
void save(Archive &ar) const
Definition audio.hpp:107
void update(float deltaTime)
Definition audio.cpp:126
void setVolume(float volume)
Definition audio.cpp:83
std::string path
Definition audio.hpp:85
void pause()
Definition audio.cpp:119
void stop()
Definition audio.cpp:110
bool loadAudio()
Definition audio.cpp:52
bool loop
Definition audio.hpp:93
Signal looped
Definition audio.hpp:95
bool getPlaying() const
Definition audio.cpp:105
Signal stopped
Definition audio.hpp:96
static const int bufferSize
Definition audio.hpp:18
void openAudioDevice(int id)
Definition audio.cpp:18
void initialize()
Definition audio.cpp:16
static const int chunkSize
Definition audio.hpp:19
Audio()
Definition audio.cpp:7
SDL_AudioDeviceID getAudioDevice() const
Definition audio.cpp:25
void exit()
Definition audio.cpp:12
static std::string getAbsoluteFilePath(const std::string &path)
Definition file.cpp:207
Definition components.hpp:21
Uint8 * wav_data
Definition audio.hpp:34
SDL_AudioStream * stream
Definition audio.hpp:36
Uint32 wav_data_len
Definition audio.hpp:35