FuncDoodle
Loading...
Searching...
No Matches
AudioManager.h
Go to the documentation of this file.
1
18
19#pragma once
20
21#include <condition_variable>
22#include <filesystem>
23#include <mutex>
24
25#include "Audio.h"
26
27namespace FuncDoodle {
40 public:
41 AudioManager() = default;
42 ~AudioManager() = default;
49 static void PlayWav(AudioData wavPath);
57 static AudioData ParseWav(std::filesystem::path wav);
62 static void WaitForAllPlayback();
63
64 private:
65 static std::mutex s_PlaybackMutex;
66 static std::condition_variable s_PlaybackCv;
68 };
69}; // namespace FuncDoodle
Audio data structures and PortAudio management.
static void PlayWav(AudioData wavPath)
Plays decoded WAV audio data.
Definition AudioManager.cc:15
static std::condition_variable s_PlaybackCv
Definition AudioManager.h:66
static void WaitForAllPlayback()
Blocks until all active playback operations finish.
Definition AudioManager.cc:77
static int s_ActivePlaybacks
Definition AudioManager.h:67
static AudioData ParseWav(std::filesystem::path wav)
Loads a WAV file from disk and decodes it.
Definition AudioManager.cc:83
static std::mutex s_PlaybackMutex
Definition AudioManager.h:65
The FuncDoodle C++ namespace.
Definition Common.h:12
Represents raw PCM audio data.
Definition Audio.h:18