-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcSound.cpp
More file actions
71 lines (67 loc) · 1.28 KB
/
cSound.cpp
File metadata and controls
71 lines (67 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
==========================================================================
cSound.cpp
==========================================================================
*/
//#pragma warning ( disable : 4996 )
#include "cSound.h"
using namespace std;
cSound::cSound()
{
this->theSoundType = soundType::sfx;
}
cSound::cSound(soundType sndType)
{
this->theSoundType = sndType;
}
cSound::~cSound()
{
}
bool cSound::load(LPCSTR filename)
{
switch (this->theSoundType)
{
case soundType::sfx:
{
this->SoundFX = Mix_LoadWAV(filename);
if (this->SoundFX != 0)
{
cout << "Sound FX '" << filename << "' could not be loaded. " << SDL_GetError() << endl;
return false;
}
return true;
}
break;
case soundType::music:
{
this->sMusic = Mix_LoadMUS(filename);
if (this->sMusic != 0)
{
cout << "Music '" << filename << "' could not be loaded. " << SDL_GetError() << endl;
return false;
}
return true;
}
break;
default:
return false;
}
}
void cSound::play(int loop)
{
switch (this->theSoundType)
{
case soundType::sfx:
{
Mix_PlayChannel(-1, this->SoundFX, loop);
}
break;
case soundType::music:
{
Mix_PlayMusic(this->sMusic, loop);
}
break;
default:
break;
}
}