void PlayMusic(const std::string& name) { StopMusic(); size_t length; ALubyte* data = GetSoundData("Music/" + name, length); currentMusicName = name; currentMusicStream = alureCreateStreamFromStaticMemory(data, length, CHUNK_LENGTH, 2, musicBufs); alurePlaySourceStream(musicSource, currentMusicStream, 2, 1, MusicEndCallback, data); LOG("Sound", LOG_MESSAGE, "Music: %s", name.c_str()); if (!data) LOG("Sound", LOG_WARNING, "failed to find music"); }
void PlayMusic(const std::string& name) { StopMusic(); size_t length; ALubyte* data = GetSoundData("Music/" + name, length); currentMusicName = name; currentMusicStream = alureCreateStreamFromStaticMemory(data, length, CHUNK_LENGTH, 2, musicBufs); alurePlaySourceStream(musicSource, currentMusicStream, 2, 1, MusicEndCallback, data); LOG("Sound", LOG_MESSAGE, "Music: %s", name.c_str()); if (!data) LOG("Sound", LOG_WARNING, "failed to find music"); #ifndef NDEBUG if (alGetError()) LOG("Sound", LOG_ERROR, "OpenAL error"); const ALchar* err = alureGetErrorString(); if (strcmp(err, "No error")) { LOG("Sound", LOG_ERROR, "ALURE error attempting to play song %s: %s", name.c_str(), err); exit(1); } #endif }