1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Sound loading from memory (by using a quick hack)

This commit is contained in:
Perttu Ahola 2012-03-25 15:52:43 +03:00
parent a9a923e4da
commit db0928add3
2 changed files with 13 additions and 28 deletions

View file

@ -41,6 +41,7 @@ with this program; ifnot, write to the Free Software Foundation, Inc.,
#include <map>
#include <vector>
#include "utility.h" // myrand()
#include "filesys.h"
#define BUFFER_SIZE 30000
@ -434,9 +435,18 @@ public:
bool loadSoundData(const std::string &name,
const std::string &filedata)
{
errorstream<<"OpenALSoundManager: Loading from filedata not"
" implemented"<<std::endl;
return false;
// The vorbis API sucks; just write it to a file and use vorbisfile
// TODO: Actually load it directly from memory
std::string basepath = porting::path_user + DIR_DELIM + "cache" +
DIR_DELIM + "tmp";
std::string path = basepath + DIR_DELIM + "tmp.ogg";
verbosestream<<"OpenALSoundManager::loadSoundData(): Writing "
<<"temporary file to ["<<path<<"]"<<std::endl;
fs::CreateAllDirs(basepath);
std::ofstream of(path.c_str(), std::ios::binary);
of.write(filedata.c_str(), filedata.size());
of.close();
return loadSoundFile(name, path);
}
void updateListener(v3f pos, v3f vel, v3f at, v3f up)