GameKit  0.0.1a
C++ gamedev tools
Music.cpp
Go to the documentation of this file.
1 /*
2  * =====================================================================================
3  *
4  * Filename: BackgroundMusic.cpp
5  *
6  * Description:
7  *
8  * Created: 15/09/2014 23:03:51
9  *
10  * Author: Quentin Bazin, <quent42340@gmail.com>
11  *
12  * =====================================================================================
13  */
14 #include "gk/audio/Music.hpp"
15 #include "gk/core/Exception.hpp"
16 
17 namespace gk {
18 
19 Music::Music(const std::string &filename) {
20  openFromFile(filename);
21 }
22 
23 void Music::openFromFile(const std::string &filename) {
24  m_music.reset(Mix_LoadMUS(filename.c_str()));
25  if(!m_music) {
26  throw EXCEPTION("Unable to load music:", filename, ":", Mix_GetError());
27  }
28 }
29 
30 void Music::play() {
31  Mix_VolumeMusic(m_volume);
32  Mix_PlayMusic(m_music.get(), -1);
33 }
34 
35 } // namespace gk
36 
int m_volume
Definition: Music.hpp:40
Music()=default
#define EXCEPTION(args...)
Definition: Exception.hpp:22
void openFromFile(const std::string &filename)
Definition: Music.cpp:23
Mix_MusicPtr m_music
Definition: Music.hpp:38
void play()
Definition: Music.cpp:30