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