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.
116 lines
5.1 KiB
D
116 lines
5.1 KiB
D
/*
|
|
OpenMW - The completely unofficial reimplementation of Morrowind
|
|
Copyright (C) 2008 Nicolay Korslund
|
|
Email: < korslund@gmail.com >
|
|
WWW: http://openmw.snaptoad.com/
|
|
|
|
This file (alc.d) is part of the OpenMW package.
|
|
|
|
OpenMW is distributed as free software: you can redistribute it
|
|
and/or modify it under the terms of the GNU General Public License
|
|
version 3, as published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
version 3 along with this program. If not, see
|
|
http://www.gnu.org/licenses/ .
|
|
|
|
*/
|
|
|
|
module sound.alc;
|
|
|
|
extern(C):
|
|
|
|
//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 );
|