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
27 typedef struct ALfunction_struct
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 //*****************************************************************************
115 //*****************************************************************************
116 //*****************************************************************************
121 #define AL_VOID_FXN(fxn) \
122 ALCcontext* context; \
124 alListAcquireLock(alContextList); \
125 if(!alCurrentContext) \
127 alListReleaseLock(alContextList); \
131 context = alCurrentContext; \
132 EnterCriticalSection(&context->Lock); \
133 alListReleaseLock(alContextList); \
135 context->AlApi.fxn; \
136 LeaveCriticalSection(&context->Lock); \
138 #define AL_RESULT_FXN(fxn, resultType, resultDefVal) \
139 resultType result = resultDefVal; \
140 ALCcontext* context; \
142 alListAcquireLock(alContextList); \
143 if(!alCurrentContext) \
145 alListReleaseLock(alContextList); \
149 context = alCurrentContext; \
150 EnterCriticalSection(&context->Lock); \
151 alListReleaseLock(alContextList); \
153 result = context->AlApi.fxn; \
154 LeaveCriticalSection(&context->Lock); \
158 #define AL_RESULT_FXN(fxn, resultType, resultDefVal) \
159 resultType result = resultDefVal; \
160 ALCcontext* context; \
162 alListAcquireLock(alContextList); \
163 if(!alCurrentContext) \
165 alListReleaseLock(alContextList); \
169 context = alCurrentContext; \
170 EnterCriticalSection(&context->Lock); \
171 alListReleaseLock(alContextList); \
173 result = context->AlApi.##fxn; \
174 LeaveCriticalSection(&context->Lock); \
177 #define AL_VOID_FXN(fxn) \
178 ALCcontext* context; \
180 alListAcquireLock(alContextList); \
181 if(!alCurrentContext) \
183 alListReleaseLock(alContextList); \
187 context = alCurrentContext; \
188 EnterCriticalSection(&context->Lock); \
189 alListReleaseLock(alContextList); \
191 context->AlApi.##fxn; \
192 LeaveCriticalSection(&context->Lock); \
197 //*****************************************************************************
198 //*****************************************************************************
200 // AL API Buffer Entry Points
202 //*****************************************************************************
203 //*****************************************************************************
205 //*****************************************************************************
207 //*****************************************************************************
209 ALAPI ALvoid ALAPIENTRY
alGenBuffers(ALsizei n
, ALuint
* bufferNames
)
211 AL_VOID_FXN(alGenBuffers(n
, bufferNames
));
215 //*****************************************************************************
217 //*****************************************************************************
219 ALAPI ALvoid ALAPIENTRY
alDeleteBuffers(ALsizei n
, const ALuint
* bufferNames
)
221 AL_VOID_FXN(alDeleteBuffers(n
, bufferNames
));
225 //*****************************************************************************
227 //*****************************************************************************
229 ALAPI ALboolean ALAPIENTRY
alIsBuffer(ALuint bufferName
)
231 AL_RESULT_FXN(alIsBuffer(bufferName
), ALboolean
, AL_FALSE
);
234 //*****************************************************************************
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 //*****************************************************************************
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 //*****************************************************************************
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 //*****************************************************************************
265 //*****************************************************************************
267 ALAPI ALvoid ALAPIENTRY
alBufferf(ALuint bufferName
, ALenum param
, ALfloat value
)
269 AL_VOID_FXN(alBufferf(bufferName
, param
, value
));
273 //*****************************************************************************
275 //*****************************************************************************
277 ALAPI ALvoid ALAPIENTRY
alBufferfv(ALuint bufferName
, ALenum param
, const ALfloat
* values
)
279 AL_VOID_FXN(alBufferfv(bufferName
, param
, values
));
283 //*****************************************************************************
285 //*****************************************************************************
287 ALAPI ALvoid ALAPIENTRY
alBufferi(ALuint bufferName
, ALenum param
, ALint value
)
289 AL_VOID_FXN(alBufferi(bufferName
, param
, value
));
293 //*****************************************************************************
295 //*****************************************************************************
297 ALAPI ALvoid ALAPIENTRY
alBufferiv(ALuint bufferName
, ALenum param
, const ALint
* values
)
299 AL_VOID_FXN(alBufferiv(bufferName
, param
, values
));
302 //*****************************************************************************
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 //*****************************************************************************
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 //*****************************************************************************
322 //*****************************************************************************
324 ALAPI ALvoid ALAPIENTRY
alGetBufferf(ALuint bufferName
, ALenum param
, ALfloat
* value
)
326 AL_VOID_FXN(alGetBufferf(bufferName
, param
, value
));
329 //*****************************************************************************
331 //*****************************************************************************
333 ALAPI ALvoid ALAPIENTRY
alGetBufferfv(ALuint bufferName
, ALenum param
, ALfloat
* values
)
335 AL_VOID_FXN(alGetBufferfv(bufferName
, param
, values
));
339 //*****************************************************************************
341 //*****************************************************************************
343 ALAPI ALvoid ALAPIENTRY
alGetBufferi(ALuint bufferName
, ALenum param
, ALint
* value
)
345 AL_VOID_FXN(alGetBufferi(bufferName
, param
, value
));
348 //*****************************************************************************
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 //*****************************************************************************
368 //*****************************************************************************
370 ALAPI ALvoid ALAPIENTRY
alEnable(ALenum capability
)
372 AL_VOID_FXN(alEnable(capability
));
376 //*****************************************************************************
378 //*****************************************************************************
380 ALAPI ALvoid ALAPIENTRY
alDisable(ALenum capability
)
382 AL_VOID_FXN(alDisable(capability
));
386 //*****************************************************************************
388 //*****************************************************************************
390 ALAPI ALvoid ALAPIENTRY
alDopplerFactor(ALfloat value
)
392 AL_VOID_FXN(alDopplerFactor(value
));
396 //*****************************************************************************
398 //*****************************************************************************
400 ALAPI ALvoid ALAPIENTRY
alDopplerVelocity(ALfloat value
)
402 AL_VOID_FXN(alDopplerVelocity(value
));
406 //*****************************************************************************
408 //*****************************************************************************
410 ALAPI ALvoid ALAPIENTRY
alSpeedOfSound(ALfloat value
)
414 alListAcquireLock(alContextList
);
415 if(!alCurrentContext
)
417 alListReleaseLock(alContextList
);
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
);
433 //*****************************************************************************
435 //*****************************************************************************
437 ALAPI ALvoid ALAPIENTRY
alDistanceModel(ALenum value
)
439 AL_VOID_FXN(alDistanceModel(value
));
443 //*****************************************************************************
445 //*****************************************************************************
447 ALAPI ALboolean ALAPIENTRY
alGetBoolean(ALenum param
)
449 AL_RESULT_FXN(alGetBoolean(param
), ALboolean
, AL_FALSE
);
453 //*****************************************************************************
455 //*****************************************************************************
457 ALAPI ALvoid ALAPIENTRY
alGetBooleanv(ALenum param
, ALboolean
* data
)
459 AL_VOID_FXN(alGetBooleanv(param
, data
));
463 //*****************************************************************************
465 //*****************************************************************************
467 ALAPI ALdouble ALAPIENTRY
alGetDouble(ALenum param
)
469 AL_RESULT_FXN(alGetDouble(param
), ALdouble
, 0.0);
473 //*****************************************************************************
475 //*****************************************************************************
477 ALAPI ALvoid ALAPIENTRY
alGetDoublev(ALenum param
, ALdouble
* data
)
479 AL_VOID_FXN(alGetDoublev(param
, data
));
482 //*****************************************************************************
484 //*****************************************************************************
486 ALAPI ALfloat ALAPIENTRY
alGetFloat(ALenum param
)
488 AL_RESULT_FXN(alGetFloat(param
), ALfloat
, 0.0f
);
492 //*****************************************************************************
494 //*****************************************************************************
496 ALAPI ALvoid ALAPIENTRY
alGetFloatv(ALenum param
, ALfloat
* data
)
498 AL_VOID_FXN(alGetFloatv(param
, data
));
502 //*****************************************************************************
504 //*****************************************************************************
506 ALAPI ALint ALAPIENTRY
alGetInteger(ALenum param
)
508 AL_RESULT_FXN(alGetInteger(param
), ALint
, 0);
512 //*****************************************************************************
514 //*****************************************************************************
516 ALAPI ALvoid ALAPIENTRY
alGetIntegerv(ALenum param
, ALint
* data
)
518 AL_VOID_FXN(alGetIntegerv(param
, data
));
522 //*****************************************************************************
524 //*****************************************************************************
526 ALAPI ALenum ALAPIENTRY
alGetEnumValue(const ALCchar
* ename
)
528 AL_RESULT_FXN(alGetEnumValue(ename
), ALenum
, AL_INVALID_ENUM
);
532 //*****************************************************************************
534 //*****************************************************************************
536 ALAPI ALenum ALAPIENTRY
alGetError(ALvoid
)
538 AL_RESULT_FXN(alGetError(), ALenum
, AL_NO_ERROR
);
542 //*****************************************************************************
544 //*****************************************************************************
546 ALAPI ALvoid
* ALAPIENTRY
alGetProcAddress(const ALCchar
* fname
)
548 // return router's address if available
552 while ((function
[i
].funcName
)&&(strcmp((char *)function
[i
].funcName
,(char *)fname
)))
554 pAddress
= function
[i
].address
;
556 if (pAddress
!= NULL
) {
560 // router doesn't have this entry point, so go to the device...
561 AL_RESULT_FXN(alGetProcAddress(fname
), ALvoid
*, 0);
567 //*****************************************************************************
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 //*****************************************************************************
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 //*****************************************************************************
608 //*****************************************************************************
610 ALAPI ALvoid ALAPIENTRY
alListenerf(ALenum param
, ALfloat value
)
612 AL_VOID_FXN(alListenerf(param
, value
));
616 //*****************************************************************************
618 //*****************************************************************************
620 ALAPI ALvoid ALAPIENTRY
alListener3f(ALenum param
, ALfloat v1
, ALfloat v2
, ALfloat v3
)
622 AL_VOID_FXN(alListener3f(param
, v1
, v2
, v3
));
626 //*****************************************************************************
628 //*****************************************************************************
630 ALAPI ALvoid ALAPIENTRY
alListener3i(ALenum param
, ALint v1
, ALint v2
, ALint v3
)
632 AL_VOID_FXN(alListener3i(param
, v1
, v2
, v3
));
636 //*****************************************************************************
638 //*****************************************************************************
640 ALAPI ALvoid ALAPIENTRY
alListenerfv(ALenum param
, const ALfloat
* values
)
642 AL_VOID_FXN(alListenerfv(param
, values
));
646 //*****************************************************************************
648 //*****************************************************************************
650 ALAPI ALvoid ALAPIENTRY
alListeneri(ALenum param
, ALint value
)
652 AL_VOID_FXN(alListeneri(param
, value
));
656 //*****************************************************************************
658 //*****************************************************************************
660 ALAPI ALvoid ALAPIENTRY
alListeneriv(ALenum param
, const ALint
*values
)
662 AL_VOID_FXN(alListeneriv(param
, values
));
666 //*****************************************************************************
668 //*****************************************************************************
670 ALAPI ALvoid ALAPIENTRY
alGetListenerf(ALenum param
, ALfloat
* value
)
672 AL_VOID_FXN(alGetListenerf(param
, value
));
676 //*****************************************************************************
678 //*****************************************************************************
680 ALAPI ALvoid ALAPIENTRY
alGetListener3f(ALenum param
, ALfloat
* v1
, ALfloat
* v2
, ALfloat
* v3
)
682 AL_VOID_FXN(alGetListener3f(param
, v1
, v2
, v3
));
686 //*****************************************************************************
688 //*****************************************************************************
690 ALAPI ALvoid ALAPIENTRY
alGetListener3i(ALenum param
, ALint
* v1
, ALint
* v2
, ALint
* v3
)
692 AL_VOID_FXN(alGetListener3i(param
, v1
, v2
, v3
));
696 //*****************************************************************************
698 //*****************************************************************************
700 ALAPI ALvoid ALAPIENTRY
alGetListenerfv(ALenum param
, ALfloat
* values
)
702 AL_VOID_FXN(alGetListenerfv(param
, values
));
706 //*****************************************************************************
708 //*****************************************************************************
710 ALAPI ALvoid ALAPIENTRY
alGetListeneri(ALenum param
, ALint
* value
)
712 AL_VOID_FXN(alGetListeneri(param
, value
));
716 //*****************************************************************************
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 //*****************************************************************************
737 //*****************************************************************************
739 ALAPI ALvoid ALAPIENTRY
alGenSources(ALsizei n
, ALuint
* sourceNames
)
741 AL_VOID_FXN(alGenSources(n
, sourceNames
));
745 //*****************************************************************************
747 //*****************************************************************************
749 ALAPI ALvoid ALAPIENTRY
alDeleteSources(ALsizei n
, const ALuint
* sourceNames
)
751 AL_VOID_FXN(alDeleteSources(n
, sourceNames
));
755 //*****************************************************************************
757 //*****************************************************************************
759 ALAPI ALboolean ALAPIENTRY
alIsSource(ALuint sourceName
)
761 AL_RESULT_FXN(alIsSource(sourceName
), ALboolean
, AL_FALSE
);
765 //*****************************************************************************
767 //*****************************************************************************
769 ALAPI ALvoid ALAPIENTRY
alSourcef(ALuint sourceName
, ALenum param
, ALfloat value
)
771 AL_VOID_FXN(alSourcef(sourceName
, param
, value
));
775 //*****************************************************************************
777 //*****************************************************************************
779 ALAPI ALvoid ALAPIENTRY
alSourcefv(ALuint sourceName
, ALenum param
, const ALfloat
* values
)
781 AL_VOID_FXN(alSourcefv(sourceName
, param
, values
));
785 //*****************************************************************************
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 //*****************************************************************************
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 //*****************************************************************************
807 //*****************************************************************************
809 ALAPI ALvoid ALAPIENTRY
alSourcei(ALuint sourceName
, ALenum param
, ALint value
)
811 AL_VOID_FXN(alSourcei(sourceName
, param
, value
));
814 //*****************************************************************************
816 //*****************************************************************************
818 ALAPI ALvoid ALAPIENTRY
alSourceiv(ALuint sourceName
, ALenum param
, const ALint
* values
)
820 AL_VOID_FXN(alSourceiv(sourceName
, param
, values
));
824 //*****************************************************************************
826 //*****************************************************************************
828 ALAPI ALvoid ALAPIENTRY
alGetSourcef(ALuint sourceName
, ALenum param
, ALfloat
* value
)
830 AL_VOID_FXN(alGetSourcef(sourceName
, param
, value
));
833 //*****************************************************************************
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 //*****************************************************************************
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 //*****************************************************************************
855 //*****************************************************************************
857 ALAPI ALvoid ALAPIENTRY
alGetSourcefv(ALuint sourceName
, ALenum param
, ALfloat
* values
)
859 AL_VOID_FXN(alGetSourcefv(sourceName
, param
, values
));
863 //*****************************************************************************
865 //*****************************************************************************
867 ALAPI ALvoid ALAPIENTRY
alGetSourcei(ALuint sourceName
, ALenum param
, ALint
* value
)
869 AL_VOID_FXN(alGetSourcei(sourceName
, param
, value
));
873 //*****************************************************************************
875 //*****************************************************************************
877 ALAPI ALvoid ALAPIENTRY
alGetSourceiv(ALuint sourceName
, ALenum param
, ALint
* values
)
879 AL_VOID_FXN(alGetSourceiv(sourceName
, param
, values
));
883 //*****************************************************************************
885 //*****************************************************************************
887 ALAPI ALvoid ALAPIENTRY
alSourcePlay(ALuint sourceName
)
889 AL_VOID_FXN(alSourcePlay(sourceName
));
893 //*****************************************************************************
895 //*****************************************************************************
897 ALAPI ALvoid ALAPIENTRY
alSourcePlayv(ALsizei n
, const ALuint
* sourceNames
)
899 AL_VOID_FXN(alSourcePlayv(n
, sourceNames
));
903 //*****************************************************************************
905 //*****************************************************************************
907 ALAPI ALvoid ALAPIENTRY
alSourcePause(ALuint sourceName
)
909 AL_VOID_FXN(alSourcePause(sourceName
));
913 //*****************************************************************************
915 //*****************************************************************************
917 ALAPI ALvoid ALAPIENTRY
alSourcePausev(ALsizei n
, const ALuint
* sourceNames
)
919 AL_VOID_FXN(alSourcePausev(n
, sourceNames
));
923 //*****************************************************************************
925 //*****************************************************************************
927 ALAPI ALvoid ALAPIENTRY
alSourceStop(ALuint sourceName
)
929 AL_VOID_FXN(alSourceStop(sourceName
));
933 //*****************************************************************************
935 //*****************************************************************************
937 ALAPI ALvoid ALAPIENTRY
alSourceStopv(ALsizei n
, const ALuint
* sourceNames
)
939 AL_VOID_FXN(alSourceStopv(n
, sourceNames
));
943 //*****************************************************************************
945 //*****************************************************************************
947 ALAPI ALvoid ALAPIENTRY
alSourceRewind(ALuint sourceName
)
949 AL_VOID_FXN(alSourceRewind(sourceName
));
953 //*****************************************************************************
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
));