📄 openal.pas
字号:
//Specify the channel mask. (Creative)
//Type: ALuint
//Range: [0 - 255]
AL_CHANNEL_MASK =$3000;
//Source state information.
AL_SOURCE_STATE =$1010;
AL_INITIAL =$1011;
AL_PLAYING =$1012;
AL_PAUSED =$1013;
AL_STOPPED =$1014;
//Buffer Queue params
AL_BUFFERS_QUEUED =$1015;
AL_BUFFERS_PROCESSED =$1016;
//Sound samples: format specifier.
AL_FORMAT_MONO8 =$1100;
AL_FORMAT_MONO16 =$1101;
AL_FORMAT_STEREO8 =$1102;
AL_FORMAT_STEREO16 =$1103;
//source specific reference distance
//Type: ALfloat
//Range: 0.0 - +inf
//At 0.0, no distance attenuation occurs. Default is
//1.0.
AL_REFERENCE_DISTANCE =$1020;
//source specific rolloff factor
//Type: ALfloat
//Range: 0.0 - +inf
AL_ROLLOFF_FACTOR =$1021;
//Directional source, outer cone gain.
//Default: 0.0
//Range: [0.0 - 1.0]
//Logarithmic
AL_CONE_OUTER_GAIN =$1022;
//Indicate distance above which sources are not
//attenuated using the inverse clamped distance model.
//Default: +inf
//Type: ALfloat
//Range: 0.0 - +inf
AL_MAX_DISTANCE =$1023;
//Sound samples: frequency, in units of Hertz [Hz].
//This is the number of samples per second. Half of the
//sample frequency marks the maximum significant
//frequency component.
AL_FREQUENCY =$2001;
AL_BITS =$2002;
AL_CHANNELS =$2003;
AL_SIZE =$2004;
AL_DATA =$2005;
//Buffer state.
//Not supported for public use (yet).
AL_UNUSED =$2010;
AL_PENDING =$2011;
AL_PROCESSED =$2012;
//Errors: No Error.
AL_NO_ERROR =AL_FALSE;
//Invalid Name paramater passed to AL call.
AL_INVALID_NAME =$A001;
//Invalid parameter passed to AL call.
AL_ILLEGAL_ENUM =$A002;
AL_INVALID_ENUM =$A002;
//Invalid enum parameter value.
AL_INVALID_VALUE =$A003;
//Illegal call.
AL_ILLEGAL_COMMAND =$A004;
AL_INVALID_OPERATION =$A004;
//No mojo.
AL_OUT_OF_MEMORY =$A005;
// Context strings: Vendor Name.
AL_VENDOR =$B001;
AL_VERSION =$B002;
AL_RENDERER =$B003;
AL_EXTENSIONS =$B004;
// Global tweakage.
// Doppler scale. Default 1.0
AL_DOPPLER_FACTOR =$C000;
// Tweaks speed of propagation.
AL_DOPPLER_VELOCITY =$C001;
// Distance models
//
// used in conjunction with DistanceModel
//
// implicit: NONE, which disances distance attenuation.
AL_DISTANCE_MODEL =$D000;
AL_INVERSE_DISTANCE =$D001;
AL_INVERSE_DISTANCE_CLAMPED =$D002;
//bad value
ALC_INVALID =0;
//Boolean False.
ALC_FALSE =0;
//Boolean True.
ALC_TRUE =1;
//followed by <int> Hz
ALC_FREQUENCY =$1007;
//followed by <int> Hz
ALC_REFRESH =$1008;
//followed by AL_TRUE, AL_FALSE
ALC_SYNC =$1009;
//errors
//No error
ALC_NO_ERROR =ALC_FALSE;
//No device
ALC_INVALID_DEVICE =$A001;
//invalid context ID
ALC_INVALID_CONTEXT =$A002;
//bad enum
ALC_INVALID_ENUM =$A003;
//bad value
ALC_INVALID_VALUE =$A004;
//Out of memory.
ALC_OUT_OF_MEMORY =$A005;
//The Specifier string for default device
ALC_DEFAULT_DEVICE_SPECIFIER =$1004;
ALC_DEVICE_SPECIFIER =$1005;
ALC_EXTENSIONS =$1006;
ALC_MAJOR_VERSION =$1000;
ALC_MINOR_VERSION =$1001;
ALC_ATTRIBUTES_SIZE =$1002;
ALC_ALL_ATTRIBUTES =$1003;
//EAX extension
DSPROPSETID_EAX20_ListenerProperties : TGuid = '{0306A6A8-B224-11d2-99E5-0000E8D8C722}';
DSPROPSETID_EAX20_BufferProperties : TGuid = '{0306A6A7-B224-11d2-99E5-0000E8D8C722}';
// For compatibility with future EAX versions:
//DSPROPSETID_EAX_ListenerProperties = DSPROPSETID_EAX20_ListenerProperties;
//DSPROPSETID_EAX_SourceProperties = DSPROPSETID_EAX20_BufferProperties;
//Enumerations DSPROPERTY_EAX_LISTENERPROPERTY
DSPROPERTY_EAXLISTENER_NONE = 0;
DSPROPERTY_EAXLISTENER_ALLPARAMETERS = 1;
DSPROPERTY_EAXLISTENER_ROOM = 2;
DSPROPERTY_EAXLISTENER_ROOMHF = 3;
DSPROPERTY_EAXLISTENER_ROOMROLLOFFFACTOR = 4;
DSPROPERTY_EAXLISTENER_DECAYTIME = 5;
DSPROPERTY_EAXLISTENER_DECAYHFRATIO = 6;
DSPROPERTY_EAXLISTENER_REFLECTIONS = 7;
DSPROPERTY_EAXLISTENER_REFLECTIONSDELAY = 8;
DSPROPERTY_EAXLISTENER_REVERB = 9;
DSPROPERTY_EAXLISTENER_REVERBDELAY = 10;
DSPROPERTY_EAXLISTENER_ENVIRONMENT = 11;
DSPROPERTY_EAXLISTENER_ENVIRONMENTSIZE = 12;
DSPROPERTY_EAXLISTENER_ENVIRONMENTDIFFUSION = 13;
DSPROPERTY_EAXLISTENER_AIRABSORPTIONHF = 14;
DSPROPERTY_EAXLISTENER_FLAGS = 15;
// OR these flags with property id
DSPROPERTY_EAXLISTENER_IMMEDIATE = $00000000;
// changes take effect immediately
DSPROPERTY_EAXLISTENER_DEFERRED = LongWORD($80000000);
DSPROPERTY_EAXLISTENER_COMMITDEFERREDSETTINGS = (DSPROPERTY_EAXLISTENER_NONE or
DSPROPERTY_EAXLISTENER_IMMEDIATE);
// used by DSPROPERTY_EAXLISTENER_ENVIRONMENT
//Enummetation
EAX_ENVIRONMENT_GENERIC = 0;
EAX_ENVIRONMENT_PADDEDCELL = 1;
EAX_ENVIRONMENT_ROOM = 2;
EAX_ENVIRONMENT_BATHROOM = 3;
EAX_ENVIRONMENT_LIVINGROOM = 4;
EAX_ENVIRONMENT_STONEROOM = 5;
EAX_ENVIRONMENT_AUDITORIUM = 6;
EAX_ENVIRONMENT_CONCERTHALL = 7;
EAX_ENVIRONMENT_CAVE = 8;
EAX_ENVIRONMENT_ARENA = 9;
EAX_ENVIRONMENT_HANGAR = 10;
EAX_ENVIRONMENT_CARPETEDHALLWAY = 11;
EAX_ENVIRONMENT_HALLWAY = 12;
EAX_ENVIRONMENT_STONECORRIDOR = 13;
EAX_ENVIRONMENT_ALLEY = 14;
EAX_ENVIRONMENT_FOREST = 15;
EAX_ENVIRONMENT_CITY = 16;
EAX_ENVIRONMENT_MOUNTAINS = 17;
EAX_ENVIRONMENT_QUARRY = 18;
EAX_ENVIRONMENT_PLAIN = 19;
EAX_ENVIRONMENT_PARKINGLOT = 20;
EAX_ENVIRONMENT_SEWERPIPE = 21;
EAX_ENVIRONMENT_UNDERWATER = 22;
EAX_ENVIRONMENT_DRUGGED = 23;
EAX_ENVIRONMENT_DIZZY = 24;
EAX_ENVIRONMENT_PSYCHOTIC = 25;
EAX_ENVIRONMENT_COUNT = 26;
// Used by DSPROPERTY_EAXLISTENER_FLAGS
//
// Note: The number and order of flags may change in future EAX versions.
// It is recommended to use the flag defines as follows:
// myFlags = EAXLISTENERFLAGS_DECAYTIMESCALE | EAXLISTENERFLAGS_REVERBSCALE;
// instead of:
// myFlags = 0x00000009;
//
// These flags determine what properties are affected by environment size.
EAXLISTENERFLAGS_DECAYTIMESCALE = $00000001;
// reverberation decay time
EAXLISTENERFLAGS_REFLECTIONSSCALE = $00000002; // reflection level
EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE = $00000004;
// initial reflection delay time
EAXLISTENERFLAGS_REVERBSCALE = $00000008; // reflections level
EAXLISTENERFLAGS_REVERBDELAYSCALE = $00000010;
// late reverberation delay time
// This flag limits high-frequency decay time according to air absorption.
EAXLISTENERFLAGS_DECAYHFLIMIT = $00000020;
EAXLISTENERFLAGS_RESERVED = $FFFFFFC0; // reserved future use
// property ranges and defaults:
EAXLISTENER_MINROOM = -10000;
EAXLISTENER_MAXROOM = 0;
EAXLISTENER_DEFAULTROOM = -1000;
EAXLISTENER_MINROOMHF = -10000;
EAXLISTENER_MAXROOMHF = 0;
EAXLISTENER_DEFAULTROOMHF = -100;
EAXLISTENER_MINROOMROLLOFFFACTOR = 0.0;
EAXLISTENER_MAXROOMROLLOFFFACTOR = 10.0;
EAXLISTENER_DEFAULTROOMROLLOFFFACTOR = 0.0;
EAXLISTENER_MINDECAYTIME = 0.1;
EAXLISTENER_MAXDECAYTIME = 20.0;
EAXLISTENER_DEFAULTDECAYTIME = 1.49;
EAXLISTENER_MINDECAYHFRATIO = 0.1;
EAXLISTENER_MAXDECAYHFRATIO = 2.0;
EAXLISTENER_DEFAULTDECAYHFRATIO = 0.83;
EAXLISTENER_MINREFLECTIONS = -10000;
EAXLISTENER_MAXREFLECTIONS = 1000;
EAXLISTENER_DEFAULTREFLECTIONS = -2602;
EAXLISTENER_MINREFLECTIONSDELAY = 0.0;
EAXLISTENER_MAXREFLECTIONSDELAY = 0.3;
EAXLISTENER_DEFAULTREFLECTIONSDELAY = 0.007;
EAXLISTENER_MINREVERB = -10000;
EAXLISTENER_MAXREVERB = 2000;
EAXLISTENER_DEFAULTREVERB = 200;
EAXLISTENER_MINREVERBDELAY = 0.0;
EAXLISTENER_MAXREVERBDELAY = 0.1;
EAXLISTENER_DEFAULTREVERBDELAY = 0.011;
EAXLISTENER_MINENVIRONMENT = 0;
EAXLISTENER_MAXENVIRONMENT = EAX_ENVIRONMENT_COUNT - 1;
EAXLISTENER_DEFAULTENVIRONMENT = EAX_ENVIRONMENT_GENERIC;
EAXLISTENER_MINENVIRONMENTSIZE = 1.0;
EAXLISTENER_MAXENVIRONMENTSIZE = 100.0;
EAXLISTENER_DEFAULTENVIRONMENTSIZE = 7.5;
EAXLISTENER_MINENVIRONMENTDIFFUSION = 0.0;
EAXLISTENER_MAXENVIRONMENTDIFFUSION = 1.0;
EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION = 1.0;
EAXLISTENER_MINAIRABSORPTIONHF = -100.0;
EAXLISTENER_MAXAIRABSORPTIONHF = 0.0;
EAXLISTENER_DEFAULTAIRABSORPTIONHF = -5.0;
EAXLISTENER_DEFAULTFLAGS = EAXLISTENERFLAGS_DECAYTIMESCALE or
EAXLISTENERFLAGS_REFLECTIONSSCALE or
EAXLISTENERFLAGS_REFLECTIONSDELAYSCALE or
EAXLISTENERFLAGS_REVERBSCALE or
EAXLISTENERFLAGS_REVERBDELAYSCALE or
EAXLISTENERFLAGS_DECAYHFLIMIT;
// For compatibility with future EAX versions:
//DSPROPSETID_EAX_BufferProperties = DSPROPSETID_EAX20_BufferProperties;
//Enumeration DSPROPERTY_EAX_BUFFERPROPERTY
DSPROPERTY_EAXBUFFER_NONE = 0;
DSPROPERTY_EAXBUFFER_ALLPARAMETERS = 1;
DSPROPERTY_EAXBUFFER_DIRECT = 2;
DSPROPERTY_EAXBUFFER_DIRECTHF = 3;
DSPROPERTY_EAXBUFFER_ROOM = 4;
DSPROPERTY_EAXBUFFER_ROOMHF = 5;
DSPROPERTY_EAXBUFFER_ROOMROLLOFFFACTOR = 6;
DSPROPERTY_EAXBUFFER_OBSTRUCTION = 7;
DSPROPERTY_EAXBUFFER_OBSTRUCTIONLFRATIO = 8;
DSPROPERTY_EAXBUFFER_OCCLUSION = 9;
DSPROPERTY_EAXBUFFER_OCCLUSIONLFRATIO = 10;
DSPROPERTY_EAXBUFFER_OCCLUSIONROOMRATIO = 11;
DSPROPERTY_EAXBUFFER_OUTSIDEVOLUMEHF = 12;
DSPROPERTY_EAXBUFFER_AIRABSORPTIONFACTOR = 13;
DSPROPERTY_EAXBUFFER_FLAG = 14;
// OR these flags with property id
DSPROPERTY_EAXBUFFER_IMMEDIATE = $00000000;
// changes take effect immediately
DSPROPERTY_EAXBUFFER_DEFERRED = LongWORD($80000000);
DSPROPERTY_EAXBUFFER_COMMITDEFERREDSETTINGS = DSPROPERTY_EAXBUFFER_NONE or
DSPROPERTY_EAXBUFFER_IMMEDIATE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -