void MusicPlayer::Init(Config &cfg, string musicDir, string themeMusicDir)
{
	m_music = NULL;
	m_manual_stop = true;
	m_stopped = true;
	m_fade_rate = cfg.getInt("GENERAL", "music_fade_rate", 8);
	m_music_volume = cfg.getInt("GENERAL", "sound_volume_music", 255);

	SetVolume(0); // Fades in with tick()

	MusicDirectory dir = (MusicDirectory) cfg.getInt("GENERAL", "music_directories", NORMAL_MUSIC | THEME_MUSIC);
	CList list;
	if (dir & THEME_MUSIC)
		list.GetPaths(m_music_files, themeMusicDir, ".ogg|.mp3"); //|.mod|.xm|.s3m|.wav|.aiff");

	if (dir & NORMAL_MUSIC)
		list.GetPaths(m_music_files, musicDir, ".ogg|.mp3"); //|.mod|.xm|.s3m|.wav|.aiff");

	if (cfg.getBool("GENERAL", "randomize_music") && m_music_files.size() > 0)
	{
		srand(unsigned(time(NULL)));
		random_shuffle(m_music_files.begin(), m_music_files.end());
	}

	m_current_music = m_music_files.begin();
}