diff options
Diffstat (limited to 'src/lua/modules/audio/je_lua_audio.cpp')
-rw-r--r-- | src/lua/modules/audio/je_lua_audio.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lua/modules/audio/je_lua_audio.cpp b/src/lua/modules/audio/je_lua_audio.cpp index c021ef1..8ffa794 100644 --- a/src/lua/modules/audio/je_lua_audio.cpp +++ b/src/lua/modules/audio/je_lua_audio.cpp @@ -14,12 +14,24 @@ namespace JinEngine typedef SDLAudio Audio; typedef SDLSource Source; + struct + { + bool initialized = false; + } context; + LUA_IMPLEMENT int l_init(lua_State* L) { + if (context.initialized) + { + // Already initialized. + luax_pushboolean(L, true); + return 1; + } Audio::Setting setting; setting.samplerate = 44100; setting.samples = 44100; - if (!Audio::get()->init(&setting)) + context.initialized = Audio::get()->init(&setting); + if (!context.initialized) { luax_error(L, "could not init audio"); luax_pushboolean(L, false); |