lovr/src/api/l_data_soundData.c

32 lines
913 B
C
Raw Normal View History

2018-07-06 03:23:46 +00:00
#include "api.h"
#include "data/soundData.h"
2020-11-26 21:14:02 +00:00
#include "data/blob.h"
static int l_lovrSoundDataGetBlob(lua_State* L) {
SoundData* soundData = luax_checktype(L, 1, SoundData);
Blob* blob = soundData->blob;
luax_pushtype(L, Blob, blob);
return 1;
}
2018-07-06 03:23:46 +00:00
2020-12-10 12:29:42 +00:00
static int l_lovrSoundDataAppend(lua_State* L) {
SoundData* soundData = luax_checktype(L, 1, SoundData);
Blob* blob = luax_totype(L, 2, Blob);
SoundData* sound = luax_totype(L, 2, SoundData);
lovrAssert(blob || sound, "Invalid blob appended");
size_t appendedSamples = false;
if (sound) {
appendedSamples = lovrSoundDataStreamAppendSound(soundData, sound);
} else if (blob) {
appendedSamples = lovrSoundDataStreamAppendBlob(soundData, blob);
}
lua_pushinteger(L, appendedSamples);
return 1;
}
2018-07-06 03:23:46 +00:00
const luaL_Reg lovrSoundData[] = {
2020-12-03 16:07:55 +00:00
{ "getBlob", l_lovrSoundDataGetBlob },
2020-12-10 12:29:42 +00:00
{ "append", l_lovrSoundDataAppend },
2020-12-03 16:07:55 +00:00
{ NULL, NULL }
2018-07-06 03:23:46 +00:00
};