TazGraph Project v0.1.0
Loading...
Searching...
No Matches
AudioEngine.h
1#pragma once
2
3#include <SDL2/SDL_mixer.h>
4#include "../ConsoleLogger.h"
5
6#include <string>
7#include <map>
8
9
11 public:
12 friend class AudioEngine;
13
14 //@param loops: if loops == -1 --> loop forever
15 // else play it loops+1 times
16 void play(int loops = 0);
17 private:
18 Mix_Chunk* _chunk = nullptr;
19 };
20
21 class Music {
22 public:
23 friend class AudioEngine;
24
25 //@param loops: if loops == -1 --> loop forever
26 // else play it loops times
27 void play(int loops = 1);
28
29 static void pause();
30 static void stop();
31 static void resume();
32 private:
33 Mix_Music* _music = nullptr;
34 };
35
36
38 public:
41
42 void init();
43 void destroy();
44
45 SoundEffect loadSoundEffect(const std::string& filePath);
46 Music loadMusic(const std::string& filePath);
47 private:
48
49 std::map<std::string, Mix_Chunk*> _effectMap;
50 std::map<std::string, Mix_Music*> _musicMap;
51
52 bool _isInitialized = false;
53 };
54
Definition AudioEngine.h:37
Definition AudioEngine.h:21
Definition AudioEngine.h:10