aboutsummaryrefslogtreecommitdiff
path: root/src/lua/modules/audio
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-10-27 08:31:00 +0800
committerchai <chaifix@163.com>2018-10-27 08:31:00 +0800
commit73c42ddcc4eeb6ac3f0282d2c08ae8e632f3355f (patch)
treeeeddce1725b9d6f81693d2ae99f665226d7a9d24 /src/lua/modules/audio
parente21485a60da2b304a0d529d72e9a47061a3f9502 (diff)
*修改boot.lua
Diffstat (limited to 'src/lua/modules/audio')
-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);