mirror of https://github.com/bjornbytes/lovr.git
Source:getOrientation; Source:setOrientation;
This commit is contained in:
parent
d437d04259
commit
fa6b742972
|
@ -58,6 +58,10 @@ ALenum lovrSourceGetFormat(Source* source) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
void lovrSourceGetOrientation(Source* source, float* x, float* y, float* z) {
|
||||
alGetSource3f(source->id, AL_DIRECTION, x, y, z);
|
||||
}
|
||||
|
||||
float lovrSourceGetPitch(Source* source) {
|
||||
float pitch;
|
||||
alGetSourcef(source->id, AL_PITCH, &pitch);
|
||||
|
@ -142,14 +146,18 @@ void lovrSourceSeek(Source* source, int sample) {
|
|||
}
|
||||
}
|
||||
|
||||
void lovrSourceSetPitch(Source* source, float pitch) {
|
||||
alSourcef(source->id, AL_PITCH, pitch);
|
||||
}
|
||||
|
||||
void lovrSourceSetLooping(Source* source, int isLooping) {
|
||||
source->isLooping = isLooping;
|
||||
}
|
||||
|
||||
void lovrSourceSetOrientation(Source* source, float dx, float dy, float dz) {
|
||||
alSource3f(source->id, AL_DIRECTION, dx, dy, dz);
|
||||
}
|
||||
|
||||
void lovrSourceSetPitch(Source* source, float pitch) {
|
||||
alSourcef(source->id, AL_PITCH, pitch);
|
||||
}
|
||||
|
||||
void lovrSourceSetPosition(Source* source, float x, float y, float z) {
|
||||
alSource3f(source->id, AL_POSITION, x, y, z);
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ int lovrSourceGetBitDepth(Source* source);
|
|||
int lovrSourceGetChannels(Source* source);
|
||||
int lovrSourceGetDuration(Source* source);
|
||||
ALenum lovrSourceGetFormat(Source* source);
|
||||
void lovrSourceGetOrientation(Source* source, float* x, float* y, float* z);
|
||||
float lovrSourceGetPitch(Source* source);
|
||||
void lovrSourceGetPosition(Source* source, float* x, float* y, float* z);
|
||||
int lovrSourceGetSampleRate(Source* source);
|
||||
|
@ -53,6 +54,7 @@ void lovrSourceRewind(Source* source);
|
|||
void lovrSourceSeek(Source* source, int sample);
|
||||
void lovrSourceSetLooping(Source* source, int isLooping);
|
||||
void lovrSourceSetPitch(Source* source, float pitch);
|
||||
void lovrSourceSetOrientation(Source* source, float dx, float dy, float dz);
|
||||
void lovrSourceSetPosition(Source* source, float x, float y, float z);
|
||||
void lovrSourceSetVolume(Source* source, float volume);
|
||||
void lovrSourceStop(Source* source);
|
||||
|
|
|
@ -5,6 +5,7 @@ const luaL_Reg lovrSource[] = {
|
|||
{ "getBitDepth", l_lovrSourceGetBitDepth },
|
||||
{ "getChannels", l_lovrSourceGetChannels },
|
||||
{ "getDuration", l_lovrSourceGetDuration },
|
||||
{ "getOrientation", l_lovrSourceGetOrientation },
|
||||
{ "getPitch", l_lovrSourceGetPitch },
|
||||
{ "getPosition", l_lovrSourceGetPosition },
|
||||
{ "getSampleRate", l_lovrSourceGetSampleRate },
|
||||
|
@ -19,6 +20,7 @@ const luaL_Reg lovrSource[] = {
|
|||
{ "rewind", l_lovrSourceRewind },
|
||||
{ "seek", l_lovrSourceSeek },
|
||||
{ "setLooping", l_lovrSourceSetLooping },
|
||||
{ "setOrientation", l_lovrSourceSetOrientation },
|
||||
{ "setPitch", l_lovrSourceSetPitch },
|
||||
{ "setPosition", l_lovrSourceSetPosition },
|
||||
{ "setVolume", l_lovrSourceSetVolume },
|
||||
|
@ -53,6 +55,15 @@ int l_lovrSourceGetDuration(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int l_lovrSourceGetOrientation(lua_State* L) {
|
||||
float x, y, z;
|
||||
lovrSourceGetOrientation(luax_checktype(L, 1, Source), &x, &y, &z);
|
||||
lua_pushnumber(L, x);
|
||||
lua_pushnumber(L, y);
|
||||
lua_pushnumber(L, z);
|
||||
return 3;
|
||||
}
|
||||
|
||||
int l_lovrSourceGetPitch(lua_State* L) {
|
||||
Source* source = luax_checktype(L, 1, Source);
|
||||
lua_pushnumber(L, lovrSourceGetPitch(source));
|
||||
|
@ -140,6 +151,15 @@ int l_lovrSourceSetLooping(lua_State* L) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int l_lovrSourceSetOrientation(lua_State* L) {
|
||||
Source* source = luax_checktype(L, 1, Source);
|
||||
float x = luaL_checknumber(L, 2);
|
||||
float y = luaL_checknumber(L, 3);
|
||||
float z = luaL_checknumber(L, 4);
|
||||
lovrSourceSetOrientation(source, x, y, z);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int l_lovrSourceSetPitch(lua_State* L) {
|
||||
lovrSourceSetPitch(luax_checktype(L, 1, Source), luaL_checknumber(L, 2));
|
||||
return 0;
|
||||
|
|
|
@ -7,6 +7,7 @@ extern const luaL_Reg lovrSource[];
|
|||
int l_lovrSourceGetBitDepth(lua_State* L);
|
||||
int l_lovrSourceGetChannels(lua_State* L);
|
||||
int l_lovrSourceGetDuration(lua_State* L);
|
||||
int l_lovrSourceGetOrientation(lua_State* L);
|
||||
int l_lovrSourceGetPitch(lua_State* L);
|
||||
int l_lovrSourceGetPosition(lua_State* L);
|
||||
int l_lovrSourceGetSampleRate(lua_State* L);
|
||||
|
@ -21,6 +22,7 @@ int l_lovrSourceResume(lua_State* L);
|
|||
int l_lovrSourceRewind(lua_State* L);
|
||||
int l_lovrSourceSeek(lua_State* L);
|
||||
int l_lovrSourceSetLooping(lua_State* L);
|
||||
int l_lovrSourceSetOrientation(lua_State* L);
|
||||
int l_lovrSourceSetPitch(lua_State* L);
|
||||
int l_lovrSourceSetPosition(lua_State* L);
|
||||
int l_lovrSourceSetVolume(lua_State* L);
|
||||
|
|
Loading…
Reference in New Issue