Ajouts de musique et irrKlang.
This commit is contained in:
41
SQCSim2021/external/irrKlang-1.6.0/plugins/ikpMP3/ikpMP3.cpp
vendored
Normal file
41
SQCSim2021/external/irrKlang-1.6.0/plugins/ikpMP3/ikpMP3.cpp
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
|
||||
#include <irrKlang.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "CIrrKlangAudioStreamLoaderMP3.h"
|
||||
|
||||
using namespace irrklang;
|
||||
|
||||
// this is the only function needed to be implemented for the plugin, it gets
|
||||
// called by irrKlang when loaded.
|
||||
// In this plugin, we create an audiostream loader class and register
|
||||
// it at the engine, but a plugin can do anything.
|
||||
// Be sure to name the function 'irrKlangPluginInit' and let the dll start with 'ikp'.
|
||||
|
||||
#ifdef WIN32
|
||||
// Windows version
|
||||
__declspec(dllexport) void __stdcall irrKlangPluginInit(ISoundEngine* engine, const char* version)
|
||||
#else
|
||||
// Linux version
|
||||
void irrKlangPluginInit(ISoundEngine* engine, const char* version)
|
||||
#endif
|
||||
{
|
||||
// do some version security check to be sure that this plugin isn't begin used
|
||||
// by some newer irrKlang version with changed interfaces which could possibily
|
||||
// cause crashes.
|
||||
|
||||
if (strcmp(version, IRR_KLANG_VERSION))
|
||||
{
|
||||
printf("This MP3 plugin only supports irrKlang version %s, mp3 playback disabled.\n", IRR_KLANG_VERSION);
|
||||
return;
|
||||
}
|
||||
|
||||
// create and register the loader
|
||||
|
||||
CIrrKlangAudioStreamLoaderMP3* loader = new CIrrKlangAudioStreamLoaderMP3();
|
||||
engine->registerAudioStreamLoader(loader);
|
||||
loader->drop();
|
||||
|
||||
// that's it, that's all.
|
||||
}
|
||||
|
Reference in New Issue
Block a user