WiiFlow_Lite/source/music/musicplayer.h
fix94.1 1ad14ce248 -fixed possible bug in memory allocation (thanks megazig for
hints how to debug better)
-made the global cleanup less unstable
-fixed IOS Reload on game loading codedump
-fixed bug in network init
2012-07-08 13:35:59 +00:00

62 lines
1.1 KiB
C++

#ifndef _MUSICPLAYER_H
#define _MUSICPLAYER_H
#include <string>
#include "config/config.hpp"
#include "cachedlist.hpp"
#include "gui_sound.h"
enum MusicDirectory
{
NORMAL_MUSIC = 1,
THEME_MUSIC = 2
};
#define ASND_MUSIC_VOICE 0
class MusicPlayer
{
public:
MusicPlayer();
~MusicPlayer();
void cleanup();
void Init(Config &cfg, std::string musicDir, std::string themeMusicDir);
void Tick(bool attenuate);
void SetVolume(int volume);
void SetVolume(int volume, int max_volume);
int GetVolume() { return m_music != NULL ? m_music_current_volume : 0; };
int GetMaxVolume() { return m_music_volume; };
void Previous();
void Next();
void Pause();
void Play();
void Stop();
bool IsStopped() { return m_stopped; };
private:
void LoadCurrentFile();
CachedList<std::string> m_music_files;
vector<std::string>::iterator m_current_music;
int m_fade_rate;
int m_music_volume;
int m_music_current_volume;
bool m_manual_stop;
bool m_paused;
bool m_stopped;
bool m_playbackFinished;
GuiSound *m_music;
u32 *m_songCount;
};
extern MusicPlayer *m_music;
#endif