1 // on win32 and mac, pointer typedefs only happen with AL_NO_PROTOTYPES 2 // on mac, ALC_NO_PROTOTYPES as well 3 4 #define AL_NO_PROTOTYPES 1 5 6 // on mac, alc pointer typedefs ony happen for ALC if ALC_NO_PROTOTYPES 7 // unfortunately, there is a bug in the system headers (use of ALCvoid when 8 // void should be used; shame on Apple for introducing this error, and shame 9 // on Creative for making a typedef to void in the first place) 10 //#define ALC_NO_PROTOTYPES 1 11 12 #include <al.h> 13 #include <alc.h> 14 15 // since the ALC typedefs are broken on Mac: 16 17 #ifdef __WXMAC__ 18 typedef ALCcontext* (ALC_APIENTRY* LPALCCREATECONTEXT)(ALCdevice* device, const ALCint* attrlist); 19 typedef ALCboolean(ALC_APIENTRY* LPALCMAKECONTEXTCURRENT)(ALCcontext* context); 20 typedef void (ALC_APIENTRY* LPALCDESTROYCONTEXT)(ALCcontext* context); 21 typedef ALCdevice* (ALC_APIENTRY* LPALCOPENDEVICE)(const ALCchar* devicename); 22 typedef ALCboolean(ALC_APIENTRY* LPALCCLOSEDEVICE)(ALCdevice* device); 23 typedef ALCboolean(ALC_APIENTRY* LPALCISEXTENSIONPRESENT)(ALCdevice* device, const ALCchar* extname); 24 typedef const ALCchar* (ALC_APIENTRY* LPALCGETSTRING)(ALCdevice* device, ALCenum param); 25 #endif 26 27 // no more use of copyrighted OpenAL code just to load the stupid library 28 struct OPENALFNTABLE 29 { 30 //LPALENABLE alEnable; 31 //LPALDISABLE alDisable; 32 //LPALISENABLED alIsEnabled; 33 //LPALGETSTRING alGetString; 34 //LPALGETBOOLEANV alGetBooleanv; 35 //LPALGETINTEGERV alGetIntegerv; 36 //LPALGETFLOATV alGetFloatv; 37 //LPALGETDOUBLEV alGetDoublev; 38 //LPALGETBOOLEAN alGetBoolean; 39 //LPALGETINTEGER alGetInteger; 40 //LPALGETFLOAT alGetFloat; 41 //LPALGETDOUBLE alGetDouble; 42 LPALGETERROR alGetError; 43 LPALISEXTENSIONPRESENT alIsExtensionPresent; 44 //LPALGETPROCADDRESS alGetProcAddress; 45 //LPALGETENUMVALUE alGetEnumValue; 46 //LPALLISTENERF alListenerf; 47 //LPALLISTENER3F alListener3f; 48 //LPALLISTENERFV alListenerfv; 49 //LPALLISTENERI alListeneri; 50 //LPALLISTENER3I alListener3i; 51 //LPALLISTENERIV alListeneriv; 52 //LPALGETLISTENERF alGetListenerf; 53 //LPALGETLISTENER3F alGetListener3f; 54 //LPALGETLISTENERFV alGetListenerfv; 55 //LPALGETLISTENERI alGetListeneri; 56 //LPALGETLISTENER3I alGetListener3i; 57 //LPALGETLISTENERIV alGetListeneriv; 58 LPALGENSOURCES alGenSources; 59 LPALDELETESOURCES alDeleteSources; 60 //LPALISSOURCE alIsSource; 61 //LPALSOURCEF alSourcef; 62 //LPALSOURCE3F alSource3f; 63 //LPALSOURCEFV alSourcefv; 64 LPALSOURCEI alSourcei; 65 //LPALSOURCE3I alSource3i; 66 //LPALSOURCEIV alSourceiv; 67 //LPALGETSOURCEF alGetSourcef; 68 //LPALGETSOURCE3F alGetSource3f; 69 //LPALGETSOURCEFV alGetSourcefv; 70 LPALGETSOURCEI alGetSourcei; 71 //LPALGETSOURCE3I alGetSource3i; 72 //LPALGETSOURCEIV alGetSourceiv; 73 //LPALSOURCEPLAYV alSourcePlayv; 74 //LPALSOURCESTOPV alSourceStopv; 75 //LPALSOURCEREWINDV alSourceRewindv; 76 //LPALSOURCEPAUSEV alSourcePausev; 77 LPALSOURCEPLAY alSourcePlay; 78 LPALSOURCESTOP alSourceStop; 79 //LPALSOURCEREWIND alSourceRewind; 80 LPALSOURCEPAUSE alSourcePause; 81 LPALSOURCEQUEUEBUFFERS alSourceQueueBuffers; 82 LPALSOURCEUNQUEUEBUFFERS alSourceUnqueueBuffers; 83 LPALGENBUFFERS alGenBuffers; 84 LPALDELETEBUFFERS alDeleteBuffers; 85 //LPALISBUFFER alIsBuffer; 86 LPALBUFFERDATA alBufferData; 87 //LPALBUFFERF alBufferf; 88 //LPALBUFFER3F alBuffer3f; 89 //LPALBUFFERFV alBufferfv; 90 //LPALBUFFERI alBufferi; 91 //LPALBUFFER3I alBuffer3i; 92 //LPALBUFFERIV alBufferiv; 93 //LPALGETBUFFERF alGetBufferf; 94 //LPALGETBUFFER3F alGetBuffer3f; 95 //LPALGETBUFFERFV alGetBufferfv; 96 //LPALGETBUFFERI alGetBufferi; 97 //LPALGETBUFFER3I alGetBuffer3i; 98 //LPALGETBUFFERIV alGetBufferiv; 99 //LPALDOPPLERFACTOR alDopplerFactor; 100 //LPALDOPPLERVELOCITY alDopplerVelocity; 101 //LPALSPEEDOFSOUND alSpeedOfSound; 102 //LPALDISTANCEMODEL alDistanceModel; 103 104 LPALCCREATECONTEXT alcCreateContext; 105 LPALCMAKECONTEXTCURRENT alcMakeContextCurrent; 106 //LPALCPROCESSCONTEXT alcProcessContext; 107 //LPALCSUSPENDCONTEXT alcSuspendContext; 108 LPALCDESTROYCONTEXT alcDestroyContext; 109 //LPALCGETCURRENTCONTEXT alcGetCurrentContext; 110 //LPALCGETCONTEXTSDEVICE alcGetContextsDevice; 111 LPALCOPENDEVICE alcOpenDevice; 112 LPALCCLOSEDEVICE alcCloseDevice; 113 //LPALCGETERROR alcGetError; 114 LPALCISEXTENSIONPRESENT alcIsExtensionPresent; 115 //LPALCGETPROCADDRESS alcGetProcAddress; 116 //LPALCGETENUMVALUE alcGetEnumValue; 117 LPALCGETSTRING alcGetString; 118 //LPALCGETINTEGERV alcGetIntegerv; 119 //LPALCCAPTUREOPENDEVICE alcCaptureOpenDevice; 120 //LPALCCAPTURECLOSEDEVICE alcCaptureCloseDevice; 121 //LPALCCAPTURESTART alcCaptureStart; 122 //LPALCCAPTURESTOP alcCaptureStop; 123 //LPALCCAPTURESAMPLES alcCaptureSamples; 124 }; 125