Add _DEBUG/NDEBUG defines when DEBUG/NODEBUG options are used, respectively
[openal-soft.git] / Router / al.cpp
blob81e114610df30825293069bcb0c8b08a0e5b171b
1 /**
2 * OpenAL cross platform audio library
3 * Copyright (C) 1999-2003 by authors.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 * Or go to http://www.gnu.org/copyleft/lgpl.html
24 #include <al\alc.h>
25 #include "OpenAL32.h"
27 typedef struct ALfunction_struct
29 ALchar *funcName;
30 ALvoid *address;
31 } ALfunction;
33 static ALfunction function[]= {
34 { "alEnable", (ALvoid *) alEnable },
35 { "alDisable", (ALvoid *) alDisable },
36 { "alIsEnabled", (ALvoid *) alIsEnabled },
37 { "alGetString", (ALvoid *) alGetString },
38 { "alGetBooleanv", (ALvoid *) alGetBooleanv },
39 { "alGetIntegerv", (ALvoid *) alGetIntegerv },
40 { "alGetFloatv", (ALvoid *) alGetFloatv },
41 { "alGetDoublev", (ALvoid *) alGetDoublev },
42 { "alGetBoolean", (ALvoid *) alGetBoolean },
43 { "alGetInteger", (ALvoid *) alGetInteger },
44 { "alGetFloat", (ALvoid *) alGetFloat },
45 { "alGetDouble", (ALvoid *) alGetDouble },
46 { "alGetError", (ALvoid *) alGetError },
47 { "alIsExtensionPresent", (ALvoid *) alIsExtensionPresent },
48 { "alGetProcAddress", (ALvoid *) alGetProcAddress },
49 { "alGetEnumValue", (ALvoid *) alGetEnumValue },
50 { "alListenerf", (ALvoid *) alListenerf },
51 { "alListener3f", (ALvoid *) alListener3f },
52 { "alListenerfv", (ALvoid *) alListenerfv },
53 { "alListeneri", (ALvoid *) alListeneri },
54 { "alListener3i", (ALvoid *) alListener3i },
55 { "alListeneriv", (ALvoid *) alListeneriv },
56 { "alGetListenerf", (ALvoid *) alGetListenerf },
57 { "alGetListener3f", (ALvoid *) alGetListener3f },
58 { "alGetListenerfv", (ALvoid *) alGetListenerfv },
59 { "alGetListeneri", (ALvoid *) alGetListeneri },
60 { "alGetListener3i", (ALvoid *) alGetListener3i },
61 { "alGetListeneriv", (ALvoid *) alGetListeneriv },
62 { "alGenSources", (ALvoid *) alGenSources },
63 { "alDeleteSources", (ALvoid *) alDeleteSources },
64 { "alIsSource", (ALvoid *) alIsSource },
65 { "alSourcef", (ALvoid *) alSourcef },
66 { "alSource3f", (ALvoid *) alSource3f },
67 { "alSourcefv", (ALvoid *) alSourcefv },
68 { "alSourcei", (ALvoid *) alSourcei },
69 { "alSource3i", (ALvoid *) alSource3i },
70 { "alSourceiv", (ALvoid *) alSourceiv },
71 { "alGetSourcef", (ALvoid *) alGetSourcef },
72 { "alGetSource3f", (ALvoid *) alGetSource3f },
73 { "alGetSourcefv", (ALvoid *) alGetSourcefv },
74 { "alGetSourcei", (ALvoid *) alGetSourcei },
75 { "alGetSource3i", (ALvoid *) alGetSource3i },
76 { "alGetSourceiv", (ALvoid *) alGetSourceiv },
77 { "alSourcePlayv", (ALvoid *) alSourcePlayv },
78 { "alSourceStopv", (ALvoid *) alSourceStopv },
79 { "alSourceRewindv", (ALvoid *) alSourceRewindv },
80 { "alSourcePausev", (ALvoid *) alSourcePausev },
81 { "alSourcePlay", (ALvoid *) alSourcePlay },
82 { "alSourceStop", (ALvoid *) alSourceStop },
83 { "alSourceRewind", (ALvoid *) alSourceRewind },
84 { "alSourcePause", (ALvoid *) alSourcePause },
85 { "alSourceQueueBuffers", (ALvoid *) alSourceQueueBuffers },
86 { "alSourceUnqueueBuffers", (ALvoid *) alSourceUnqueueBuffers },
87 { "alGenBuffers", (ALvoid *) alGenBuffers },
88 { "alDeleteBuffers", (ALvoid *) alDeleteBuffers },
89 { "alIsBuffer", (ALvoid *) alIsBuffer },
90 { "alBufferData", (ALvoid *) alBufferData },
91 { "alBufferf", (ALvoid *) alBufferf },
92 { "alBuffer3f", (ALvoid *) alBuffer3f },
93 { "alBufferfv", (ALvoid *) alBufferfv },
94 { "alBufferi", (ALvoid *) alBufferi },
95 { "alBuffer3i", (ALvoid *) alBuffer3i },
96 { "alBufferiv", (ALvoid *) alBufferiv },
97 { "alGetBufferf", (ALvoid *) alGetBufferf },
98 { "alGetBuffer3f", (ALvoid *) alGetBuffer3f },
99 { "alGetBufferfv", (ALvoid *) alGetBufferfv },
100 { "alGetBufferi", (ALvoid *) alGetBufferi },
101 { "alGetBuffer3i", (ALvoid *) alGetBuffer3i },
102 { "alGetBufferiv", (ALvoid *) alGetBufferiv },
103 { "alDopplerFactor", (ALvoid *) alDopplerFactor },
104 { "alDopplerVelocity", (ALvoid *) alDopplerVelocity },
105 { "alSpeedOfSound", (ALvoid *) alSpeedOfSound },
106 { "alDistanceModel", (ALvoid *) alDistanceModel },
107 { NULL, (ALvoid *) NULL } };
110 //*****************************************************************************
111 //*****************************************************************************
113 // Defines
115 //*****************************************************************************
116 //*****************************************************************************
119 #ifdef __MINGW32__
120 // fix for Mingw32.
121 #define AL_VOID_FXN(fxn) \
122 ALCcontext* context; \
124 alListAcquireLock(alContextList); \
125 if(!alCurrentContext) \
127 alListReleaseLock(alContextList); \
128 return; \
131 context = alCurrentContext; \
132 EnterCriticalSection(&context->Lock); \
133 alListReleaseLock(alContextList); \
135 context->AlApi.fxn; \
136 LeaveCriticalSection(&context->Lock); \
137 return
138 #define AL_RESULT_FXN(fxn, resultType, resultDefVal) \
139 resultType result = resultDefVal; \
140 ALCcontext* context; \
142 alListAcquireLock(alContextList); \
143 if(!alCurrentContext) \
145 alListReleaseLock(alContextList); \
146 return result; \
149 context = alCurrentContext; \
150 EnterCriticalSection(&context->Lock); \
151 alListReleaseLock(alContextList); \
153 result = context->AlApi.fxn; \
154 LeaveCriticalSection(&context->Lock); \
155 return result
157 #else
158 #define AL_RESULT_FXN(fxn, resultType, resultDefVal) \
159 resultType result = resultDefVal; \
160 ALCcontext* context; \
162 alListAcquireLock(alContextList); \
163 if(!alCurrentContext) \
165 alListReleaseLock(alContextList); \
166 return result; \
169 context = alCurrentContext; \
170 EnterCriticalSection(&context->Lock); \
171 alListReleaseLock(alContextList); \
173 result = context->AlApi.##fxn; \
174 LeaveCriticalSection(&context->Lock); \
175 return result
177 #define AL_VOID_FXN(fxn) \
178 ALCcontext* context; \
180 alListAcquireLock(alContextList); \
181 if(!alCurrentContext) \
183 alListReleaseLock(alContextList); \
184 return; \
187 context = alCurrentContext; \
188 EnterCriticalSection(&context->Lock); \
189 alListReleaseLock(alContextList); \
191 context->AlApi.##fxn; \
192 LeaveCriticalSection(&context->Lock); \
193 return
194 #endif
197 //*****************************************************************************
198 //*****************************************************************************
200 // AL API Buffer Entry Points
202 //*****************************************************************************
203 //*****************************************************************************
205 //*****************************************************************************
206 // alGenBuffers
207 //*****************************************************************************
209 ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* bufferNames)
211 AL_VOID_FXN(alGenBuffers(n, bufferNames));
215 //*****************************************************************************
216 // alDeleteBuffers
217 //*****************************************************************************
219 ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, const ALuint* bufferNames)
221 AL_VOID_FXN(alDeleteBuffers(n, bufferNames));
225 //*****************************************************************************
226 // alIsBuffer
227 //*****************************************************************************
229 ALAPI ALboolean ALAPIENTRY alIsBuffer(ALuint bufferName)
231 AL_RESULT_FXN(alIsBuffer(bufferName), ALboolean, AL_FALSE);
234 //*****************************************************************************
235 // alBuffer3f
236 //*****************************************************************************
238 ALAPI ALvoid ALAPIENTRY alBuffer3f(ALuint bufferName, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3)
240 AL_VOID_FXN(alBuffer3f(bufferName, param, v1, v2, v3));
243 //*****************************************************************************
244 // alBuffer3i
245 //*****************************************************************************
247 ALAPI ALvoid ALAPIENTRY alBuffer3i(ALuint bufferName, ALenum param, ALint v1, ALint v2, ALint v3)
249 AL_VOID_FXN(alBuffer3i(bufferName, param, v1, v2, v3));
253 //*****************************************************************************
254 // alBufferData
255 //*****************************************************************************
257 ALAPI ALvoid ALAPIENTRY alBufferData(ALuint bufferName, ALenum format, const ALvoid* data, ALsizei size, ALsizei freq)
259 AL_VOID_FXN(alBufferData(bufferName, format, data, size, freq));
263 //*****************************************************************************
264 // alBufferf
265 //*****************************************************************************
267 ALAPI ALvoid ALAPIENTRY alBufferf(ALuint bufferName, ALenum param, ALfloat value)
269 AL_VOID_FXN(alBufferf(bufferName, param, value));
273 //*****************************************************************************
274 // alBufferfv
275 //*****************************************************************************
277 ALAPI ALvoid ALAPIENTRY alBufferfv(ALuint bufferName, ALenum param, const ALfloat* values)
279 AL_VOID_FXN(alBufferfv(bufferName, param, values));
283 //*****************************************************************************
284 // alBufferi
285 //*****************************************************************************
287 ALAPI ALvoid ALAPIENTRY alBufferi(ALuint bufferName, ALenum param, ALint value)
289 AL_VOID_FXN(alBufferi(bufferName, param, value));
293 //*****************************************************************************
294 // alBufferiv
295 //*****************************************************************************
297 ALAPI ALvoid ALAPIENTRY alBufferiv(ALuint bufferName, ALenum param, const ALint* values)
299 AL_VOID_FXN(alBufferiv(bufferName, param, values));
302 //*****************************************************************************
303 // alGetBuffer3f
304 //*****************************************************************************
306 ALAPI ALvoid ALAPIENTRY alGetBuffer3f(ALuint bufferName, ALenum param, ALfloat *v1, ALfloat *v2, ALfloat *v3)
308 AL_VOID_FXN(alGetBuffer3f(bufferName, param, v1, v2, v3));
311 //*****************************************************************************
312 // alGetBuffer3i
313 //*****************************************************************************
315 ALAPI ALvoid ALAPIENTRY alGetBuffer3i(ALuint bufferName, ALenum param, ALint *v1, ALint *v2, ALint *v3)
317 AL_VOID_FXN(alGetBuffer3i(bufferName, param, v1, v2, v3));
320 //*****************************************************************************
321 // alGetBufferf
322 //*****************************************************************************
324 ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint bufferName, ALenum param, ALfloat* value)
326 AL_VOID_FXN(alGetBufferf(bufferName, param, value));
329 //*****************************************************************************
330 // alGetBufferfv
331 //*****************************************************************************
333 ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint bufferName, ALenum param, ALfloat* values)
335 AL_VOID_FXN(alGetBufferfv(bufferName, param, values));
339 //*****************************************************************************
340 // alGetBufferi
341 //*****************************************************************************
343 ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint bufferName, ALenum param, ALint* value)
345 AL_VOID_FXN(alGetBufferi(bufferName, param, value));
348 //*****************************************************************************
349 // alGetBufferiv
350 //*****************************************************************************
352 ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint bufferName, ALenum param, ALint* values)
354 AL_VOID_FXN(alGetBufferiv(bufferName, param, values));
358 //*****************************************************************************
359 //*****************************************************************************
361 // AL API Generic Entry Points
363 //*****************************************************************************
364 //*****************************************************************************
366 //*****************************************************************************
367 // alEnable
368 //*****************************************************************************
370 ALAPI ALvoid ALAPIENTRY alEnable(ALenum capability)
372 AL_VOID_FXN(alEnable(capability));
376 //*****************************************************************************
377 // alDisable
378 //*****************************************************************************
380 ALAPI ALvoid ALAPIENTRY alDisable(ALenum capability)
382 AL_VOID_FXN(alDisable(capability));
386 //*****************************************************************************
387 // alDopplerFactor
388 //*****************************************************************************
390 ALAPI ALvoid ALAPIENTRY alDopplerFactor(ALfloat value)
392 AL_VOID_FXN(alDopplerFactor(value));
396 //*****************************************************************************
397 // alDopplerVelocity
398 //*****************************************************************************
400 ALAPI ALvoid ALAPIENTRY alDopplerVelocity(ALfloat value)
402 AL_VOID_FXN(alDopplerVelocity(value));
406 //*****************************************************************************
407 // alSpeedOfSound
408 //*****************************************************************************
410 ALAPI ALvoid ALAPIENTRY alSpeedOfSound(ALfloat value)
412 ALCcontext* context;
414 alListAcquireLock(alContextList);
415 if(!alCurrentContext)
417 alListReleaseLock(alContextList);
418 return;
421 context = alCurrentContext;
422 EnterCriticalSection(&context->Lock);
423 alListReleaseLock(alContextList);
425 if (context->AlApi.alSpeedOfSound) { // protect against talking to a 1.0 lib
426 context->AlApi.alSpeedOfSound(value);
428 LeaveCriticalSection(&context->Lock);
429 return;
433 //*****************************************************************************
434 // alDistanceModel
435 //*****************************************************************************
437 ALAPI ALvoid ALAPIENTRY alDistanceModel(ALenum value)
439 AL_VOID_FXN(alDistanceModel(value));
443 //*****************************************************************************
444 // alGetBoolean
445 //*****************************************************************************
447 ALAPI ALboolean ALAPIENTRY alGetBoolean(ALenum param)
449 AL_RESULT_FXN(alGetBoolean(param), ALboolean, AL_FALSE);
453 //*****************************************************************************
454 // alGetBooleanv
455 //*****************************************************************************
457 ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data)
459 AL_VOID_FXN(alGetBooleanv(param, data));
463 //*****************************************************************************
464 // alGetDouble
465 //*****************************************************************************
467 ALAPI ALdouble ALAPIENTRY alGetDouble(ALenum param)
469 AL_RESULT_FXN(alGetDouble(param), ALdouble, 0.0);
473 //*****************************************************************************
474 // alGetDoublev
475 //*****************************************************************************
477 ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data)
479 AL_VOID_FXN(alGetDoublev(param, data));
482 //*****************************************************************************
483 // alGetFloat
484 //*****************************************************************************
486 ALAPI ALfloat ALAPIENTRY alGetFloat(ALenum param)
488 AL_RESULT_FXN(alGetFloat(param), ALfloat, 0.0f);
492 //*****************************************************************************
493 // alGetFloatv
494 //*****************************************************************************
496 ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data)
498 AL_VOID_FXN(alGetFloatv(param, data));
502 //*****************************************************************************
503 // alGetInteger
504 //*****************************************************************************
506 ALAPI ALint ALAPIENTRY alGetInteger(ALenum param)
508 AL_RESULT_FXN(alGetInteger(param), ALint, 0);
512 //*****************************************************************************
513 // alGetIntegerv
514 //*****************************************************************************
516 ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data)
518 AL_VOID_FXN(alGetIntegerv(param, data));
522 //*****************************************************************************
523 // alGetEnumValue
524 //*****************************************************************************
526 ALAPI ALenum ALAPIENTRY alGetEnumValue(const ALCchar* ename)
528 AL_RESULT_FXN(alGetEnumValue(ename), ALenum, AL_INVALID_ENUM);
532 //*****************************************************************************
533 // alGetError
534 //*****************************************************************************
536 ALAPI ALenum ALAPIENTRY alGetError(ALvoid)
538 AL_RESULT_FXN(alGetError(), ALenum, AL_NO_ERROR);
542 //*****************************************************************************
543 // alGetProcAddress
544 //*****************************************************************************
546 ALAPI ALvoid* ALAPIENTRY alGetProcAddress(const ALCchar* fname)
548 // return router's address if available
549 ALsizei i=0;
550 ALvoid *pAddress;
552 while ((function[i].funcName)&&(strcmp((char *)function[i].funcName,(char *)fname)))
553 i++;
554 pAddress = function[i].address;
556 if (pAddress != NULL) {
557 return pAddress;
560 // router doesn't have this entry point, so go to the device...
561 AL_RESULT_FXN(alGetProcAddress(fname), ALvoid*, 0);
563 return pAddress;
567 //*****************************************************************************
568 // alGetString
569 //*****************************************************************************
571 ALAPI const ALCchar* ALAPIENTRY alGetString(ALenum param)
573 AL_RESULT_FXN(alGetString(param), const ALCchar*, 0);
577 //*****************************************************************************
578 // alIsExtensionPresent
579 //*****************************************************************************
581 ALAPI ALboolean ALAPIENTRY alIsExtensionPresent(const ALCchar* ename)
583 AL_RESULT_FXN(alIsExtensionPresent(ename), ALboolean, AL_FALSE);
587 //*****************************************************************************
588 // alIsEnabled
589 //*****************************************************************************
591 ALAPI ALboolean ALAPIENTRY alIsEnabled(ALenum capability)
593 AL_RESULT_FXN(alIsEnabled(capability), ALboolean, AL_FALSE);
598 //*****************************************************************************
599 //*****************************************************************************
601 // AL API Listener Entry Points
603 //*****************************************************************************
604 //*****************************************************************************
606 //*****************************************************************************
607 // alListenerf
608 //*****************************************************************************
610 ALAPI ALvoid ALAPIENTRY alListenerf(ALenum param, ALfloat value)
612 AL_VOID_FXN(alListenerf(param, value));
616 //*****************************************************************************
617 // alListener3f
618 //*****************************************************************************
620 ALAPI ALvoid ALAPIENTRY alListener3f(ALenum param, ALfloat v1, ALfloat v2, ALfloat v3)
622 AL_VOID_FXN(alListener3f(param, v1, v2, v3));
626 //*****************************************************************************
627 // alListener3i
628 //*****************************************************************************
630 ALAPI ALvoid ALAPIENTRY alListener3i(ALenum param, ALint v1, ALint v2, ALint v3)
632 AL_VOID_FXN(alListener3i(param, v1, v2, v3));
636 //*****************************************************************************
637 // alListenerfv
638 //*****************************************************************************
640 ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, const ALfloat* values)
642 AL_VOID_FXN(alListenerfv(param, values));
646 //*****************************************************************************
647 // alListeneri
648 //*****************************************************************************
650 ALAPI ALvoid ALAPIENTRY alListeneri(ALenum param, ALint value)
652 AL_VOID_FXN(alListeneri(param, value));
656 //*****************************************************************************
657 // alListeneriv
658 //*****************************************************************************
660 ALAPI ALvoid ALAPIENTRY alListeneriv(ALenum param, const ALint *values)
662 AL_VOID_FXN(alListeneriv(param, values));
666 //*****************************************************************************
667 // alGetListenerf
668 //*****************************************************************************
670 ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value)
672 AL_VOID_FXN(alGetListenerf(param, value));
676 //*****************************************************************************
677 // alGetListener3f
678 //*****************************************************************************
680 ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3)
682 AL_VOID_FXN(alGetListener3f(param, v1, v2, v3));
686 //*****************************************************************************
687 // alGetListener3i
688 //*****************************************************************************
690 ALAPI ALvoid ALAPIENTRY alGetListener3i(ALenum param, ALint* v1, ALint* v2, ALint* v3)
692 AL_VOID_FXN(alGetListener3i(param, v1, v2, v3));
696 //*****************************************************************************
697 // alGetListenerfv
698 //*****************************************************************************
700 ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values)
702 AL_VOID_FXN(alGetListenerfv(param, values));
706 //*****************************************************************************
707 // alGetListeneri
708 //*****************************************************************************
710 ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value)
712 AL_VOID_FXN(alGetListeneri(param, value));
716 //*****************************************************************************
717 // alGetListeneriv
718 //*****************************************************************************
720 ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* values)
722 AL_VOID_FXN(alGetListeneriv(param, values));
726 //*****************************************************************************
727 //*****************************************************************************
729 // AL API Source Entry Points
731 //*****************************************************************************
732 //*****************************************************************************
735 //*****************************************************************************
736 // alGenSources
737 //*****************************************************************************
739 ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sourceNames)
741 AL_VOID_FXN(alGenSources(n, sourceNames));
745 //*****************************************************************************
746 // alDeleteSources
747 //*****************************************************************************
749 ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, const ALuint* sourceNames)
751 AL_VOID_FXN(alDeleteSources(n, sourceNames));
755 //*****************************************************************************
756 // alIsSource
757 //*****************************************************************************
759 ALAPI ALboolean ALAPIENTRY alIsSource(ALuint sourceName)
761 AL_RESULT_FXN(alIsSource(sourceName), ALboolean, AL_FALSE);
765 //*****************************************************************************
766 // alSourcef
767 //*****************************************************************************
769 ALAPI ALvoid ALAPIENTRY alSourcef(ALuint sourceName, ALenum param, ALfloat value)
771 AL_VOID_FXN(alSourcef(sourceName, param, value));
775 //*****************************************************************************
776 // alSourcefv
777 //*****************************************************************************
779 ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint sourceName, ALenum param, const ALfloat* values)
781 AL_VOID_FXN(alSourcefv(sourceName, param, values));
785 //*****************************************************************************
786 // alSource3f
787 //*****************************************************************************
789 ALAPI ALvoid ALAPIENTRY alSource3f(ALuint sourceName, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3)
791 AL_VOID_FXN(alSource3f(sourceName, param, v1, v2, v3));
795 //*****************************************************************************
796 // alSource3i
797 //*****************************************************************************
799 ALAPI ALvoid ALAPIENTRY alSource3i(ALuint sourceName, ALenum param, ALint v1, ALint v2, ALint v3)
801 AL_VOID_FXN(alSource3i(sourceName, param, v1, v2, v3));
805 //*****************************************************************************
806 // alSourcei
807 //*****************************************************************************
809 ALAPI ALvoid ALAPIENTRY alSourcei(ALuint sourceName, ALenum param, ALint value)
811 AL_VOID_FXN(alSourcei(sourceName, param, value));
814 //*****************************************************************************
815 // alSourceiv
816 //*****************************************************************************
818 ALAPI ALvoid ALAPIENTRY alSourceiv(ALuint sourceName, ALenum param, const ALint* values)
820 AL_VOID_FXN(alSourceiv(sourceName, param, values));
824 //*****************************************************************************
825 // alGetSourcef
826 //*****************************************************************************
828 ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint sourceName, ALenum param, ALfloat* value)
830 AL_VOID_FXN(alGetSourcef(sourceName, param, value));
833 //*****************************************************************************
834 // alGetSource3f
835 //*****************************************************************************
837 ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint sourceName, ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3)
839 AL_VOID_FXN(alGetSource3f(sourceName, param, v1, v2, v3));
843 //*****************************************************************************
844 // alGetSource3i
845 //*****************************************************************************
847 ALAPI ALvoid ALAPIENTRY alGetSource3i(ALuint sourceName, ALenum param, ALint* v1, ALint* v2, ALint* v3)
849 AL_VOID_FXN(alGetSource3i(sourceName, param, v1, v2, v3));
853 //*****************************************************************************
854 // alGetSourcefv
855 //*****************************************************************************
857 ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint sourceName, ALenum param, ALfloat* values)
859 AL_VOID_FXN(alGetSourcefv(sourceName, param, values));
863 //*****************************************************************************
864 // alGetSourcei
865 //*****************************************************************************
867 ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint sourceName, ALenum param, ALint* value)
869 AL_VOID_FXN(alGetSourcei(sourceName, param, value));
873 //*****************************************************************************
874 // alGetSourceiv
875 //*****************************************************************************
877 ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint sourceName, ALenum param, ALint* values)
879 AL_VOID_FXN(alGetSourceiv(sourceName, param, values));
883 //*****************************************************************************
884 // alSourcePlay
885 //*****************************************************************************
887 ALAPI ALvoid ALAPIENTRY alSourcePlay(ALuint sourceName)
889 AL_VOID_FXN(alSourcePlay(sourceName));
893 //*****************************************************************************
894 // alSourcePlayv
895 //*****************************************************************************
897 ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, const ALuint* sourceNames)
899 AL_VOID_FXN(alSourcePlayv(n, sourceNames));
903 //*****************************************************************************
904 // alSourcePause
905 //*****************************************************************************
907 ALAPI ALvoid ALAPIENTRY alSourcePause(ALuint sourceName)
909 AL_VOID_FXN(alSourcePause(sourceName));
913 //*****************************************************************************
914 // alSourcePausev
915 //*****************************************************************************
917 ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, const ALuint* sourceNames)
919 AL_VOID_FXN(alSourcePausev(n, sourceNames));
923 //*****************************************************************************
924 // alSourceStop
925 //*****************************************************************************
927 ALAPI ALvoid ALAPIENTRY alSourceStop(ALuint sourceName)
929 AL_VOID_FXN(alSourceStop(sourceName));
933 //*****************************************************************************
934 // alSourceStopv
935 //*****************************************************************************
937 ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, const ALuint* sourceNames)
939 AL_VOID_FXN(alSourceStopv(n, sourceNames));
943 //*****************************************************************************
944 // alSourceRewind
945 //*****************************************************************************
947 ALAPI ALvoid ALAPIENTRY alSourceRewind(ALuint sourceName)
949 AL_VOID_FXN(alSourceRewind(sourceName));
953 //*****************************************************************************
954 // alSourceRewindv
955 //*****************************************************************************
957 ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, const ALuint* sourceNames)
959 AL_VOID_FXN(alSourceRewindv(n, sourceNames));
963 //*****************************************************************************
964 // alSourceQueueBuffers
965 //*****************************************************************************
967 ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint sourceName, ALsizei n, const ALuint* buffers)
969 AL_VOID_FXN(alSourceQueueBuffers(sourceName, n, buffers));
973 //*****************************************************************************
974 // alSourceUnqueueBuffers
975 //*****************************************************************************
977 ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint sourceName, ALsizei n, ALuint* buffers)
979 AL_VOID_FXN(alSourceUnqueueBuffers(sourceName, n, buffers));