-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSound.cpp
More file actions
77 lines (62 loc) · 888 Bytes
/
Sound.cpp
File metadata and controls
77 lines (62 loc) · 888 Bytes
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
72
73
74
75
76
77
#include "Sound.h"
Sound::Sound()
{
data = 0;
}
Sound::Sound( const char* filename )
{
load( filename );
}
void Sound::load( const char* filename )
{
data = Mix_LoadWAV( filename );
}
void Sound::play()
{
Mix_PlayChannel( -1, data, 0 );
}
void Sound::reset()
{
Mix_FreeChunk( data );
data = 0;
}
Sound::~Sound()
{
if( data )
reset();
}
Music::Music()
{
song = 0;
}
Music::Music( const char* file )
{
load( file );
}
bool Music::playing()
{
return Mix_PlayingMusic();
}
bool Music::load( const char* file )
{
song = Mix_LoadMUS( file );
return song;
}
bool Music::loop()
{
return Mix_PlayMusic( song, -1 ) != -1;
}
bool Music::fade_in( int time )
{
return Mix_FadeInMusic( song, -1, time );
}
void Music::reset()
{
Mix_FreeMusic( song );
song = 0;
}
Music::~Music()
{
if( song )
reset();
}