diff options
author | chai <chaifix@163.com> | 2018-12-20 18:34:50 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-12-20 18:34:50 +0800 |
commit | ee8ef0433e36bf354a717bd4af679a0a5af2e6be (patch) | |
tree | 2fc748510200f8bc24928d1938300eecc0604deb /src/lua/modules/audio/je_lua_audio.cpp | |
parent | 7ae40127f15f8f2cb963a7efeb018f7887ebc1ea (diff) |
*修改文件结构
Diffstat (limited to 'src/lua/modules/audio/je_lua_audio.cpp')
-rw-r--r-- | src/lua/modules/audio/je_lua_audio.cpp | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/src/lua/modules/audio/je_lua_audio.cpp b/src/lua/modules/audio/je_lua_audio.cpp deleted file mode 100644 index f5ef31f..0000000 --- a/src/lua/modules/audio/je_lua_audio.cpp +++ /dev/null @@ -1,132 +0,0 @@ -#include "common/je_lua.h" -#include "common/je_lua_common.h" -#include "libjin/jin.h" -#include "je_lua_source.h" - -using namespace JinEngine::Audio; -using namespace JinEngine::Audio::SDL; -using namespace JinEngine::Filesystem; - -namespace JinEngine -{ - namespace Lua - { - - 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; - Audio* audio = Audio::get(); - context.initialized = audio->start(&setting); - if (!context.initialized) - { - luax_error(L, "could not init audio"); - luax_pushboolean(L, false); - return 1; - } - luax_pushboolean(L, true); - return 1; - } - - LUA_IMPLEMENT int l_play(lua_State* L) - { - Audio::get()->play(); - return 0; - } - - LUA_IMPLEMENT int l_stop(lua_State* L) - { - Audio::get()->stop(); - return 0; - } - - LUA_IMPLEMENT int l_pause(lua_State* L) - { - Audio::get()->pause(); - return 0; - } - - LUA_IMPLEMENT int l_resume(lua_State* L) - { - Audio::get()->resume(); - return 0; - } - - LUA_IMPLEMENT int l_setVolume(lua_State* L) - { - float volume = luax_checknumber(L, 1); - Audio::get()->setVolume(volume); - return 0; - } - - LUA_IMPLEMENT int l_newSource(lua_State* L) - { - AssetDatabase* fs = AssetDatabase::get(); - const char* f = luax_checkstring(L, 1); - Buffer b; - try - { - if (!fs->exists(f)) - throw Exception("No such source file %s.", f); - fs->read(f, b); - } - catch (Exception& e) - { - error(L, "Failed to read source file %s", f); - luax_pushnil(L); - return 1; - } - Source* src = new SDLSource((void*)&b, b.size()); - if (src == nullptr) - { - error(L, "Failed to decode source file %s", f); - luax_pushnil(L); - return 1; - } - LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Source, new Shared(src)); - return 1; - } - - LUA_IMPLEMENT int l_destroy(lua_State* L) - { - Audio* audio = Audio::get(); - audio->quit(); - return 0; - } - - LUA_EXPORT int luaopen_audio(lua_State* L) - { - luaopen_Source(L); - - luaL_Reg methods[] = { - { "init", l_init }, - { "play", l_play }, - { "stop", l_stop }, - { "pause", l_pause }, - { "resume", l_resume }, - { "setVolume", l_setVolume }, - { "newSource", l_newSource }, - { "destroy", l_destroy }, - { 0, 0 } - }; - luax_newlib(L, methods); - return 1; - } - - } // namespace Lua -} // namespace JinEngine
\ No newline at end of file |