mirror of https://github.com/bjornbytes/lovr.git
Improve WebVR audio support;
This commit is contained in:
parent
78e58de624
commit
db4b8bfbc5
|
@ -76,8 +76,12 @@ void lovrAudioAdd(Source* source) {
|
|||
}
|
||||
|
||||
void lovrAudioGetDopplerEffect(float* factor, float* speedOfSound) {
|
||||
*factor = alGetFloat(AL_DOPPLER_FACTOR);
|
||||
*speedOfSound = alGetFloat(AL_SPEED_OF_SOUND);
|
||||
#ifdef EMSCRIPTEN
|
||||
*factor = *speedOfSound = 0;
|
||||
#else
|
||||
alGetFloatv(AL_DOPPLER_FACTOR, factor);
|
||||
alGetFloatv(AL_SPEED_OF_SOUND, speedOfSound);
|
||||
#endif
|
||||
}
|
||||
|
||||
void lovrAudioGetOrientation(float* angle, float* ax, float* ay, float* az) {
|
||||
|
@ -134,8 +138,10 @@ void lovrAudioRewind() {
|
|||
}
|
||||
|
||||
void lovrAudioSetDopplerEffect(float scale, float speedOfSound) {
|
||||
#ifndef EMSCRIPTEN
|
||||
alDopplerFactor(scale);
|
||||
alSpeedOfSound(speedOfSound);
|
||||
#endif
|
||||
}
|
||||
|
||||
void lovrAudioSetOrientation(float angle, float ax, float ay, float az) {
|
||||
|
|
|
@ -64,7 +64,11 @@ int lovrSourceGetChannels(Source* source) {
|
|||
}
|
||||
|
||||
void lovrSourceGetDirection(Source* source, float* x, float* y, float* z) {
|
||||
alGetSource3f(source->id, AL_DIRECTION, x, y, z);
|
||||
float v[3];
|
||||
alGetSourcefv(source->id, AL_DIRECTION, v);
|
||||
*x = v[0];
|
||||
*y = v[1];
|
||||
*z = v[2];
|
||||
}
|
||||
|
||||
int lovrSourceGetDuration(Source* source) {
|
||||
|
@ -84,7 +88,11 @@ float lovrSourceGetPitch(Source* source) {
|
|||
}
|
||||
|
||||
void lovrSourceGetPosition(Source* source, float* x, float* y, float* z) {
|
||||
alGetSource3f(source->id, AL_POSITION, x, y, z);
|
||||
float v[3];
|
||||
alGetSourcefv(source->id, AL_POSITION, v);
|
||||
*x = v[0];
|
||||
*y = v[1];
|
||||
*z = v[2];
|
||||
}
|
||||
|
||||
int lovrSourceGetSampleRate(Source* source) {
|
||||
|
@ -92,7 +100,11 @@ int lovrSourceGetSampleRate(Source* source) {
|
|||
}
|
||||
|
||||
void lovrSourceGetVelocity(Source* source, float* x, float* y, float* z) {
|
||||
alGetSource3f(source->id, AL_VELOCITY, x, y, z);
|
||||
float v[3];
|
||||
alGetSourcefv(source->id, AL_VELOCITY, v);
|
||||
*x = v[0];
|
||||
*y = v[1];
|
||||
*z = v[2];
|
||||
}
|
||||
|
||||
float lovrSourceGetVolume(Source* source) {
|
||||
|
|
Loading…
Reference in New Issue