aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/audio/je_lua_audio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/modules/audio/je_lua_audio.cpp')
-rw-r--r--src/lua/modules/audio/je_lua_audio.cpp14
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);