You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw-tes3mp/sound/alc.d

93 lines
4.3 KiB
D

module sound.alc;
extern(System):
//Definitions
const int ALC_FALSE = 0;
const int ALC_TRUE = 1;
const int ALC_FREQUENCY = 0x1007;
const int ALC_REFRESH = 0x1008;
const int ALC_SYNC = 0x1009;
const int ALC_MONO_SOURCES = 0x1010;
const int ALC_STEREO_SOURCES = 0x1011;
const int ALC_NO_ERROR = ALC_FALSE;
const int ALC_INVALID_DEVICE = 0xA001;
const int ALC_INVALID_CONTEXT = 0xA002;
const int ALC_INVALID_ENUM = 0xA003;
const int ALC_INVALID_VALUE = 0xA004;
const int ALC_OUT_OF_MEMORY = 0xA005;
const int ALC_DEFAULT_DEVICE_SPECIFIER = 0x1004;
const int ALC_DEVICE_SPECIFIER = 0x1005;
const int ALC_EXTENSIONS = 0x1006;
const int ALC_MAJOR_VERSION = 0x1000;
const int ALC_MINOR_VERSION = 0x1001;
const int ALC_ATTRIBUTES_SIZE = 0x1002;
const int ALC_ALL_ATTRIBUTES = 0x1003;
const int ALC_CAPTURE_DEVICE_SPECIFIER = 0x310;
const int ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER = 0x311;
const int ALC_CAPTURE_SAMPLES = 0x312;
//Device and context structures
alias void ALCdevice;
alias void ALCcontext;
//Typedefs
alias char ALCboolean;
alias char ALCchar;
alias char ALCbyte;
alias ubyte ALCubyte;
alias short ALCshort;
alias ushort ALCushort;
alias int ALCint;
alias uint ALCuint;
alias int ALCsizei;
alias int ALCenum;
alias float ALCfloat;
alias double ALCdouble;
alias void ALCvoid;
//Context functions
ALCcontext* alcCreateContext( ALCdevice *device, ALCint* attrlist );
ALCboolean alcMakeContextCurrent( ALCcontext *context );
void alcProcessContext( ALCcontext *context );
void alcSuspendContext( ALCcontext *context );
void alcDestroyContext( ALCcontext *context );
ALCcontext* alcGetCurrentContext();
ALCdevice* alcGetContextsDevice( ALCcontext *context );
ALCdevice * alcOpenDevice( ALCchar *devicename );
ALCboolean alcCloseDevice( ALCdevice *device );
ALCenum alcGetError( ALCdevice *device );
ALCboolean alcIsExtensionPresent( ALCdevice *device, ALCchar *extname );
void* alcGetProcAddress( ALCdevice *device, ALCchar *funcname );
ALCenum alcGetEnumValue( ALCdevice *device, ALCchar *enumname );
ALCchar* alcGetString( ALCdevice *device, ALCenum param );
void alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data );
ALCdevice* alcCaptureOpenDevice( ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
ALCboolean alcCaptureCloseDevice( ALCdevice *device );
void alcCaptureStart( ALCdevice *device );
void alcCaptureStop( ALCdevice *device );
void alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
typedef ALCcontext * ( *LPALCCREATECONTEXT) (ALCdevice *device, ALCint *attrlist);
typedef ALCboolean ( *LPALCMAKECONTEXTCURRENT)( ALCcontext *context );
typedef void ( *LPALCPROCESSCONTEXT)( ALCcontext *context );
typedef void ( *LPALCSUSPENDCONTEXT)( ALCcontext *context );
typedef void ( *LPALCDESTROYCONTEXT)( ALCcontext *context );
typedef ALCcontext * ( *LPALCGETCURRENTCONTEXT)( );
typedef ALCdevice * ( *LPALCGETCONTEXTSDEVICE)( ALCcontext *context );
typedef ALCdevice * ( *LPALCOPENDEVICE)( ALCchar *devicename );
typedef ALCboolean ( *LPALCCLOSEDEVICE)( ALCdevice *device );
typedef ALCenum ( *LPALCGETERROR)( ALCdevice *device );
typedef ALCboolean ( *LPALCISEXTENSIONPRESENT)( ALCdevice *device, ALCchar *extname );
typedef void * ( *LPALCGETPROCADDRESS)(ALCdevice *device, ALCchar *funcname );
typedef ALCenum ( *LPALCGETENUMVALUE)(ALCdevice *device, ALCchar *enumname );
typedef const ALCchar* ( *LPALCGETSTRING)( ALCdevice *device, ALCenum param );
typedef void ( *LPALCGETINTEGERV)( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *dest );
typedef ALCdevice * ( *LPALCCAPTUREOPENDEVICE)( ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
typedef ALCboolean ( *LPALCCAPTURECLOSEDEVICE)( ALCdevice *device );
typedef void ( *LPALCCAPTURESTART)( ALCdevice *device );
typedef void ( *LPALCCAPTURESTOP)( ALCdevice *device );
typedef void ( *LPALCCAPTURESAMPLES)( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );