mirror of https://github.com/bjornbytes/lovr.git
rm USE_OPENAL;
This commit is contained in:
parent
5a9cd5187c
commit
2d788e2f41
|
@ -17,7 +17,6 @@ option(LOVR_ENABLE_ENET "Bundle with lua-enet" ON)
|
||||||
option(LOVR_ENABLE_JSON "Bundle with lua-cjson" ON)
|
option(LOVR_ENABLE_JSON "Bundle with lua-cjson" ON)
|
||||||
|
|
||||||
option(LOVR_USE_LUAJIT "Use LuaJIT instead of Lua" ON)
|
option(LOVR_USE_LUAJIT "Use LuaJIT instead of Lua" ON)
|
||||||
option(LOVR_USE_OPENAL "Enable the OpenAL backend for the audio module" ON)
|
|
||||||
option(LOVR_USE_OPENVR "Enable the OpenVR backend for the headset module" ON)
|
option(LOVR_USE_OPENVR "Enable the OpenVR backend for the headset module" ON)
|
||||||
option(LOVR_USE_WEBVR "Enable the WebVR backend for the headset module" OFF)
|
option(LOVR_USE_WEBVR "Enable the WebVR backend for the headset module" OFF)
|
||||||
option(LOVR_USE_OCULUS "Enable the LibOVR backend for the headset module (be sure to also set LOVR_OCULUS_PATH to point to the Oculus SDK)" OFF)
|
option(LOVR_USE_OCULUS "Enable the LibOVR backend for the headset module (be sure to also set LOVR_OCULUS_PATH to point to the Oculus SDK)" OFF)
|
||||||
|
@ -221,7 +220,7 @@ if(LOVR_ENABLE_PHYSICS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# OpenAL
|
# OpenAL
|
||||||
if(LOVR_ENABLE_AUDIO AND LOVR_USE_OPENAL)
|
if(LOVR_ENABLE_AUDIO)
|
||||||
if(LOVR_SYSTEM_OPENAL)
|
if(LOVR_SYSTEM_OPENAL)
|
||||||
pkg_search_module(OPENAL openal-soft)
|
pkg_search_module(OPENAL openal-soft)
|
||||||
if (NOT OPENAL_FOUND)
|
if (NOT OPENAL_FOUND)
|
||||||
|
@ -303,17 +302,13 @@ endif()
|
||||||
if(LOVR_ENABLE_AUDIO)
|
if(LOVR_ENABLE_AUDIO)
|
||||||
add_definitions(-DLOVR_ENABLE_AUDIO)
|
add_definitions(-DLOVR_ENABLE_AUDIO)
|
||||||
set(LOVR_AUDIO_SRC
|
set(LOVR_AUDIO_SRC
|
||||||
|
src/audio/audio.c
|
||||||
|
src/audio/microphone.c
|
||||||
|
src/audio/source.c
|
||||||
src/api/audio.c
|
src/api/audio.c
|
||||||
src/api/types/source.c
|
src/api/types/source.c
|
||||||
src/api/types/microphone.c
|
src/api/types/microphone.c
|
||||||
)
|
)
|
||||||
|
|
||||||
if(LOVR_USE_OPENAL)
|
|
||||||
add_definitions(-DLOVR_USE_OPENAL)
|
|
||||||
set(LOVR_AUDIO_SRC ${LOVR_AUDIO_SRC} src/audio/audio.c src/audio/source.c src/audio/microphone.c)
|
|
||||||
else()
|
|
||||||
set(LOVR_AUDIO_SRC ${LOVR_AUDIO_SRC} src/audio/null.c)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(LOVR_ENABLE_DATA)
|
if(LOVR_ENABLE_DATA)
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
#include "audio/source.h"
|
#include "audio/source.h"
|
||||||
#include "audio/microphone.h"
|
#include "audio/microphone.h"
|
||||||
#include "lib/vec/vec.h"
|
#include "lib/vec/vec.h"
|
||||||
|
#include <AL/al.h>
|
||||||
|
#include <AL/alc.h>
|
||||||
|
#include <AL/alext.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define MAX_MICROPHONES 8
|
#define MAX_MICROPHONES 8
|
||||||
|
|
||||||
#ifdef LOVR_USE_OPENAL
|
|
||||||
#include <AL/al.h>
|
|
||||||
#include <AL/alc.h>
|
|
||||||
#include <AL/alext.h>
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
bool initialized;
|
bool initialized;
|
||||||
ALCdevice* device;
|
ALCdevice* device;
|
||||||
|
@ -21,10 +20,6 @@ typedef struct {
|
||||||
float position[3];
|
float position[3];
|
||||||
float velocity[3];
|
float velocity[3];
|
||||||
} AudioState;
|
} AudioState;
|
||||||
#else
|
|
||||||
typedef unsigned int AudioState;
|
|
||||||
typedef unsigned int ALenum;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ALenum lovrAudioConvertFormat(int bitDepth, int channelCount);
|
ALenum lovrAudioConvertFormat(int bitDepth, int channelCount);
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "data/soundData.h"
|
#include "data/soundData.h"
|
||||||
|
#include <AL/al.h>
|
||||||
|
#include <AL/alc.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef LOVR_USE_OPENAL
|
|
||||||
#include <AL/al.h>
|
|
||||||
#include <AL/alc.h>
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Ref ref;
|
Ref ref;
|
||||||
ALCdevice* device;
|
ALCdevice* device;
|
||||||
|
@ -16,9 +15,6 @@ typedef struct {
|
||||||
int bitDepth;
|
int bitDepth;
|
||||||
int channelCount;
|
int channelCount;
|
||||||
} Microphone;
|
} Microphone;
|
||||||
#else
|
|
||||||
typedef unsigned int Microphone;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Microphone* lovrMicrophoneCreate(const char* name, int samples, int sampleRate, int bitDepth, int channelCount);
|
Microphone* lovrMicrophoneCreate(const char* name, int samples, int sampleRate, int bitDepth, int channelCount);
|
||||||
void lovrMicrophoneDestroy(void* ref);
|
void lovrMicrophoneDestroy(void* ref);
|
||||||
|
|
|
@ -1,89 +0,0 @@
|
||||||
// "Null" implementation of all audio code for no-OpenAL mode
|
|
||||||
// Currently, some of these functions may lead to crashes (IE by returning null values)
|
|
||||||
|
|
||||||
// audio.c
|
|
||||||
|
|
||||||
#include "audio/audio.h"
|
|
||||||
|
|
||||||
ALenum lovrAudioConvertFormat(int bitDepth, int channelCount) { return 0; }
|
|
||||||
void lovrAudioInit() {}
|
|
||||||
void lovrAudioDestroy() {}
|
|
||||||
void lovrAudioUpdate() {}
|
|
||||||
void lovrAudioAdd(Source* source) {}
|
|
||||||
void lovrAudioGetDopplerEffect(float* factor, float* speedOfSound) {}
|
|
||||||
void lovrAudioGetMicrophoneNames(const char* names[MAX_MICROPHONES], uint8_t* count) {}
|
|
||||||
void lovrAudioGetOrientation(float* angle, float* ax, float* ay, float* az) {}
|
|
||||||
void lovrAudioGetPosition(float* x, float* y, float* z) {}
|
|
||||||
void lovrAudioGetVelocity(float* x, float* y, float* z) {}
|
|
||||||
float lovrAudioGetVolume() { return 0; }
|
|
||||||
bool lovrAudioHas(Source* source) { return false; }
|
|
||||||
bool lovrAudioIsSpatialized() { return false; }
|
|
||||||
void lovrAudioPause() {}
|
|
||||||
void lovrAudioResume() {}
|
|
||||||
void lovrAudioRewind() {}
|
|
||||||
void lovrAudioSetDopplerEffect(float factor, float speedOfSound) {}
|
|
||||||
void lovrAudioSetOrientation(float angle, float ax, float ay, float az) {}
|
|
||||||
void lovrAudioSetPosition(float x, float y, float z) {}
|
|
||||||
void lovrAudioSetVelocity(float x, float y, float z) {}
|
|
||||||
void lovrAudioSetVolume(float volume) {}
|
|
||||||
void lovrAudioStop() {}
|
|
||||||
|
|
||||||
// microphone.c
|
|
||||||
|
|
||||||
#include "audio/microphone.h"
|
|
||||||
|
|
||||||
Microphone* lovrMicrophoneCreate(const char* name, int samples, int sampleRate, int bitDepth, int channelCount) { return 0; }
|
|
||||||
void lovrMicrophoneDestroy(void* ref) {}
|
|
||||||
int lovrMicrophoneGetBitDepth(Microphone* microphone) { return 0; }
|
|
||||||
int lovrMicrophoneGetChannelCount(Microphone* microphone) { return 0; }
|
|
||||||
SoundData* lovrMicrophoneGetData(Microphone* microphone) { return NULL; }
|
|
||||||
const char* lovrMicrophoneGetName(Microphone* microphone) { return NULL; }
|
|
||||||
int lovrMicrophoneGetSampleCount(Microphone* microphone) { return 0; }
|
|
||||||
int lovrMicrophoneGetSampleRate(Microphone* microphone) { return 0; }
|
|
||||||
bool lovrMicrophoneIsRecording(Microphone* microphone) { return false; }
|
|
||||||
void lovrMicrophoneStartRecording(Microphone* microphone) {}
|
|
||||||
void lovrMicrophoneStopRecording(Microphone* microphone) {}
|
|
||||||
|
|
||||||
// source.c
|
|
||||||
|
|
||||||
#include "audio/source.h"
|
|
||||||
|
|
||||||
Source* lovrSourceCreateStatic(SoundData* soundData) { return NULL; }
|
|
||||||
Source* lovrSourceCreateStream(AudioStream* stream) { return NULL; }
|
|
||||||
void lovrSourceDestroy(void* ref) {}
|
|
||||||
SourceType lovrSourceGetType(Source* source) { return SOURCE_STATIC; }
|
|
||||||
int lovrSourceGetBitDepth(Source* source) { return 0; }
|
|
||||||
int lovrSourceGetChannelCount(Source* source) { return 0; }
|
|
||||||
void lovrSourceGetCone(Source* source, float* innerAngle, float* outerAngle, float* outerGain) {}
|
|
||||||
void lovrSourceGetDirection(Source* source, float* x, float* y, float* z) {}
|
|
||||||
int lovrSourceGetDuration(Source* source) { return 0; }
|
|
||||||
void lovrSourceGetFalloff(Source* source, float* reference, float* max, float* rolloff) {}
|
|
||||||
float lovrSourceGetPitch(Source* source) { return 0; }
|
|
||||||
void lovrSourceGetPosition(Source* source, float* x, float* y, float* z) {}
|
|
||||||
void lovrSourceGetVelocity(Source* source, float* x, float* y, float* z) {}
|
|
||||||
int lovrSourceGetSampleRate(Source* source) { return 0; }
|
|
||||||
float lovrSourceGetVolume(Source* source) { return 0; }
|
|
||||||
void lovrSourceGetVolumeLimits(Source* source, float* min, float* max) {}
|
|
||||||
bool lovrSourceIsLooping(Source* source) { return false; }
|
|
||||||
bool lovrSourceIsPaused(Source* source) { return false; }
|
|
||||||
bool lovrSourceIsPlaying(Source* source) { return false; }
|
|
||||||
bool lovrSourceIsRelative(Source* source) { return false; }
|
|
||||||
bool lovrSourceIsStopped(Source* source) { return false; }
|
|
||||||
void lovrSourcePause(Source* source) {}
|
|
||||||
void lovrSourcePlay(Source* source) {}
|
|
||||||
void lovrSourceResume(Source* source) {}
|
|
||||||
void lovrSourceRewind(Source* source) {}
|
|
||||||
void lovrSourceSeek(Source* source, int sample) {}
|
|
||||||
void lovrSourceSetCone(Source* source, float inner, float outer, float outerGain) {}
|
|
||||||
void lovrSourceSetDirection(Source* source, float x, float y, float z) {}
|
|
||||||
void lovrSourceSetFalloff(Source* source, float reference, float max, float rolloff) {}
|
|
||||||
void lovrSourceSetLooping(Source* source, bool isLooping) {}
|
|
||||||
void lovrSourceSetPitch(Source* source, float pitch) {}
|
|
||||||
void lovrSourceSetPosition(Source* source, float x, float y, float z) {}
|
|
||||||
void lovrSourceSetRelative(Source* source, bool isRelative) {}
|
|
||||||
void lovrSourceSetVelocity(Source* source, float x, float y, float z) {}
|
|
||||||
void lovrSourceSetVolume(Source* source, float volume) {}
|
|
||||||
void lovrSourceSetVolumeLimits(Source* source, float min, float max) {}
|
|
||||||
void lovrSourceStop(Source* source) {}
|
|
||||||
void lovrSourceStream(Source* source, ALuint* buffers, int count) {}
|
|
||||||
int lovrSourceTell(Source* source) { return 0; }
|
|
|
@ -1,6 +1,8 @@
|
||||||
#include "data/audioStream.h"
|
#include "data/audioStream.h"
|
||||||
#include "data/soundData.h"
|
#include "data/soundData.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
#include <AL/al.h>
|
||||||
|
#include <AL/alc.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
@ -17,9 +19,6 @@ typedef enum {
|
||||||
UNIT_SAMPLES
|
UNIT_SAMPLES
|
||||||
} TimeUnit;
|
} TimeUnit;
|
||||||
|
|
||||||
#ifdef LOVR_USE_OPENAL
|
|
||||||
#include <AL/al.h>
|
|
||||||
#include <AL/alc.h>
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Ref ref;
|
Ref ref;
|
||||||
SourceType type;
|
SourceType type;
|
||||||
|
@ -29,11 +28,6 @@ typedef struct {
|
||||||
ALuint buffers[SOURCE_BUFFERS];
|
ALuint buffers[SOURCE_BUFFERS];
|
||||||
bool isLooping;
|
bool isLooping;
|
||||||
} Source;
|
} Source;
|
||||||
#else
|
|
||||||
typedef struct { Ref ref; } Source;
|
|
||||||
typedef unsigned int ALuint;
|
|
||||||
#define ALC_HRTF_SOFT 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Source* lovrSourceCreateStatic(SoundData* soundData);
|
Source* lovrSourceCreateStatic(SoundData* soundData);
|
||||||
Source* lovrSourceCreateStream(AudioStream* stream);
|
Source* lovrSourceCreateStream(AudioStream* stream);
|
||||||
|
|
Loading…
Reference in New Issue