Source:getSound;

This commit is contained in:
bjorn 2021-03-03 15:32:41 -07:00
parent dd98b11b3f
commit 2c0875087f
3 changed files with 13 additions and 0 deletions

View File

@ -11,6 +11,13 @@ static int l_lovrSourceClone(lua_State* L) {
return 1;
}
static int l_lovrSourceGetSound(lua_State* L) {
Source* source = luax_checktype(L, 1, Source);
struct Sound* sound = lovrSourceGetSound(source);
luax_pushtype(L, Sound, sound);
return 1;
}
static int l_lovrSourcePlay(lua_State* L) {
Source* source = luax_checktype(L, 1, Source);
bool played = lovrSourcePlay(source);
@ -206,6 +213,7 @@ static int l_lovrSourceSetEffectEnabled(lua_State* L) {
const luaL_Reg lovrSource[] = {
{ "clone", l_lovrSourceClone },
{ "getSound", l_lovrSourceGetSound },
{ "play", l_lovrSourcePlay },
{ "pause", l_lovrSourcePause },
{ "stop", l_lovrSourceStop },

View File

@ -404,6 +404,10 @@ void lovrSourceDestroy(void* ref) {
free(source);
}
Sound* lovrSourceGetSound(Source* source) {
return source->sound;
}
bool lovrSourcePlay(Source* source) {
if (state.sourceMask == ~0ull) {
return false;

View File

@ -71,6 +71,7 @@ struct Sound* lovrAudioGetCaptureStream(void);
Source* lovrSourceCreate(struct Sound* sound, bool spatial);
Source* lovrSourceClone(Source* source);
void lovrSourceDestroy(void* ref);
struct Sound* lovrSourceGetSound(Source* source);
bool lovrSourcePlay(Source* source);
void lovrSourcePause(Source* source);
void lovrSourceStop(Source* source);