WiiFlow_Lite/source/music/musicplayer.h
fix94.1 971b5bdb52 -improved jpg support, now the cover width and height dont need
to be divisible with 4 anymore, you can use what you want
-moved sound buffers back in mem2, idk but for wiiflow it gives
a better result
-added mem2 memalign placeholder for new memory manager (after
a week still everything but finished)
-updated other small things, cleaned up source structure a bit
2012-08-05 13:48:15 +00:00

61 lines
1.1 KiB
C++

#ifndef _MUSICPLAYER_H
#define _MUSICPLAYER_H
#include <string>
#include "gui_sound.h"
#include "config/config.hpp"
#include "list/cachedlist.hpp"
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