• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

src/audio/src/OALFramework/Framework.h

Go to the documentation of this file.
00001 #ifndef _FRAMEWORK_H_ // Win32 version
00002 #define _FRAMEWORK_H_
00003 
00004 // Get some classic includes
00005 /*#include <REAL.h>
00006 #include <Windows.h>
00007 #include <stdio.h>
00008 #include <io.h>
00009 #include <fcntl.h>
00010 #include <conio.h>
00011 #if defined(_MSC_VER)
00012 #include <al.h>
00013 #include <alc.h>
00014 #include <efx.h>
00015 #include <efx-creative.h>
00016 #include <xram.h>
00017 #elif defined(__APPLE__)
00018 #include <OpenAL/alc.h>
00019 #include <OpenAL/al.h>
00020 #include <OpenAL/efx.h>
00021 #include <OpenAL/xram.h>
00022 #else
00023 #include <AL/al.h>
00024 #include <AL/alc.h>
00025 #include <AL/efx.h>
00026 #include <AL/xram.h>
00027 #endif*/
00028 
00029 // Initialization and shutdown
00030 void ALFWInit(int maxSounds);
00031 void ALFWUninit(void);
00032 void ALFWShutdown();
00033 
00034 // OpenAL initialization and shutdown
00035 ALboolean ALFWInitOpenAL();
00036 ALboolean ALFWShutdownOpenAL();
00037 
00038 // File loading functions
00039 ALboolean ALFWLoadWaveToBuffer(const rchar *szWaveFile, ALuint uiBufferID, ALenum eXRAMBufferMode = 0);
00040 
00041 // Extension Queries 
00042 ALboolean ALFWIsXRAMSupported();
00043 ALboolean ALFWIsEFXSupported();
00044 
00045 
00046 // Utilities
00047 //ALvoid ALFWprintf( const ALchar * x, ... );
00048 //ALchar *ALFWaddMediaPath(const ALchar *filename);
00049 //ALint ALFWKeyPress(void);
00050 
00051 // EFX Extension function pointer variables
00052 
00053 // Effect objects
00054 extern LPALGENEFFECTS alGenEffects;
00055 extern LPALDELETEEFFECTS alDeleteEffects;
00056 extern LPALISEFFECT alIsEffect;
00057 extern LPALEFFECTI alEffecti;
00058 extern LPALEFFECTIV alEffectiv;
00059 extern LPALEFFECTF alEffectf;
00060 extern LPALEFFECTFV alEffectfv;
00061 extern LPALGETEFFECTI alGetEffecti;
00062 extern LPALGETEFFECTIV alGetEffectiv;
00063 extern LPALGETEFFECTF alGetEffectf;
00064 extern LPALGETEFFECTFV alGetEffectfv;
00065 
00066 // Filter objects
00067 extern LPALGENFILTERS alGenFilters;
00068 extern LPALDELETEFILTERS alDeleteFilters;
00069 extern LPALISFILTER alIsFilter;
00070 extern LPALFILTERI alFilteri;
00071 extern LPALFILTERIV alFilteriv;
00072 extern LPALFILTERF alFilterf;
00073 extern LPALFILTERFV alFilterfv;
00074 extern LPALGETFILTERI alGetFilteri;
00075 extern LPALGETFILTERIV alGetFilteriv;
00076 extern LPALGETFILTERF alGetFilterf;
00077 extern LPALGETFILTERFV alGetFilterfv;
00078 
00079 // Auxiliary slot object
00080 extern LPALGENAUXILIARYEFFECTSLOTS alGenAuxiliaryEffectSlots;
00081 extern LPALDELETEAUXILIARYEFFECTSLOTS alDeleteAuxiliaryEffectSlots;
00082 extern LPALISAUXILIARYEFFECTSLOT alIsAuxiliaryEffectSlot;
00083 extern LPALAUXILIARYEFFECTSLOTI alAuxiliaryEffectSloti;
00084 extern LPALAUXILIARYEFFECTSLOTIV alAuxiliaryEffectSlotiv;
00085 extern LPALAUXILIARYEFFECTSLOTF alAuxiliaryEffectSlotf;
00086 extern LPALAUXILIARYEFFECTSLOTFV alAuxiliaryEffectSlotfv;
00087 extern LPALGETAUXILIARYEFFECTSLOTI alGetAuxiliaryEffectSloti;
00088 extern LPALGETAUXILIARYEFFECTSLOTIV alGetAuxiliaryEffectSlotiv;
00089 extern LPALGETAUXILIARYEFFECTSLOTF alGetAuxiliaryEffectSlotf;
00090 extern LPALGETAUXILIARYEFFECTSLOTFV alGetAuxiliaryEffectSlotfv;
00091 
00092 // XRAM Extension function pointer variables and enum values
00093 
00094 typedef ALboolean (__cdecl *LPEAXSETBUFFERMODE)(ALsizei n, ALuint *buffers, ALint value);
00095 typedef ALenum    (__cdecl *LPEAXGETBUFFERMODE)(ALuint buffer, ALint *value);
00096 
00097 extern LPEAXSETBUFFERMODE eaxSetBufferMode;
00098 extern LPEAXGETBUFFERMODE eaxGetBufferMode;
00099 
00100 // X-RAM Enum values
00101 extern ALenum eXRAMSize, eXRAMFree;
00102 extern ALenum eXRAMAuto, eXRAMHardware, eXRAMAccessible;
00103 
00104 #endif _FRAMEWORK_H_

Generated on Fri Jun 18 2010 17:48:39 for Cannonball by  doxygen 1.7.0