28#include "../qcommon/q_shared.h"
29#include "../qcommon/qcommon.h"
31#ifdef USE_OPENAL_DLOPEN
32#define AL_NO_PROTOTYPES
33#define ALC_NO_PROTOTYPES
36#ifdef USE_LOCAL_HEADERS
39#include "../AL/alext.h"
41#if defined(_MSC_VER) || defined(__APPLE__)
55#ifndef ALC_ENUMERATE_ALL_EXT
56# define ALC_ENUMERATE_ALL_EXT 1
57# define ALC_DEFAULT_ALL_DEVICES_SPECIFIER 0x1012
58# define ALC_ALL_DEVICES_SPECIFIER 0x1013
65#ifdef USE_OPENAL_DLOPEN
66extern LPALENABLE qalEnable;
67extern LPALDISABLE qalDisable;
68extern LPALISENABLED qalIsEnabled;
69extern LPALGETSTRING qalGetString;
70extern LPALGETBOOLEANV qalGetBooleanv;
71extern LPALGETINTEGERV qalGetIntegerv;
72extern LPALGETFLOATV qalGetFloatv;
73extern LPALGETDOUBLEV qalGetDoublev;
74extern LPALGETBOOLEAN qalGetBoolean;
75extern LPALGETINTEGER qalGetInteger;
76extern LPALGETFLOAT qalGetFloat;
77extern LPALGETDOUBLE qalGetDouble;
78extern LPALGETERROR qalGetError;
79extern LPALISEXTENSIONPRESENT qalIsExtensionPresent;
80extern LPALGETPROCADDRESS qalGetProcAddress;
81extern LPALGETENUMVALUE qalGetEnumValue;
82extern LPALLISTENERF qalListenerf;
83extern LPALLISTENER3F qalListener3f;
84extern LPALLISTENERFV qalListenerfv;
85extern LPALLISTENERI qalListeneri;
86extern LPALLISTENER3I qalListener3i;
87extern LPALLISTENERIV qalListeneriv;
88extern LPALGETLISTENERF qalGetListenerf;
89extern LPALGETLISTENER3F qalGetListener3f;
90extern LPALGETLISTENERFV qalGetListenerfv;
91extern LPALGETLISTENERI qalGetListeneri;
92extern LPALGETLISTENER3I qalGetListener3i;
93extern LPALGETLISTENERIV qalGetListeneriv;
94extern LPALGENSOURCES qalGenSources;
95extern LPALDELETESOURCES qalDeleteSources;
96extern LPALISSOURCE qalIsSource;
97extern LPALSOURCEF qalSourcef;
98extern LPALSOURCE3F qalSource3f;
99extern LPALSOURCEFV qalSourcefv;
100extern LPALSOURCEI qalSourcei;
101extern LPALSOURCE3I qalSource3i;
102extern LPALSOURCEIV qalSourceiv;
103extern LPALGETSOURCEF qalGetSourcef;
104extern LPALGETSOURCE3F qalGetSource3f;
105extern LPALGETSOURCEFV qalGetSourcefv;
106extern LPALGETSOURCEI qalGetSourcei;
107extern LPALGETSOURCE3I qalGetSource3i;
108extern LPALGETSOURCEIV qalGetSourceiv;
109extern LPALSOURCEPLAYV qalSourcePlayv;
110extern LPALSOURCESTOPV qalSourceStopv;
111extern LPALSOURCEREWINDV qalSourceRewindv;
112extern LPALSOURCEPAUSEV qalSourcePausev;
113extern LPALSOURCEPLAY qalSourcePlay;
114extern LPALSOURCESTOP qalSourceStop;
115extern LPALSOURCEREWIND qalSourceRewind;
116extern LPALSOURCEPAUSE qalSourcePause;
117extern LPALSOURCEQUEUEBUFFERS qalSourceQueueBuffers;
118extern LPALSOURCEUNQUEUEBUFFERS qalSourceUnqueueBuffers;
119extern LPALGENBUFFERS qalGenBuffers;
120extern LPALDELETEBUFFERS qalDeleteBuffers;
121extern LPALISBUFFER qalIsBuffer;
122extern LPALBUFFERDATA qalBufferData;
123extern LPALBUFFERF qalBufferf;
124extern LPALBUFFER3F qalBuffer3f;
125extern LPALBUFFERFV qalBufferfv;
126extern LPALBUFFERI qalBufferi;
127extern LPALBUFFER3F qalBuffer3i;
128extern LPALBUFFERFV qalBufferiv;
129extern LPALGETBUFFERF qalGetBufferf;
130extern LPALGETBUFFER3F qalGetBuffer3f;
131extern LPALGETBUFFERFV qalGetBufferfv;
132extern LPALGETBUFFERI qalGetBufferi;
133extern LPALGETBUFFER3I qalGetBuffer3i;
134extern LPALGETBUFFERIV qalGetBufferiv;
135extern LPALDOPPLERFACTOR qalDopplerFactor;
136extern LPALSPEEDOFSOUND qalSpeedOfSound;
137extern LPALDISTANCEMODEL qalDistanceModel;
139extern LPALCCREATECONTEXT qalcCreateContext;
140extern LPALCMAKECONTEXTCURRENT qalcMakeContextCurrent;
141extern LPALCPROCESSCONTEXT qalcProcessContext;
142extern LPALCSUSPENDCONTEXT qalcSuspendContext;
143extern LPALCDESTROYCONTEXT qalcDestroyContext;
144extern LPALCGETCURRENTCONTEXT qalcGetCurrentContext;
145extern LPALCGETCONTEXTSDEVICE qalcGetContextsDevice;
146extern LPALCOPENDEVICE qalcOpenDevice;
147extern LPALCCLOSEDEVICE qalcCloseDevice;
148extern LPALCGETERROR qalcGetError;
149extern LPALCISEXTENSIONPRESENT qalcIsExtensionPresent;
150extern LPALCGETPROCADDRESS qalcGetProcAddress;
151extern LPALCGETENUMVALUE qalcGetEnumValue;
152extern LPALCGETSTRING qalcGetString;
153extern LPALCGETINTEGERV qalcGetIntegerv;
154extern LPALCCAPTUREOPENDEVICE qalcCaptureOpenDevice;
155extern LPALCCAPTURECLOSEDEVICE qalcCaptureCloseDevice;
156extern LPALCCAPTURESTART qalcCaptureStart;
157extern LPALCCAPTURESTOP qalcCaptureStop;
158extern LPALCCAPTURESAMPLES qalcCaptureSamples;
160#define qalEnable alEnable
161#define qalDisable alDisable
162#define qalIsEnabled alIsEnabled
163#define qalGetString alGetString
164#define qalGetBooleanv alGetBooleanv
165#define qalGetIntegerv alGetIntegerv
166#define qalGetFloatv alGetFloatv
167#define qalGetDoublev alGetDoublev
168#define qalGetBoolean alGetBoolean
169#define qalGetInteger alGetInteger
170#define qalGetFloat alGetFloat
171#define qalGetDouble alGetDouble
172#define qalGetError alGetError
173#define qalIsExtensionPresent alIsExtensionPresent
174#define qalGetProcAddress alGetProcAddress
175#define qalGetEnumValue alGetEnumValue
176#define qalListenerf alListenerf
177#define qalListener3f alListener3f
178#define qalListenerfv alListenerfv
179#define qalListeneri alListeneri
180#define qalListener3i alListener3i
181#define qalListeneriv alListeneriv
182#define qalGetListenerf alGetListenerf
183#define qalGetListener3f alGetListener3f
184#define qalGetListenerfv alGetListenerfv
185#define qalGetListeneri alGetListeneri
186#define qalGetListener3i alGetListener3i
187#define qalGetListeneriv alGetListeneriv
188#define qalGenSources alGenSources
189#define qalDeleteSources alDeleteSources
190#define qalIsSource alIsSource
191#define qalSourcef alSourcef
192#define qalSource3f alSource3f
193#define qalSourcefv alSourcefv
194#define qalSourcei alSourcei
195#define qalSource3i alSource3i
196#define qalSourceiv alSourceiv
197#define qalGetSourcef alGetSourcef
198#define qalGetSource3f alGetSource3f
199#define qalGetSourcefv alGetSourcefv
200#define qalGetSourcei alGetSourcei
201#define qalGetSource3i alGetSource3i
202#define qalGetSourceiv alGetSourceiv
203#define qalSourcePlayv alSourcePlayv
204#define qalSourceStopv alSourceStopv
205#define qalSourceRewindv alSourceRewindv
206#define qalSourcePausev alSourcePausev
207#define qalSourcePlay alSourcePlay
208#define qalSourceStop alSourceStop
209#define qalSourceRewind alSourceRewind
210#define qalSourcePause alSourcePause
211#define qalSourceQueueBuffers alSourceQueueBuffers
212#define qalSourceUnqueueBuffers alSourceUnqueueBuffers
213#define qalGenBuffers alGenBuffers
214#define qalDeleteBuffers alDeleteBuffers
215#define qalIsBuffer alIsBuffer
216#define qalBufferData alBufferData
217#define qalBufferf alBufferf
218#define qalBuffer3f alBuffer3f
219#define qalBufferfv alBufferfv
220#define qalBufferi alBufferi
221#define qalBuffer3i alBuffer3i
222#define qalBufferiv alBufferiv
223#define qalGetBufferf alGetBufferf
224#define qalGetBuffer3f alGetBuffer3f
225#define qalGetBufferfv alGetBufferfv
226#define qalGetBufferi alGetBufferi
227#define qalGetBuffer3i alGetBuffer3i
228#define qalGetBufferiv alGetBufferiv
229#define qalDopplerFactor alDopplerFactor
230#define qalSpeedOfSound alSpeedOfSound
231#define qalDistanceModel alDistanceModel
233#define qalcCreateContext alcCreateContext
234#define qalcMakeContextCurrent alcMakeContextCurrent
235#define qalcProcessContext alcProcessContext
236#define qalcSuspendContext alcSuspendContext
237#define qalcDestroyContext alcDestroyContext
238#define qalcGetCurrentContext alcGetCurrentContext
239#define qalcGetContextsDevice alcGetContextsDevice
240#define qalcOpenDevice alcOpenDevice
241#define qalcCloseDevice alcCloseDevice
242#define qalcGetError alcGetError
243#define qalcIsExtensionPresent alcIsExtensionPresent
244#define qalcGetProcAddress alcGetProcAddress
245#define qalcGetEnumValue alcGetEnumValue
246#define qalcGetString alcGetString
247#define qalcGetIntegerv alcGetIntegerv
248#define qalcCaptureOpenDevice alcCaptureOpenDevice
249#define qalcCaptureCloseDevice alcCaptureCloseDevice
250#define qalcCaptureStart alcCaptureStart
251#define qalcCaptureStop alcCaptureStop
252#define qalcCaptureSamples alcCaptureSamples
255qboolean QAL_Init(
const char *libname);
256void QAL_Shutdown(
void );