mirror of https://github.com/bjornbytes/lovr.git
Undo single-translation-unit experiment for now;
This commit is contained in:
parent
6f7c30e7e2
commit
976d59e364
|
@ -9,9 +9,6 @@
|
|||
#include <AL/alc.h>
|
||||
#include <AL/alext.h>
|
||||
|
||||
#include "microphone.c"
|
||||
#include "source.c"
|
||||
|
||||
static struct {
|
||||
bool initialized;
|
||||
ALCdevice* device;
|
||||
|
@ -83,19 +80,20 @@ void lovrAudioUpdate() {
|
|||
continue;
|
||||
}
|
||||
|
||||
uint32_t id = lovrSourceGetId(source);
|
||||
bool isStopped = lovrSourceIsStopped(source);
|
||||
ALint processed;
|
||||
alGetSourcei(source->id, AL_BUFFERS_PROCESSED, &processed);
|
||||
alGetSourcei(id, AL_BUFFERS_PROCESSED, &processed);
|
||||
|
||||
if (processed) {
|
||||
ALuint buffers[SOURCE_BUFFERS];
|
||||
alSourceUnqueueBuffers(source->id, processed, buffers);
|
||||
alSourceUnqueueBuffers(id, processed, buffers);
|
||||
lovrSourceStream(source, buffers, processed);
|
||||
if (isStopped) {
|
||||
alSourcePlay(source->id);
|
||||
alSourcePlay(id);
|
||||
}
|
||||
} else if (isStopped) {
|
||||
lovrAudioStreamRewind(source->stream);
|
||||
lovrAudioStreamRewind(lovrSourceGetStream(source));
|
||||
vec_splice(&state.sources, i, 1);
|
||||
lovrRelease(Source, source);
|
||||
}
|
||||
|
|
|
@ -62,6 +62,14 @@ SourceType lovrSourceGetType(Source* source) {
|
|||
return source->type;
|
||||
}
|
||||
|
||||
uint32_t lovrSourceGetId(Source* source) {
|
||||
return source->id;
|
||||
}
|
||||
|
||||
AudioStream* lovrSourceGetStream(Source* source) {
|
||||
return source->stream;
|
||||
}
|
||||
|
||||
uint32_t lovrSourceGetBitDepth(Source* source) {
|
||||
return source->type == SOURCE_STATIC ? source->soundData->bitDepth : source->stream->bitDepth;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,8 @@ Source* lovrSourceCreateStatic(struct SoundData* soundData);
|
|||
Source* lovrSourceCreateStream(struct AudioStream* stream);
|
||||
void lovrSourceDestroy(void* ref);
|
||||
SourceType lovrSourceGetType(Source* source);
|
||||
uint32_t lovrSourceGetId(Source* source);
|
||||
struct AudioStream* lovrSourceGetStream(Source* source);
|
||||
uint32_t lovrSourceGetBitDepth(Source* source);
|
||||
uint32_t lovrSourceGetChannelCount(Source* source);
|
||||
void lovrSourceGetCone(Source* source, float* innerAngle, float* outerAngle, float* outerGain);
|
||||
|
|
Loading…
Reference in New Issue