From 3882c27cbd00a05aacabe7596cfa6271f17614e5 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 23 Nov 2011 20:14:22 -0500 Subject: [PATCH] Use the same OpenAL headers on all platforms. --- neo/openal/include/alc.h | 5 + neo/openal/include/alctypes.h | 4 +- neo/openal/include/altypes.h | 4 +- neo/openal/osx/OpenAL.framework/Headers | 1 - neo/openal/osx/OpenAL.framework/OpenAL | 1 - neo/openal/osx/OpenAL.framework/Resources | 1 - .../OpenAL.framework/Versions/A/Headers/al.h | 498 ------------------ .../OpenAL.framework/Versions/A/Headers/alc.h | 88 ---- .../Versions/A/Headers/alctypes.h | 165 ------ .../Versions/A/Headers/altypes.h | 326 ------------ .../Versions/A/Headers/alut.h | 55 -- .../osx/OpenAL.framework/Versions/A/OpenAL | Bin 256696 -> 0 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 486 -> 0 bytes .../Versions/A/Resources/Info.plist | 26 - .../Versions/A/Resources/READ_ME | 86 --- .../Versions/A/Resources/pbdevelopment.plist | 8 - .../osx/OpenAL.framework/Versions/Current | 1 - neo/sound/snd_local.h | 10 - 18 files changed, 11 insertions(+), 1268 deletions(-) delete mode 100644 neo/openal/osx/OpenAL.framework/Headers delete mode 100644 neo/openal/osx/OpenAL.framework/OpenAL delete mode 100644 neo/openal/osx/OpenAL.framework/Resources delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Headers/al.h delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Headers/alc.h delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Headers/alctypes.h delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Headers/altypes.h delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Headers/alut.h delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/OpenAL delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Resources/Info.plist delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Resources/READ_ME delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/A/Resources/pbdevelopment.plist delete mode 100644 neo/openal/osx/OpenAL.framework/Versions/Current diff --git a/neo/openal/include/alc.h b/neo/openal/include/alc.h index b7252c4..b5f5b07 100644 --- a/neo/openal/include/alc.h +++ b/neo/openal/include/alc.h @@ -8,6 +8,11 @@ extern "C" { #endif +//@IODOOM3: This is needed on all platforms. +typedef struct ALCdevice_struct ALCdevice; +typedef struct ALCcontext_struct ALCcontext; +//@IODOOM3: end additions. + #ifdef _WIN32 #ifdef _OPENAL32LIB #define ALCAPI __declspec(dllexport) diff --git a/neo/openal/include/alctypes.h b/neo/openal/include/alctypes.h index 436fcfa..bef46fa 100644 --- a/neo/openal/include/alctypes.h +++ b/neo/openal/include/alctypes.h @@ -57,7 +57,9 @@ typedef double ALCdouble; typedef unsigned int ALCsizei; /** ALC void type */ -typedef void ALCvoid; +//@IODOOM3: "typedef void" doesn't work on gcc. +//typedef void ALCvoid; +#define ALCvoid void /** ALC enumerations. */ typedef int ALCenum; diff --git a/neo/openal/include/altypes.h b/neo/openal/include/altypes.h index 9dc4ead..65ed144 100644 --- a/neo/openal/include/altypes.h +++ b/neo/openal/include/altypes.h @@ -57,7 +57,9 @@ typedef double ALdouble; typedef unsigned int ALsizei; /** OpenAL void type */ -typedef void ALvoid; +//@IODOOM3: "typedef void" doesn't work on gcc. +//typedef void ALvoid; +#define ALvoid void /** OpenAL enumerations. */ typedef int ALenum; diff --git a/neo/openal/osx/OpenAL.framework/Headers b/neo/openal/osx/OpenAL.framework/Headers deleted file mode 100644 index a177d2a..0000000 --- a/neo/openal/osx/OpenAL.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/neo/openal/osx/OpenAL.framework/OpenAL b/neo/openal/osx/OpenAL.framework/OpenAL deleted file mode 100644 index 7a4d340..0000000 --- a/neo/openal/osx/OpenAL.framework/OpenAL +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/OpenAL \ No newline at end of file diff --git a/neo/openal/osx/OpenAL.framework/Resources b/neo/openal/osx/OpenAL.framework/Resources deleted file mode 100644 index 953ee36..0000000 --- a/neo/openal/osx/OpenAL.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/al.h b/neo/openal/osx/OpenAL.framework/Versions/A/Headers/al.h deleted file mode 100644 index 8759876..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/al.h +++ /dev/null @@ -1,498 +0,0 @@ -#ifndef _AL_H_ -#define _AL_H_ - -/** - * OpenAL cross platform audio library - * Copyright (C) 1999-2000 by authors. - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * Or go to http://www.gnu.org/copyleft/lgpl.html - */ - -#include "altypes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef _WIN32 - #ifdef _LIB - #define ALAPI __declspec(dllexport) - #else - #define ALAPI __declspec(dllimport) - #endif - #define ALAPIENTRY __cdecl - #define AL_CALLBACK -#else - #ifdef TARGET_OS_MAC - #if TARGET_OS_MAC - #pragma export on - #endif - #endif - #define ALAPI - #define ALAPIENTRY - #define AL_CALLBACK -#endif - -#define OPENAL - -#ifndef AL_NO_PROTOTYPES - -/** - * OpenAL Maintenance Functions - * Initialization and exiting. - * State Management and Query. - * Error Handling. - * Extension Support. - */ - -/** State management. */ -ALAPI ALvoid ALAPIENTRY alEnable( ALenum capability ); -ALAPI ALvoid ALAPIENTRY alDisable( ALenum capability ); -ALAPI ALboolean ALAPIENTRY alIsEnabled( ALenum capability ); - -/** Application preferences for driver performance choices. */ -ALAPI ALvoid ALAPIENTRY alHint( ALenum target, ALenum mode ); - -/** State retrieval. */ -ALAPI ALboolean ALAPIENTRY alGetBoolean( ALenum param ); -ALAPI ALint ALAPIENTRY alGetInteger( ALenum param ); -ALAPI ALfloat ALAPIENTRY alGetFloat( ALenum param ); -ALAPI ALdouble ALAPIENTRY alGetDouble( ALenum param ); -ALAPI ALvoid ALAPIENTRY alGetBooleanv( ALenum param, ALboolean* data ); -ALAPI ALvoid ALAPIENTRY alGetIntegerv( ALenum param, ALint* data ); -ALAPI ALvoid ALAPIENTRY alGetFloatv( ALenum param, ALfloat* data ); -ALAPI ALvoid ALAPIENTRY alGetDoublev( ALenum param, ALdouble* data ); -ALAPI ALubyte* ALAPIENTRY alGetString( ALenum param ); - -ALAPI ALvoid ALAPIENTRY alSetInteger( ALenum pname, ALint value ); -ALAPI ALvoid ALAPIENTRY alSetDouble( ALenum pname, ALdouble value ); - -/** - * Error support. - * Obtain the most recent error generated in the AL state machine. - */ -ALAPI ALenum ALAPIENTRY alGetError(); - - -/** - * Extension support. - * Obtain the address of a function (usually an extension) - * with the name fname. All addresses are context-independent. - */ -ALAPI ALboolean ALAPIENTRY alIsExtensionPresent( ALubyte* fname ); - - -/** - * Extension support. - * Obtain the address of a function (usually an extension) - * with the name fname. All addresses are context-independent. - */ -ALAPI ALvoid* ALAPIENTRY alGetProcAddress( ALubyte* fname ); - - -/** - * Extension support. - * Obtain the integer value of an enumeration (usually an extension) with the name ename. - */ -ALAPI ALenum ALAPIENTRY alGetEnumValue( ALubyte* ename ); - - - - -/** - * LISTENER - * Listener is the sample position for a given context. - * The multi-channel (usually stereo) output stream generated - * by the mixer is parametrized by this Listener object: - * its position and velocity relative to Sources, within - * occluder and reflector geometry. - */ - - - -/** - * - * Listener Environment: default 0. - */ -ALAPI ALvoid ALAPIENTRY alListeneri( ALenum param, ALint value ); - - -/** - * - * Listener Gain: default 1.0f. - */ -ALAPI ALvoid ALAPIENTRY alListenerf( ALenum param, ALfloat value ); - - -/** - * - * Listener Position. - * Listener Velocity. - */ -ALAPI ALvoid ALAPIENTRY alListener3f( ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 ); - - -/** - * - * Listener Position: ALfloat[3] - * Listener Velocity: ALfloat[3] - * Listener Orientation: ALfloat[6] (forward and up vector). - */ -ALAPI ALvoid ALAPIENTRY alListenerfv( ALenum param, ALfloat* values ); - -ALAPI ALvoid ALAPIENTRY alGetListeneri( ALenum param, ALint* value ); -ALAPI ALvoid ALAPIENTRY alGetListenerf( ALenum param, ALfloat* value ); -ALAPI ALvoid ALAPIENTRY alGetListener3f( ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3 ); -ALAPI ALvoid ALAPIENTRY alGetListenerfv( ALenum param, ALfloat* values ); - - -/** - * SOURCE - * Source objects are by default localized. Sources - * take the PCM data provided in the specified Buffer, - * apply Source-specific modifications, and then - * submit them to be mixed according to spatial - * arrangement etc. - */ - - - -/** Create Source objects. */ -ALAPI ALvoid ALAPIENTRY alGenSources( ALsizei n, ALuint* sources ); - -/** Delete Source objects. */ -ALAPI ALvoid ALAPIENTRY alDeleteSources( ALsizei n, ALuint* sources ); - -/** Verify a handle is a valid Source. */ -ALAPI ALboolean ALAPIENTRY alIsSource( ALuint id ); - -/** Set an integer parameter for a Source object. */ -ALAPI ALvoid ALAPIENTRY alSourcei( ALuint source, ALenum param, ALint value ); -ALAPI ALvoid ALAPIENTRY alSourcef( ALuint source, ALenum param, ALfloat value ); -ALAPI ALvoid ALAPIENTRY alSource3f( ALuint source, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 ); -ALAPI ALvoid ALAPIENTRY alSourcefv( ALuint source, ALenum param, ALfloat* values ); - -/** Get an integer parameter for a Source object. */ -ALAPI ALvoid ALAPIENTRY alGetSourcei( ALuint source, ALenum param, ALint* value ); -ALAPI ALvoid ALAPIENTRY alGetSourcef( ALuint source, ALenum param, ALfloat* value ); -ALAPI ALvoid ALAPIENTRY alGetSource3f( ALuint source, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3 ); -ALAPI ALvoid ALAPIENTRY alGetSourcefv( ALuint source, ALenum param, ALfloat* values ); - -ALAPI ALvoid ALAPIENTRY alSourcePlayv( ALsizei n, ALuint *sources ); -ALAPI ALvoid ALAPIENTRY alSourcePausev( ALsizei n, ALuint *sources ); -ALAPI ALvoid ALAPIENTRY alSourceStopv( ALsizei n, ALuint *sources ); -ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n,ALuint *sources); - -/** Activate a source, start replay. */ -ALAPI ALvoid ALAPIENTRY alSourcePlay( ALuint source ); - -/** - * Pause a source, - * temporarily remove it from the mixer list. - */ -ALAPI ALvoid ALAPIENTRY alSourcePause( ALuint source ); - -/** - * Stop a source, - * temporarily remove it from the mixer list, - * and reset its internal state to pre-Play. - * To remove a Source completely, it has to be - * deleted following Stop, or before Play. - */ -ALAPI ALvoid ALAPIENTRY alSourceStop( ALuint source ); - -/** - * Rewinds a source, - * temporarily remove it from the mixer list, - * and reset its internal state to pre-Play. - */ -ALAPI ALvoid ALAPIENTRY alSourceRewind( ALuint source ); - - - -/** - * BUFFER - * Buffer objects are storage space for sample data. - * Buffers are referred to by Sources. There can be more than - * one Source using the same Buffer data. If Buffers have - * to be duplicated on a per-Source basis, the driver has to - * take care of allocation, copying, and deallocation as well - * as propagating buffer data changes. - */ - - - - -/** Buffer object generation. */ -ALAPI ALvoid ALAPIENTRY alGenBuffers( ALsizei n, ALuint* buffers ); -ALAPI ALvoid ALAPIENTRY alDeleteBuffers( ALsizei n, ALuint* buffers ); -ALAPI ALboolean ALAPIENTRY alIsBuffer( ALuint buffer ); - -/** - * Specify the data to be filled into a buffer. - */ -ALAPI ALvoid ALAPIENTRY alBufferData( ALuint buffer, - ALenum format, - ALvoid* data, - ALsizei size, - ALsizei freq ); - - -ALAPI ALvoid ALAPIENTRY alGetBufferi( ALuint buffer, ALenum param, ALint* value ); -ALAPI ALvoid ALAPIENTRY alGetBufferf( ALuint buffer, ALenum param, ALfloat* value ); - - - - -/** - * Queue stuff - */ - -ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers( ALuint source, ALsizei n, ALuint* buffers ); -ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers( ALuint source, ALsizei n, ALuint* buffers ); - -/** - * Knobs and dials - */ -ALAPI ALvoid ALAPIENTRY alDistanceModel( ALenum value ); -ALAPI ALvoid ALAPIENTRY alDopplerFactor( ALfloat value ); -ALAPI ALvoid ALAPIENTRY alDopplerVelocity( ALfloat value ); - -#else /* AL_NO_PROTOTYPES */ - -/** - * OpenAL Maintenance Functions - * Initialization and exiting. - * State Management and Query. - * Error Handling. - * Extension Support. - */ - -/** State management. */ -ALAPI ALvoid ALAPIENTRY (*alEnable)( ALenum capability ); -ALAPI ALvoid ALAPIENTRY (*alDisable)( ALenum capability ); -ALAPI ALboolean ALAPIENTRY (*alIsEnabled)( ALenum capability ); - -/** Application preferences for driver performance choices. */ -ALAPI ALvoid ALAPIENTRY (*alHint)( ALenum target, ALenum mode ); - -/** State retrieval. */ -ALAPI ALboolean ALAPIENTRY (*alGetBoolean)( ALenum param ); -ALAPI ALint ALAPIENTRY (*alGetInteger)( ALenum param ); -ALAPI ALfloat ALAPIENTRY (*alGetFloat)( ALenum param ); -ALAPI ALdouble ALAPIENTRY (*alGetDouble)( ALenum param ); -ALAPI ALvoid ALAPIENTRY (*alGetBooleanv)( ALenum param, ALboolean* data ); -ALAPI ALvoid ALAPIENTRY (*alGetIntegerv)( ALenum param, ALint* data ); -ALAPI ALvoid ALAPIENTRY (*alGetFloatv)( ALenum param, ALfloat* data ); -ALAPI ALvoid ALAPIENTRY (*alGetDoublev)( ALenum param, ALdouble* data ); -ALAPI ALubyte* ALAPIENTRY (*alGetString)( ALenum param ); - -ALAPI ALvoid ALAPIENTRY (*alSetInteger)( ALenum pname, ALint value ); -ALAPI ALvoid ALAPIENTRY (*alSetDouble)( ALenum pname, ALdouble value ); - -/** - * Error support. - * Obtain the most recent error generated in the AL state machine. - */ -ALAPI ALenum ALAPIENTRY (*alGetError)( ALvoid ); - - -/** - * Extension support. - * Obtain the address of a function (usually an extension) - * with the name fname. All addresses are context-independent. - */ -ALAPI ALboolean ALAPIENTRY (*alIsExtensionPresent)( ALubyte* fname ); - - -/** - * Extension support. - * Obtain the address of a function (usually an extension) - * with the name fname. All addresses are context-independent. - */ -ALAPI ALvoid* ALAPIENTRY (*alGetProcAddress)( ALubyte* fname ); - - -/** - * Extension support. - * Obtain the integer value of an enumeration (usually an extension) with the name ename. - */ -ALAPI ALenum ALAPIENTRY (*alGetEnumValue)( ALubyte* ename ); - - - - -/** - * LISTENER - * Listener is the sample position for a given context. - * The multi-channel (usually stereo) output stream generated - * by the mixer is parametrized by this Listener object: - * its position and velocity relative to Sources, within - * occluder and reflector geometry. - */ - - - -/** - * - * Listener Environment: default 0. - */ -ALAPI ALvoid ALAPIENTRY (*alListeneri)( ALenum param, ALint value ); - - -/** - * - * Listener Gain: default 1.0f. - */ -ALAPI ALvoid ALAPIENTRY (*alListenerf)( ALenum param, ALfloat value ); - - -/** - * - * Listener Position. - * Listener Velocity. - */ -ALAPI ALvoid ALAPIENTRY (*alListener3f)( ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 ); - - -/** - * - * Listener Position: ALfloat[3] - * Listener Velocity: ALfloat[3] - * Listener Orientation: ALfloat[6] (forward and up vector). - */ -ALAPI ALvoid ALAPIENTRY (*alListenerfv)( ALenum param, ALfloat* values ); - -ALAPI ALvoid ALAPIENTRY (*alGetListeneri)( ALenum param, ALint* value ); -ALAPI ALvoid ALAPIENTRY (*alGetListenerf)( ALenum param, ALfloat* value ); -ALAPI ALvoid ALAPIENTRY (*alGetListener3f)( ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3 ); -ALAPI ALvoid ALAPIENTRY (*alGetListenerfv)( ALenum param, ALfloat* values ); - - -/** - * SOURCE - * Source objects are by default localized. Sources - * take the PCM data provided in the specified Buffer, - * apply Source-specific modifications, and then - * submit them to be mixed according to spatial - * arrangement etc. - */ - - - -/** Create Source objects. */ -ALAPI ALvoid ALAPIENTRY (*alGenSources)( ALsizei n, ALuint* sources ); - -/** Delete Source objects. */ -ALAPI ALvoid ALAPIENTRY (*alDeleteSources)( ALsizei n, ALuint* sources ); - -/** Verify a handle is a valid Source. */ -ALAPI ALboolean ALAPIENTRY (*alIsSource)( ALuint id ); - -/** Set an integer parameter for a Source object. */ -ALAPI ALvoid ALAPIENTRY (*alSourcei)( ALuint source, ALenum param, ALint value ); -ALAPI ALvoid ALAPIENTRY (*alSourcef)( ALuint source, ALenum param, ALfloat value ); -ALAPI ALvoid ALAPIENTRY (*alSource3f)( ALuint source, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 ); -ALAPI ALvoid ALAPIENTRY (*alSourcefv)( ALuint source, ALenum param, ALfloat* values ); - -/** Get an integer parameter for a Source object. */ -ALAPI ALvoid ALAPIENTRY (*alGetSourcei)( ALuint source, ALenum param, ALint* value ); -ALAPI ALvoid ALAPIENTRY (*alGetSourcef)( ALuint source, ALenum param, ALfloat* value ); -ALAPI ALvoid ALAPIENTRY (*alGetSourcefv)( ALuint source, ALenum param, ALfloat* values ); - -ALAPI ALvoid ALAPIENTRY (*alSourcePlayv)( ALsizei n, ALuint *sources ); -ALAPI ALvoid ALAPIENTRY (*alSourceStopv)( ALsizei n, ALuint *sources ); - -/** Activate a source, start replay. */ -ALAPI ALvoid ALAPIENTRY (*alSourcePlay)( ALuint source ); - -/** - * Pause a source, - * temporarily remove it from the mixer list. - */ -ALAPI ALvoid ALAPIENTRY (*alSourcePause)( ALuint source ); - -/** - * Stop a source, - * temporarily remove it from the mixer list, - * and reset its internal state to pre-Play. - * To remove a Source completely, it has to be - * deleted following Stop, or before Play. - */ -ALAPI ALvoid ALAPIENTRY (*alSourceStop)( ALuint source ); - - - -/** - * BUFFER - * Buffer objects are storage space for sample data. - * Buffers are referred to by Sources. There can be more than - * one Source using the same Buffer data. If Buffers have - * to be duplicated on a per-Source basis, the driver has to - * take care of allocation, copying, and deallocation as well - * as propagating buffer data changes. - */ - - - - -/** Buffer object generation. */ -ALAPI ALvoid ALAPIENTRY (*alGenBuffers)( ALsizei n, ALuint* buffers ); -ALAPI ALvoid ALAPIENTRY (*alDeleteBuffers)( ALsizei n, ALuint* buffers ); -ALAPI ALboolean ALAPIENTRY (*alIsBuffer)( ALuint buffer ); - -/** - * Specify the data to be filled into a buffer. - */ -ALAPI ALvoid ALAPIENTRY (*alBufferData)( ALuint buffer, - ALenum format, - ALvoid* data, - ALsizei size, - ALsizei freq ); - -ALAPI ALvoid ALAPIENTRY (*alGetBufferi)( ALuint buffer, ALenum param, ALint* value ); -ALAPI ALvoid ALAPIENTRY (*alGetBufferf)( ALuint buffer, ALenum param, ALfloat* value ); - - - - -/** - * Queue stuff - */ -ALAPI ALvoid ALAPIENTRY (*alSourceQueueBuffers)( ALuint source, ALsizei n, ALuint* buffers ); -ALAPI ALvoid ALAPIENTRY (*alSourceUnqueueBuffers)( ALuint source, ALsizei n, ALuint* buffers ); - -/** - * Knobs and dials - */ -ALAPI ALvoid ALAPIENTRY (*alDistanceModel)( ALenum value ); -ALAPI ALvoid ALAPIENTRY (*alDopplerFactor)( ALfloat value ); -ALAPI ALvoid ALAPIENTRY (*alDopplerVelocity)( ALfloat value ); - - -#endif /* AL_NO_PROTOTYPES */ - -#ifdef TARGET_OS_MAC - #if TARGET_OS_MAC - #pragma export off - #endif -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alc.h b/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alc.h deleted file mode 100644 index 641e2fd..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alc.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef _ALC_H_ -#define _ALC_H_ - -#include "altypes.h" -#include "alctypes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef _WIN32 - #ifdef _LIB - #define ALCAPI __declspec(dllexport) - #else - #define ALCAPI __declspec(dllimport) - typedef ALCvoid ALCdevice; - typedef ALCvoid ALCcontext; - #endif - #define ALCAPIENTRY __cdecl -#else - #ifdef TARGET_OS_MAC - #if TARGET_OS_MAC - #pragma export on - #endif - #endif - #define ALCAPI - #define ALCAPIENTRY - typedef ALCvoid ALCdevice; - typedef ALCvoid ALCcontext; -#endif - -#ifndef ALC_NO_PROTOTYPES - -ALCAPI ALCubyte* ALCAPIENTRY alcGetString(ALCdevice *device,ALCenum param); -ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALCsizei size,ALCint *data); - -ALCAPI ALCdevice* ALCAPIENTRY alcOpenDevice(ALCubyte *deviceName); -ALCAPI ALCvoid ALCAPIENTRY alcCloseDevice(ALCdevice *device); - -ALCAPI ALCcontext*ALCAPIENTRY alcCreateContext(ALCdevice *device,ALCint *attrList); -ALCAPI ALCboolean ALCAPIENTRY alcMakeContextCurrent(ALCcontext *context); -ALCAPI ALCvoid ALCAPIENTRY alcProcessContext(ALCcontext *context); -ALCAPI ALCcontext*ALCAPIENTRY alcGetCurrentContext(); -ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice(ALCcontext *context); -ALCAPI ALCvoid ALCAPIENTRY alcSuspendContext(ALCcontext *context); -ALCAPI ALCvoid ALCAPIENTRY alcDestroyContext(ALCcontext *context); - -ALCAPI ALCenum ALCAPIENTRY alcGetError(ALCdevice *device); - -ALCAPI ALCboolean ALCAPIENTRY alcIsExtensionPresent(ALCdevice *device,ALCubyte *extName); -ALCAPI ALCvoid * ALCAPIENTRY alcGetProcAddress(ALCdevice *device,ALCubyte *funcName); -ALCAPI ALCenum ALCAPIENTRY alcGetEnumValue(ALCdevice *device,ALCubyte *enumName); - -#else /* AL_NO_PROTOTYPES */ - -ALCAPI ALCubyte* ALCAPIENTRY (*alcGetString)(ALCdevice *device,ALCenum param); -ALCAPI ALCvoid ALCAPIENTRY (*alcGetIntegerv)(ALCdevice * device,ALCenum param,ALCsizei size,ALCint *data); - -ALCAPI ALCdevice* ALCAPIENTRY (*alcOpenDevice)(ALubyte *deviceName); -ALCAPI ALCvoid ALCAPIENTRY (*alcCloseDevice)(ALCdevice *device); - -ALCAPI ALCcontext*ALCAPIENTRY (*alcCreateContext)(ALCdevice *device,ALCint *attrList); -ALCAPI ALCboolean ALCAPIENTRY (*alcMakeContextCurrent)(ALCcontext *context); -ALCAPI ALCvoid ALCAPIENTRY (*alcProcessContext)(ALCcontext *context); -ALCAPI ALCcontext*ALCAPIENTRY (*alcGetCurrentContext)(ALCvoid); -ALCAPI ALCdevice* ALCAPIENTRY (*alcGetContextsDevice)(ALCcontext *context); -ALCAPI ALCvoid ALCAPIENTRY (*alcSuspendContext)(ALCcontext *context); -ALCAPI ALCvoid ALCAPIENTRY (*alcDestroyContext)(ALCcontext *context); - -ALCAPI ALCenum ALCAPIENTRY (*alcGetError)(ALCdevice *device); - -ALCAPI ALCboolean ALCAPIENTRY (*alcIsExtensionPresent)(ALCdevice *device,ALCubyte *extName); -ALCAPI ALCvoid * ALCAPIENTRY (*alcGetProcAddress)(ALCdevice *device,ALCubyte *funcName); -ALCAPI ALCenum ALCAPIENTRY (*alcGetEnumValue)(ALCdevice *device,ALCubyte *enumName); - -#endif /* AL_NO_PROTOTYPES */ - -#ifdef TARGET_OS_MAC - #if TARGET_OS_MAC - #pragma export off - #endif -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alctypes.h b/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alctypes.h deleted file mode 100644 index 9036460..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alctypes.h +++ /dev/null @@ -1,165 +0,0 @@ -#ifndef _ALCTYPES_H_ -#define _ALCTYPES_H_ - -/** - * OpenAL cross platform audio library - * Copyright (C) 1999-2000 by authors. - * Portions Copyright (C) 2004 by Apple Computer Inc. - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * Or go to http://www.gnu.org/copyleft/lgpl.html - */ - - -#ifdef __cplusplus -extern "C" { -#endif - -/** ALC boolean type. */ -typedef char ALCboolean; - -/** ALC 8bit signed byte. */ -typedef char ALCbyte; - -/** ALC 8bit unsigned byte. */ -typedef unsigned char ALCubyte; - -/** ALC 16bit signed short integer type. */ -typedef short ALCshort; - -/** ALC 16bit unsigned short integer type. */ -typedef unsigned short ALCushort; - -/** ALC 32bit unsigned integer type. */ -typedef unsigned ALCuint; - -/** ALC 32bit signed integer type. */ -typedef int ALCint; - -/** ALC 32bit floating point type. */ -typedef float ALCfloat; - -/** ALC 64bit double point type. */ -typedef double ALCdouble; - -/** ALC 32bit type. */ -typedef unsigned int ALCsizei; - -/** ALC void type */ -typedef void ALCvoid; - -/** ALC enumerations. */ -typedef int ALCenum; - -/* Bad value. */ -#define ALC_INVALID (-1) - -/* Boolean False. */ -#define ALC_FALSE 0 - -/* Boolean True. */ -#define ALC_TRUE 1 - -/** Errors: No Error. */ -#define ALC_NO_ERROR ALC_FALSE - -#define ALC_MAJOR_VERSION 0x1000 -#define ALC_MINOR_VERSION 0x1001 -#define ALC_ATTRIBUTES_SIZE 0x1002 -#define ALC_ALL_ATTRIBUTES 0x1003 - -#define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004 -#define ALC_DEVICE_SPECIFIER 0x1005 -#define ALC_EXTENSIONS 0x1006 - -#define ALC_FREQUENCY 0x1007 -#define ALC_REFRESH 0x1008 -#define ALC_SYNC 0x1009 - -/** - * The device argument does not name a valid dvice. - */ -#define ALC_INVALID_DEVICE 0xA001 - -/** - * The context argument does not name a valid context. - */ -#define ALC_INVALID_CONTEXT 0xA002 - -/** - * A function was called at inappropriate time, - * or in an inappropriate way, causing an illegal state. - * This can be an incompatible ALenum, object ID, - * and/or function. - */ -#define ALC_INVALID_ENUM 0xA003 - -/** - * Illegal value passed as an argument to an AL call. - * Applies to parameter values, but not to enumerations. - */ -#define ALC_INVALID_VALUE 0xA004 - -/** - * A function could not be completed, - * because there is not enough memory available. - */ -#define ALC_OUT_OF_MEMORY 0xA005 - - -//********************************************************************************* -// OSX Specific Properties -//********************************************************************************* - -/** - * Convert Data When Loading. Default false, currently applies only to monophonic sounds - */ -#define ALC_CONVERT_DATA_UPON_LOADING 0xF001 - -/** - * Render Quality. - */ -#define ALC_SPATIAL_RENDERING_QUALITY 0xF002 - #define ALC_SPATIAL_RENDERING_QUALITY_HIGH 'rqhi' - #define ALC_SPATIAL_RENDERING_QUALITY_LOW 'rdlo' - -/** - * Mixer Output Rate. - */ -#define ALC_MIXER_OUTPUT_RATE 0xF003 - -/** - * Maximum Mixer Busses. - * Set this before opening a new OAL device to indicate how many busses on the mixer - * are desired. Get returns either the current devices bus count value, or the value - * that will be used to open a device - */ -#define ALC_MIXER_MAXIMUM_BUSSES 0xF004 - -/** - * Render Channels. - * Allows a user to force OpenAL to render to stereo, regardless of the audio hardware being used - */ -#define ALC_RENDER_CHANNEL_COUNT 0xF005 - #define ALC_RENDER_CHANNEL_COUNT_STEREO 'rcst' - #define ALC_RENDER_CHANNEL_COUNT_MULTICHANNEL 'rcmc' - - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/altypes.h b/neo/openal/osx/OpenAL.framework/Versions/A/Headers/altypes.h deleted file mode 100644 index 6e96d33..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/altypes.h +++ /dev/null @@ -1,326 +0,0 @@ -#ifndef _ALTYPES_H_ -#define _ALTYPES_H_ - -/** - * OpenAL cross platform audio library - * Copyright (C) 1999-2000 by authors. - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * Or go to http://www.gnu.org/copyleft/lgpl.html - */ - - -#ifdef __cplusplus -extern "C" { -#endif - -/** OpenAL boolean type. */ -typedef char ALboolean; - -/** OpenAL 8bit signed byte. */ -typedef char ALbyte; - -/** OpenAL 8bit unsigned byte. */ -typedef unsigned char ALubyte; - -/** OpenAL 16bit signed short integer type. */ -typedef short ALshort; - -/** OpenAL 16bit unsigned short integer type. */ -typedef unsigned short ALushort; - -/** OpenAL 32bit unsigned integer type. */ -typedef unsigned ALuint; - -/** OpenAL 32bit signed integer type. */ -typedef int ALint; - -/** OpenAL 32bit floating point type. */ -typedef float ALfloat; - -/** OpenAL 64bit double point type. */ -typedef double ALdouble; - -/** OpenAL 32bit type. */ -typedef unsigned int ALsizei; - -/** OpenAL void type */ -typedef void ALvoid; - -/** OpenAL enumerations. */ -typedef int ALenum; - -/* Bad value. */ -#define AL_INVALID (-1) - -/* Disable value. */ -#define AL_NONE 0 - -/* Boolean False. */ -#define AL_FALSE 0 - -/* Boolean True. */ -#define AL_TRUE 1 - -/** - * Indicate the type of AL_SOURCE. - * Sources can be spatialized - */ -#define AL_SOURCE_TYPE 0x200 - -/** Indicate source has absolute coordinates. */ -#define AL_SOURCE_ABSOLUTE 0x201 - -/** Indicate Source has listener relative coordinates. */ -#define AL_SOURCE_RELATIVE 0x202 - -/** - * Directional source, inner cone angle, in degrees. - * Range: [0-360] - * Default: 360 - */ -#define AL_CONE_INNER_ANGLE 0x1001 - -/** - * Directional source, outer cone angle, in degrees. - * Range: [0-360] - * Default: 360 - */ -#define AL_CONE_OUTER_ANGLE 0x1002 - -/** - * Specify the pitch to be applied, either at source, - * or on mixer results, at listener. - * Range: [0.5-2.0] - * Default: 1.0 - */ -#define AL_PITCH 0x1003 - -/** - * Specify the current location in three dimensional space. - * OpenAL, like OpenGL, uses a right handed coordinate system, - * where in a frontal default view X (thumb) points right, - * Y points up (index finger), and Z points towards the - * viewer/camera (middle finger). - * To switch from a left handed coordinate system, flip the - * sign on the Z coordinate. - * Listener position is always in the world coordinate system. - */ -#define AL_POSITION 0x1004 - -/** Specify the current direction as forward vector. */ -#define AL_DIRECTION 0x1005 - -/** Specify the current velocity in three dimensional space. */ -#define AL_VELOCITY 0x1006 - -/** - * Indicate whether source has to loop infinite. - * Type: ALboolean - * Range: [AL_TRUE, AL_FALSE] - * Default: AL_FALSE - */ -#define AL_LOOPING 0x1007 - -/** - * Indicate the buffer to provide sound samples. - * Type: ALuint. - * Range: any valid Buffer id. - */ -#define AL_BUFFER 0x1009 - -/** - * Indicate the gain (volume amplification) applied. - * Type: ALfloat. - * Range: ]0.0- ] - * A value of 1.0 means un-attenuated/unchanged. - * Each division by 2 equals an attenuation of -6dB. - * Each multiplicaton with 2 equals an amplification of +6dB. - * A value of 0.0 is meaningless with respect to a logarithmic - * scale; it is interpreted as zero volume - the channel - * is effectively disabled. - */ -#define AL_GAIN 0x100A - -/** - * Indicate minimum source attenuation. - * Type: ALfloat - * Range: [0.0 - 1.0] - */ -#define AL_MIN_GAIN 0x100D - -/** - * Indicate maximum source attenuation. - * Type: ALfloat - * Range: [0.0 - 1.0] - */ -#define AL_MAX_GAIN 0x100E - -/** - * Specify the current orientation. - * Type: ALfv6 (at/up) - * Range: N/A - */ -#define AL_ORIENTATION 0x100F - -/* byte offset into source (in canon format). -1 if source - * is not playing. Don't set this, get this. - * - * Type: ALfloat - * Range: [0.0 - ] - * Default: 1.0 - */ -#define AL_REFERENCE_DISTANCE 0x1020 - - /** - * Indicate the rolloff factor for the source. - * Type: ALfloat - * Range: [0.0 - ] - * Default: 1.0 - */ -#define AL_ROLLOFF_FACTOR 0x1021 - -/** - * Indicate the gain (volume amplification) applied. - * Type: ALfloat. - * Range: ]0.0- ] - * A value of 1.0 means un-attenuated/unchanged. - * Each division by 2 equals an attenuation of -6dB. - * Each multiplicaton with 2 equals an amplification of +6dB. - * A value of 0.0 is meaningless with respect to a logarithmic - * scale; it is interpreted as zero volume - the channel - * is effectively disabled. - */ -#define AL_CONE_OUTER_GAIN 0x1022 - -/** - * Specify the maximum distance. - * Type: ALfloat - * Range: [0.0 - ] - */ -#define AL_MAX_DISTANCE 0x1023 - -/** - * Source state information - */ -#define AL_SOURCE_STATE 0x1010 -#define AL_INITIAL 0x1011 -#define AL_PLAYING 0x1012 -#define AL_PAUSED 0x1013 -#define AL_STOPPED 0x1014 - -/** - * Buffer Queue params - */ -#define AL_BUFFERS_QUEUED 0x1015 -#define AL_BUFFERS_PROCESSED 0x1016 - -/** Sound buffers: format specifier. */ -#define AL_FORMAT_MONO8 0x1100 -#define AL_FORMAT_MONO16 0x1101 -#define AL_FORMAT_STEREO8 0x1102 -#define AL_FORMAT_STEREO16 0x1103 - -/** - * Sound buffers: frequency, in units of Hertz [Hz]. - * This is the number of samples per second. Half of the - * sample frequency marks the maximum significant - * frequency component. - */ -#define AL_FREQUENCY 0x2001 -#define AL_BITS 0x2002 -#define AL_CHANNELS 0x2003 -#define AL_SIZE 0x2004 -#define AL_DATA 0x2005 - -/** - * Buffer state. - * - * Not supported for public use (yet). - */ -#define AL_UNUSED 0x2010 -#define AL_PENDING 0x2011 -#define AL_PROCESSED 0x2012 - -/** Errors: No Error. */ -#define AL_NO_ERROR AL_FALSE - -/** - * Illegal name passed as an argument to an AL call. - */ -#define AL_INVALID_NAME 0xA001 - -/** - * Illegal enum passed as an argument to an AL call. - */ -#define AL_INVALID_ENUM 0xA002 -/** - * Illegal value passed as an argument to an AL call. - * Applies to parameter values, but not to enumerations. - */ -#define AL_INVALID_VALUE 0xA003 - -/** - * A function was called at inappropriate time, - * or in an inappropriate way, causing an illegal state. - * This can be an incompatible ALenum, object ID, - * and/or function. - */ -#define AL_INVALID_OPERATION 0xA004 - -/** - * A function could not be completed, - * because there is not enough memory available. - */ -#define AL_OUT_OF_MEMORY 0xA005 - -/** Context strings: Vendor Name. */ -#define AL_VENDOR 0xB001 -#define AL_VERSION 0xB002 -#define AL_RENDERER 0xB003 -#define AL_EXTENSIONS 0xB004 - -/** Global tweakage. */ - -/** - * Doppler scale. Default 1.0 - */ -#define AL_DOPPLER_FACTOR 0xC000 - -/** - * Doppler velocity. Default 1.0 - */ -#define AL_DOPPLER_VELOCITY 0xC001 - -/** - * Distance model. Default AL_INVERSE_DISTANCE_CLAMPED - */ -#define AL_DISTANCE_MODEL 0xD000 - -/** Distance models. */ - -#define AL_INVERSE_DISTANCE 0xD001 -#define AL_INVERSE_DISTANCE_CLAMPED 0xD002 - - /** - * enables - */ - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alut.h b/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alut.h deleted file mode 100644 index 0b1baea..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Headers/alut.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * OpenAL cross platform audio library - * Copyright (C) 1999-2000 by authors. - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * Or go to http://www.gnu.org/copyleft/lgpl.html - */ - -#ifndef _ALUT_H_ -#define _ALUT_H_ - -#define ALUTAPI -#define ALUTAPIENTRY - -#include "al.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef TARGET_OS_MAC - #if TARGET_OS_MAC - #pragma export on - #endif -#endif - -ALUTAPI ALvoid ALUTAPIENTRY alutInit(ALint *argc,ALbyte **argv); -ALUTAPI ALvoid ALUTAPIENTRY alutExit(ALvoid); -ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVFile(ALbyte *file,ALenum *format,ALvoid **data,ALsizei *size,ALsizei *freq); -ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVMemory(ALbyte *memory,ALenum *format,ALvoid **data,ALsizei *size,ALsizei *freq); -ALUTAPI ALvoid ALUTAPIENTRY alutUnloadWAV(ALenum format,ALvoid *data,ALsizei size,ALsizei freq); - -#ifdef TARGET_OS_MAC - #if TARGET_OS_MAC - #pragma export off - #endif -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/OpenAL b/neo/openal/osx/OpenAL.framework/Versions/A/OpenAL deleted file mode 100644 index b03b04f17d6aaf2492c27e9eace8a9f0b377d3f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256696 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ÐgC|Gmu}0IQ>iZ-;x(_oXNzy?QbY*x* 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

`shNz+JJ?>h(tTrfr6KkqZ}8`ofy(^_5q6 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 diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings b/neo/openal/osx/OpenAL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings deleted file mode 100644 index fa858023ea538216b8928a45db9220c8d9e2f684..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcmbu5OKZYV5Jt~h=zj<9Y4lY;VFyjg>jz)u{5}jKtfH1XW&2--OIm%T<}!`%4sB$)(Gfmd?B1AfP34(|DGq z^{3vOD!bd3|5bUEttbCRcP_M3x4HQBBuSI@jbcQ|yH2fiC}S)`BxS^B;ak~+tAk}X H_p^ThA7)Pz diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Resources/Info.plist b/neo/openal/osx/OpenAL.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index a811c8b..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - OpenAL - CFBundleGetInfoString - OpenAL - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - OpenAL - CFBundlePackageType - FMWK - CFBundleShortVersionString - OpenAL - CFBundleSignature - ???? - CFBundleVersion - 1.0.1d1 - CSResourcesFileMapped - - - diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Resources/READ_ME b/neo/openal/osx/OpenAL.framework/Versions/A/Resources/READ_ME deleted file mode 100644 index 378b781..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Resources/READ_ME +++ /dev/null @@ -1,86 +0,0 @@ - -February 13th, 2004 - Apple Computer Inc. -updated: March 15th, 2004 - Apple Computer Inc. - ----------------------------------------------------------------------------------------------------------------------- -READ ME: OPEN AL - OSX IMPLEMENTATION USING THE 3DMIXER AUDIOUNIT ----------------------------------------------------------------------------------------------------------------------- - -This Read Me should accompany the 3DMixer implementation of OpenAL (Open Audio Library). - -CoreAUdio SDK Requirements ------------------------ -Building this implementation of OpenAL for Mac OSX requires the latest CoreAudio SDK (version 1.3.1), due to it use -of new CoreAudio Public Utility classes. - -CoreAudio Version requirements ------------------------ -There are Recommended and Minimum CoreAudio framework and component pieces for running this implementation -of OpenAL for Mac OSX: - - Recommended: - ------------ - OSX: version 10.2.6 AND - QuickTime: version 6.5.1 - AudioToolbox.framework (version 1.3.2) - AudioUnit.framework (version 1.3.2) - CoreAudio.component (version 1.3.2 - this version contains the 2.0 version of the 3DMixer AudioUnit) - - Minimum: - ------------ - OSX: version 10.2 (Jaguar) AND - QuickTime: version 6.4 - AudioToolbox.framework (version 1.2xxxxx) - AudioUnit.framework (version 1.2xxxxx) - CoreAudio.component (version 1.2xxxxxx - this version contains the 1.3 version of the 3DMixer AudioUnit) - ----------------------------------------------------------------------------------------------------------------------- -OpenAL Extensions: ----------------------------------------------------------------------------------------------------------------------- - -This implementation has the following OpenAL extensions. These constants can be found in the included "alctypes.h" header. - -***** ALC_CONVERT_DATA_UPON_LOADING -This extension allows the caller to tell OpenAL to preconvert to the native CoreAudio format, the audio data passed to the -library with the alBufferData() call. Preconverting the audio data, reduces CPU usage by removing an audio data conversion -(per source) at render timem at the expense of a larger memory footprint. - -This feature is toggled on/off by using the alDisable() & alEnable() APIs. This setting will be applied to all subsequent -calls to alBufferData(). - -***** ALC_SPATIAL_RENDERING_QUALITY -This extension allows the application to specify the quality of spatial rendering to better suit the resources of the CPU. -At this time, the quality settings are only applied when rendering to stereo hw. All multichannel rendering uses the same -spatilaization setting on the 3DMixer. Use the alSetInteger() & alGetInteger() APIs to specify and retrieve this setting. -This implmentation provides 2 setting constants: ALC_SPATIAL_RENDERING_QUALITY_HIGH (HRTF) - ALC_SPATIAL_RENDERING_QUALITY_LOW (EqualPowerPanning) - -note: This implementation applies the setting to all the OAL Sources of an OAL Context. However, spatial settings can be applied to -each input bus of the 3DMixer, so it is possible to have this setting on a per OAL Source basis, allowing the developer to give -quality priorities to the various sounds used in an application. - -note: Currently, all stereo sounds are 'passed thru' with no spatial rendering applied. This has the best output quality for rendering -what are typically background sound tracks. However, the 3DMixer has the ability to render a stereo source to a spatial coordinate -if this was desired and support to do so would be trivial. - -***** ALC_MIXER_OUTPUT_RATE -This extension allows the developer to let the AudioGraph be efficient about sample rate conversion. If for example, all sounds -being played have a sample rate of 44k, but the output hardware is set to 48k, then it is best for the 3DMixer to leave the -the audio data (Mixer Outputut Rate) at 44k, letting the output AU rate convert the streams after they have been mixed. By default, -this is set to 44k which is very common sample rate for sound hw. - -***** ALC_MIXER_MAXIMUM_BUSSES -This extension allows the developer to optimize the 3DMixer by setting it available input bus count. This allows the 3DMixer to be as -efficient as possible in resource allocations. By default, the 3DMixer currently defaults to 64 busses (note: the 1.3 version of the -3DMixer does not respect this setting, so always confirm the bus count with a get call, after setting the bus count and creating a new device). -Use: set the bus count before making a call to alOpenDevice(). This will cause the library to set the mixer to you desired bus count. -as it creates the AUGraph. Use the alSetInteger() & alGetInteger() APIs to specify and retrieve this setting. - -***** ALC_RENDER_CHANNEL_COUNT -Because the audio system has no way to know if a user has actually connected a speaker to an output of the audio hardware, it may be desired -to allow the user to clamp all rendering to stereo. Use the alSetInteger() & alGetInteger() APIs to specify and retrieve this setting. -This implmentation provides 2 setting constants: ALC_RENDER_CHANNEL_COUNT_STEREO (clamp the 3DMixer output rendering to stereo, regardless of the hw capabilities) - ALC_RENDER_CHANNEL_COUNT_MULTICHANNEL (try and render to the maximum speakers possible by interrogating the device) - ----------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------- diff --git a/neo/openal/osx/OpenAL.framework/Versions/A/Resources/pbdevelopment.plist b/neo/openal/osx/OpenAL.framework/Versions/A/Resources/pbdevelopment.plist deleted file mode 100644 index 151e2d6..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/A/Resources/pbdevelopment.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PBXProjectSourcePath - /Users/mmarks/Development/OpenAL/openal/macosx/al_osx.xcode - - diff --git a/neo/openal/osx/OpenAL.framework/Versions/Current b/neo/openal/osx/OpenAL.framework/Versions/Current deleted file mode 100644 index 8c7e5a6..0000000 --- a/neo/openal/osx/OpenAL.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/neo/sound/snd_local.h b/neo/sound/snd_local.h index 8cfcd46..e6892e9 100644 --- a/neo/sound/snd_local.h +++ b/neo/sound/snd_local.h @@ -30,21 +30,11 @@ If you have questions concerning this license or the applicable additional terms #define __SND_LOCAL_H__ // you need the OpenAL headers for build, even if AL is not enabled - http://www.openal.org/ -#ifdef _WIN32 #include "../openal/include/al.h" #include "../openal/include/alc.h" #include "../openal/idal.h" // broken OpenAL SDK ? #define ID_ALCHAR (ALubyte *) -#elif defined( MACOS_X ) -#include -#include -#define ID_ALCHAR -#else -#include -#include -#define ID_ALCHAR -#endif #include "../openal/include/efxlib.h" // demo sound commands -- 2.39.2