loader.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. #ifndef LOADER_H
  2. #define LOADER_H
  3. #ifdef _WIN32
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include "AL/al.h"
  7. #include "AL/alc.h"
  8. #include "AL/efx.h"
  9. #elif defined(__APPLE__) || defined(__APPLE_CC__)
  10. #include <stdlib.h>
  11. #include "AL/al.h"
  12. #include "AL/alc.h"
  13. #include "AL/efx.h"
  14. #else
  15. #include <stdlib.h>
  16. #include <stdio.h>
  17. #include "AL/al.h"
  18. #include "AL/alc.h"
  19. #include "AL/efx.h"
  20. #endif
  21. // Function declarations
  22. int al_load();
  23. ALCcontext* _alcCreateContext(ALCdevice *device, const ALCint* attrlist);
  24. ALCboolean _alcMakeContextCurrent(ALCcontext *context);
  25. void _alcProcessContext(ALCcontext *context);
  26. void _alcSuspendContext(ALCcontext *context);
  27. void _alcDestroyContext(ALCcontext *context);
  28. ALCcontext* _alcGetCurrentContext(void);
  29. ALCdevice* _alcGetContextsDevice(ALCcontext *context);
  30. ALCdevice* _alcOpenDevice(const ALCchar *devicename);
  31. ALCboolean _alcCloseDevice(ALCdevice *device);
  32. ALCenum _alcGetError(ALCdevice *device);
  33. ALCboolean _alcIsExtensionPresent(ALCdevice *device, const ALCchar *extname);
  34. void* _alcGetProcAddress(ALCdevice *device, const ALCchar *funcname);
  35. ALCenum _alcGetEnumValue(ALCdevice *device, const ALCchar *enumname);
  36. const ALCchar* _alcGetString(ALCdevice *device, ALCenum param);
  37. void _alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *values);
  38. ALCdevice* _alcCaptureOpenDevice(const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize);
  39. ALCboolean _alcCaptureCloseDevice(ALCdevice *device);
  40. void _alcCaptureStart(ALCdevice *device);
  41. void _alcCaptureStop(ALCdevice *device);
  42. void _alcCaptureSamples(ALCdevice *device, ALCvoid *buffer, ALCsizei samples);
  43. void _alEnable(ALenum capability);
  44. void _alDisable(ALenum capability);
  45. ALboolean _alIsEnabled(ALenum capability);
  46. const ALchar* _alGetString(ALenum param);
  47. void _alGetBooleanv(ALenum param, ALboolean *values);
  48. void _alGetIntegerv(ALenum param, ALint *values);
  49. void _alGetFloatv(ALenum param, ALfloat *values);
  50. void _alGetDoublev(ALenum param, ALdouble *values);
  51. ALboolean _alGetBoolean(ALenum param);
  52. ALint _alGetInteger(ALenum param);
  53. ALfloat _alGetFloat(ALenum param);
  54. ALdouble _alGetDouble(ALenum param);
  55. ALenum _alGetError(void);
  56. ALboolean _alIsExtensionPresent(const ALchar *extname);
  57. void* _alGetProcAddress(const ALchar *fname);
  58. ALenum _alGetEnumValue(const ALchar *ename);
  59. void _alListenerf(ALenum param, ALfloat value);
  60. void _alListener3f(ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
  61. void _alListenerfv(ALenum param, const ALfloat *values);
  62. void _alListeneri(ALenum param, ALint value);
  63. void _alListener3i(ALenum param, ALint value1, ALint value2, ALint value3);
  64. void _alListeneriv(ALenum param, const ALint *values);
  65. void _alGetListenerf(ALenum param, ALfloat *value);
  66. void _alGetListener3f(ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
  67. void _alGetListenerfv(ALenum param, ALfloat *values);
  68. void _alGetListeneri(ALenum param, ALint *value);
  69. void _alGetListener3i(ALenum param, ALint *value1, ALint *value2, ALint *value3);
  70. void _alGetListeneriv(ALenum param, ALint *values);
  71. void _alGenSources(ALsizei n, ALuint *sources);
  72. void _alDeleteSources(ALsizei n, const ALuint *sources);
  73. ALboolean _alIsSource(ALuint source);
  74. void _alSourcef(ALuint source, ALenum param, ALfloat value);
  75. void _alSource3f(ALuint source, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
  76. void _alSourcefv(ALuint source, ALenum param, const ALfloat *values);
  77. void _alSourcei(ALuint source, ALenum param, ALint value);
  78. void _alSource3i(ALuint source, ALenum param, ALint value1, ALint value2, ALint value3);
  79. void _alSourceiv(ALuint source, ALenum param, const ALint *values);
  80. void _alGetSourcef(ALuint source, ALenum param, ALfloat *value);
  81. void _alGetSource3f(ALuint source, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
  82. void _alGetSourcefv(ALuint source, ALenum param, ALfloat *values);
  83. void _alGetSourcei(ALuint source, ALenum param, ALint *value);
  84. void _alGetSource3i(ALuint source, ALenum param, ALint *value1, ALint *value2, ALint *value3);
  85. void _alGetSourceiv(ALuint source, ALenum param, ALint *values);
  86. void _alSourcePlayv(ALsizei n, const ALuint *sources);
  87. void _alSourceStopv(ALsizei n, const ALuint *sources);
  88. void _alSourceRewindv(ALsizei n, const ALuint *sources);
  89. void _alSourcePausev(ALsizei n, const ALuint *sources);
  90. void _alSourcePlay(ALuint source);
  91. void _alSourceStop(ALuint source);
  92. void _alSourceRewind(ALuint source);
  93. void _alSourcePause(ALuint source);
  94. void _alSourceQueueBuffers(ALuint source, ALsizei nb, const ALuint *buffers);
  95. void _alSourceUnqueueBuffers(ALuint source, ALsizei nb, ALuint *buffers);
  96. void _alGenBuffers(ALsizei n, ALuint *buffers);
  97. void _alDeleteBuffers(ALsizei n, const ALuint *buffers);
  98. ALboolean _alIsBuffer(ALuint buffer);
  99. void _alBufferData(ALuint buffer, ALenum format, const ALvoid *data, ALsizei size, ALsizei freq);
  100. void _alBufferf(ALuint buffer, ALenum param, ALfloat value);
  101. void _alBuffer3f(ALuint buffer, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3);
  102. void _alBufferfv(ALuint buffer, ALenum param, const ALfloat *values);
  103. void _alBufferi(ALuint buffer, ALenum param, ALint value);
  104. void _alBuffer3i(ALuint buffer, ALenum param, ALint value1, ALint value2, ALint value3);
  105. void _alBufferiv(ALuint buffer, ALenum param, const ALint *values);
  106. void _alGetBufferf(ALuint buffer, ALenum param, ALfloat *value);
  107. void _alGetBuffer3f(ALuint buffer, ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3);
  108. void _alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values);
  109. void _alGetBufferi(ALuint buffer, ALenum param, ALint *value);
  110. void _alGetBuffer3i(ALuint buffer, ALenum param, ALint *value1, ALint *value2, ALint *value3);
  111. void _alGetBufferiv(ALuint buffer, ALenum param, ALint *values);
  112. // Function pointers declarations
  113. extern LPALENABLE palEnable;
  114. extern LPALDISABLE palDisable;
  115. extern LPALISENABLED palIsEnabled;
  116. extern LPALGETSTRING palGetString;
  117. extern LPALGETBOOLEANV palGetBooleanv;
  118. extern LPALGETINTEGERV palGetIntegerv;
  119. extern LPALGETFLOATV palGetFloatv;
  120. extern LPALGETDOUBLEV palGetDoublev;
  121. extern LPALGETBOOLEAN palGetBoolean;
  122. extern LPALGETINTEGER palGetInteger;
  123. extern LPALGETFLOAT palGetFloat;
  124. extern LPALGETDOUBLE palGetDouble;
  125. extern LPALGETERROR palGetError;
  126. extern LPALISEXTENSIONPRESENT palIsExtensionPresent;
  127. extern LPALGETPROCADDRESS palGetProcAddress;
  128. extern LPALGETENUMVALUE palGetEnumValue;
  129. extern LPALLISTENERF palListenerf;
  130. extern LPALLISTENER3F palListener3f;
  131. extern LPALLISTENERFV palListenerfv;
  132. extern LPALLISTENERI palListeneri;
  133. extern LPALLISTENER3I palListener3i;
  134. extern LPALLISTENERIV palListeneriv;
  135. extern LPALGETLISTENERF palGetListenerf;
  136. extern LPALGETLISTENER3F palGetListener3f;
  137. extern LPALGETLISTENERFV palGetListenerfv;
  138. extern LPALGETLISTENERI palGetListeneri;
  139. extern LPALGETLISTENER3I palGetListener3i;
  140. extern LPALGETLISTENERIV palGetListeneriv;
  141. extern LPALGENSOURCES palGenSources;
  142. extern LPALDELETESOURCES palDeleteSources;
  143. extern LPALISSOURCE palIsSource;
  144. extern LPALSOURCEF palSourcef;
  145. extern LPALSOURCE3F palSource3f;
  146. extern LPALSOURCEFV palSourcefv;
  147. extern LPALSOURCEI palSourcei;
  148. extern LPALSOURCE3I palSource3i;
  149. extern LPALSOURCEIV palSourceiv;
  150. extern LPALGETSOURCEF palGetSourcef;
  151. extern LPALGETSOURCE3F palGetSource3f;
  152. extern LPALGETSOURCEFV palGetSourcefv;
  153. extern LPALGETSOURCEI palGetSourcei;
  154. extern LPALGETSOURCE3I palGetSource3i;
  155. extern LPALGETSOURCEIV palGetSourceiv;
  156. extern LPALSOURCEPLAYV palSourcePlayv;
  157. extern LPALSOURCESTOPV palSourceStopv;
  158. extern LPALSOURCEREWINDV palSourceRewindv;
  159. extern LPALSOURCEPAUSEV palSourcePausev;
  160. extern LPALSOURCEPLAY palSourcePlay;
  161. extern LPALSOURCESTOP palSourceStop;
  162. extern LPALSOURCEREWIND palSourceRewind;
  163. extern LPALSOURCEPAUSE palSourcePause;
  164. extern LPALSOURCEQUEUEBUFFERS palSourceQueueBuffers;
  165. extern LPALSOURCEUNQUEUEBUFFERS palSourceUnqueueBuffers;
  166. extern LPALGENBUFFERS palGenBuffers;
  167. extern LPALDELETEBUFFERS palDeleteBuffers;
  168. extern LPALISBUFFER palIsBuffer;
  169. extern LPALBUFFERDATA palBufferData;
  170. extern LPALBUFFERF palBufferf;
  171. extern LPALBUFFER3F palBuffer3f;
  172. extern LPALBUFFERFV palBufferfv;
  173. extern LPALBUFFERI palBufferi;
  174. extern LPALBUFFER3I palBuffer3i;
  175. extern LPALBUFFERIV palBufferiv;
  176. extern LPALGETBUFFERF palGetBufferf;
  177. extern LPALGETBUFFER3F palGetBuffer3f;
  178. extern LPALGETBUFFERFV palGetBufferfv;
  179. extern LPALGETBUFFERI palGetBufferi;
  180. extern LPALGETBUFFER3I palGetBuffer3i;
  181. extern LPALGETBUFFERIV palGetBufferiv;
  182. extern LPALDOPPLERFACTOR palDopplerFactor;
  183. extern LPALDOPPLERVELOCITY palDopplerVelocity;
  184. extern LPALSPEEDOFSOUND palSpeedOfSound;
  185. extern LPALDISTANCEMODEL palDistanceModel;
  186. extern LPALCCREATECONTEXT palcCreateContext;
  187. extern LPALCMAKECONTEXTCURRENT palcMakeContextCurrent;
  188. extern LPALCPROCESSCONTEXT palcProcessContext;
  189. extern LPALCSUSPENDCONTEXT palcSuspendContext;
  190. extern LPALCDESTROYCONTEXT palcDestroyContext;
  191. extern LPALCGETCURRENTCONTEXT palcGetCurrentContext;
  192. extern LPALCGETCONTEXTSDEVICE palcGetContextsDevice;
  193. extern LPALCOPENDEVICE palcOpenDevice;
  194. extern LPALCCLOSEDEVICE palcCloseDevice;
  195. extern LPALCGETERROR palcGetError;
  196. extern LPALCISEXTENSIONPRESENT palcIsExtensionPresent;
  197. extern LPALCGETPROCADDRESS palcGetProcAddress;
  198. extern LPALCGETENUMVALUE palcGetEnumValue;
  199. extern LPALCGETSTRING palcGetString;
  200. extern LPALCGETINTEGERV palcGetIntegerv;
  201. extern LPALCCAPTUREOPENDEVICE palcCaptureOpenDevice;
  202. extern LPALCCAPTURECLOSEDEVICE palcCaptureCloseDevice;
  203. extern LPALCCAPTURESTART palcCaptureStart;
  204. extern LPALCCAPTURESTOP palcCaptureStop;
  205. extern LPALCCAPTURESAMPLES palcCaptureSamples;
  206. // EFX extension
  207. extern LPALGENEFFECTS palGenEffects;
  208. extern LPALDELETEEFFECTS palDeleteEffects;
  209. extern LPALISEFFECT palIsEffect;
  210. extern LPALEFFECTI palEffecti;
  211. extern LPALEFFECTIV palEffectiv;
  212. extern LPALEFFECTF palEffectf;
  213. extern LPALEFFECTFV palEffectfv;
  214. extern LPALGETEFFECTI palGetEffecti;
  215. extern LPALGETEFFECTIV palGetEffectiv;
  216. extern LPALGETEFFECTF palGetEffectf;
  217. extern LPALGETEFFECTFV palGetEffectfv;
  218. extern LPALGENFILTERS palGenFilters;
  219. extern LPALDELETEFILTERS palDeleteFilters;
  220. extern LPALISFILTER palIsFilter;
  221. extern LPALFILTERI palFilteri;
  222. extern LPALFILTERIV palFilteriv;
  223. extern LPALFILTERF palFilterf;
  224. extern LPALFILTERFV palFilterfv;
  225. extern LPALGETFILTERI palGetFilteri;
  226. extern LPALGETFILTERIV palGetFilteriv;
  227. extern LPALGETFILTERF palGetFilterf;
  228. extern LPALGETFILTERFV palGetFilterfv;
  229. extern LPALGENAUXILIARYEFFECTSLOTS palGenAuxiliaryEffectSlos;
  230. extern LPALDELETEAUXILIARYEFFECTSLOTS palDeleteAuxiliaryEffectSlots;
  231. extern LPALISAUXILIARYEFFECTSLOT palIsAuxiliaryEffectSlot;
  232. extern LPALAUXILIARYEFFECTSLOTI palAuxiliaryEffectSloti;
  233. extern LPALAUXILIARYEFFECTSLOTIV palAuxiliaryEffectSlotiv;
  234. extern LPALAUXILIARYEFFECTSLOTF palAuxiliaryEffectSlotf;
  235. extern LPALAUXILIARYEFFECTSLOTFV palAuxiliaryEffectSlotfv;
  236. extern LPALGETAUXILIARYEFFECTSLOTI palGetAuxiliaryEffectSloti;
  237. extern LPALGETAUXILIARYEFFECTSLOTIV palGetAuxiliaryEffectSlotif;
  238. extern LPALGETAUXILIARYEFFECTSLOTF palGetAuxiliaryEffectSlotf;
  239. extern LPALGETAUXILIARYEFFECTSLOTFV palGetAuxiliaryEffectSlotfv;
  240. #endif