aboutsummaryrefslogtreecommitdiff
path: root/src/lua/audio/luaopen_Source.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-08-16 14:21:56 +0800
committerchai <chaifix@163.com>2018-08-16 14:21:56 +0800
commit8585c92b7d0744a1f1a39c872cf5096621161b6c (patch)
tree6aa02138f39f7b11ab17c7399064353092b8df0c /src/lua/audio/luaopen_Source.cpp
parentbe9b27dbf550093b555ab3087c11b38c89ab9fd0 (diff)
*update
Diffstat (limited to 'src/lua/audio/luaopen_Source.cpp')
-rw-r--r--src/lua/audio/luaopen_Source.cpp46
1 files changed, 22 insertions, 24 deletions
diff --git a/src/lua/audio/luaopen_Source.cpp b/src/lua/audio/luaopen_Source.cpp
index 8881620..b5db88f 100644
--- a/src/lua/audio/luaopen_Source.cpp
+++ b/src/lua/audio/luaopen_Source.cpp
@@ -1,86 +1,84 @@
#include "lua/luax.h"
#include "../luaopen_types.h"
-#include "Source.h"
+#include "libjin/jin.h"
namespace jin
{
namespace lua
{
- using audio::Source;
+ using namespace jin::audio;
- static inline Source* checkSource(lua_State* L)
+ static inline Ref<Source>& checkSource(lua_State* L)
{
Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_AUDIO_SOURCE);
- if (proxy != 0 && proxy != nullptr)
- return (Source*)proxy->object;
- return nullptr;
+ return proxy->getRef<Source>();
}
static int l_play(lua_State* L)
{
- Source* src = checkSource(L);
- src->play();
+ Ref<Source>& ref = checkSource(L);
+ (*ref).play();
return 0;
}
static int l_stop(lua_State* L)
{
- Source* src = checkSource(L);
- src->stop();
+ Ref<Source>& ref = checkSource(L);
+ (*ref).stop();
return 0;
}
static int l_pause(lua_State* L)
{
- Source* src = checkSource(L);
- src->pause();
+ Ref<Source>& ref = checkSource(L);
+ (*ref).pause();
return 0;
}
static int l_rewind(lua_State* L)
{
- Source* src = checkSource(L);
- src->rewind();
+ Ref<Source>& ref = checkSource(L);
+ (*ref).rewind();
return 0;
}
static int l_resume(lua_State* L)
{
- Source* src = checkSource(L);
- src->resume();
+ Ref<Source>& ref = checkSource(L);
+ (*ref).resume();
return 0;
}
static int l_isStop(lua_State* L)
{
- Source* src = checkSource(L);
- bool isStop = src->isStopped();
+ Ref<Source>& ref = checkSource(L);
+ bool isStop = (*ref).isStopped();
luax_pushboolean(L, isStop);
return 1;
}
static int l_isPaused(lua_State* L)
{
- Source* src = checkSource(L);
- bool isPaused = src->isPaused();
+ Ref<Source>& ref = checkSource(L);
+ bool isPaused = (*ref).isPaused();
luax_pushboolean(L, isPaused);
return 1;
}
static int l_setVolume(lua_State* L)
{
- Source* src = checkSource(L);
+ Ref<Source>& ref = checkSource(L);
float volume = luax_checknumber(L, 2);
- src->setVolume(volume);
+ (*ref).setVolume(volume);
return 0;
}
static int l_setLoop(lua_State* L)
{
- Source* src = checkSource(L);
+ Ref<Source>& ref = checkSource(L);
bool loop = luax_checkbool(L, 2);
- src->setLoop(loop);
+ (*ref).setLoop(loop);
return 0;
}