123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- const
- (* format base = $10000 *)
- AL_FORMAT_IMA_ADPCM_MONO16_EXT = $10000;
- AL_FORMAT_IMA_ADPCM_STEREO16_EXT = $10001;
- AL_FORMAT_WAVE_EXT = $10002;
- AL_FORMAT_VORBIS_EXT = $10003;
- (* four point formats *)
- AL_FORMAT_QUAD8_LOKI = $10004;
- AL_FORMAT_QUAD16_LOKI = $10005;
- (**
- * token extensions, base = $20000
- *)
- (* deprecated, use AL_GAIN *)
- AL_GAIN_LINEAR_LOKI = $20000;
- (*
- * types for special loaders. This should be deprecated in favor
- * of the special format tags.
- *)
- type
- PWaveFMT = ^WaveFMT;
- WaveFMT = packed record
- encoding : ALushort;
- channels : ALushort; (* 1 = mono, 2 = stereo *)
- frequency : ALuint; (* One of 11025, 22050, or 44100 Hz *)
- byterate : ALuint; (* Average bytes per second *)
- blockalign : ALushort; (* Bytes per sample block *)
- bitspersample : ALushort;
- end;
- PalWaveFMT_LOKI = ^alWaveFMT_LOKI;
- alWaveFMT_LOKI = WaveFMT;
- P_MS_ADPCM_decodestate = ^_MS_ADPCM_decodestate;
- _MS_ADPCM_decodestate = packed record
- hPredictor : ALubyte;
- iDelta : ALushort;
- iSamp1 : ALshort;
- iSamp2 : ALshort;
- end;
- PalMSADPCM_decodestate_LOKI = ^alMSADPCM_decodestate_LOKI;
- alMSADPCM_decodestate_LOKI = _MS_ADPCM_decodestate;
- PMS_ADPCM_decoder = ^MS_ADPCM_decoder;
- MS_ADPCM_decoder = packed record
- wavefmt : alWaveFMT_LOKI;
- wSamplesPerBlock: ALushort;
- wNumCoef : ALushort;
- aCoeff : array[0..6] of array[0..1] of ALshort;
- (* * * *)
- state : array[0..1] of alMSADPCM_decodestate_LOKI;
- end;
- PalMSADPCM_state_LOKI = ^alMSADPCM_state_LOKI;
- alMSADPCM_state_LOKI = MS_ADPCM_decoder;
- PIMA_ADPCM_decodestate_s = ^IMA_ADPCM_decodestate_s;
- IMA_ADPCM_decodestate_s = packed record
- valprev : ALint; (* Previous output value *)
- index : ALbyte; (* Index into stepsize table *)
- end;
- PalIMAADPCM_decodestate_LOKI = ^alIMAADPCM_decodestate_LOKI;
- alIMAADPCM_decodestate_LOKI = IMA_ADPCM_decodestate_s;
- PIMA_ADPCM_decoder = ^IMA_ADPCM_decoder;
- IMA_ADPCM_decoder = packed record
- wavefmt : alWaveFMT_LOKI;
- wSamplesPerBlock: ALushort;
- (* * * *)
- state : array[0..1] of alIMAADPCM_decodestate_LOKI;
- end;
- PalIMAADPCM_state_LOKI = ^alIMAADPCM_state_LOKI;
- alIMAADPCM_state_LOKI = IMA_ADPCM_decoder;
- const
- (**
- * Context creation extension tokens
- * base = $200000
- *)
- (**
- * followed by ### of sources
- *)
- ALC_SOURCES_LOKI = $200000;
- (**
- * followed by ### of buffers
- *)
- ALC_BUFFERS_LOKI = $200001;
- (*
- * Channel operations are probably a big no-no and destined
- * for obsolesence.
- *
- * base = $300000
- *)
- ALC_CHAN_MAIN_LOKI = $300000;
- ALC_CHAN_PCM_LOKI = $300001;
- ALC_CHAN_CD_LOKI = $300002;
- (* loki *)
- type
- CALLBACK_LOKI = function(a: ALuint; b: ALuint; c: PALshort; d: ALEnum; e: ALint; f: ALint): cint; cdecl;
- function alcGetAudioChannel_LOKI(channel: ALuint): ALfloat; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- procedure alcSetAudioChannel_LOKI(channel: ALuint; volume: ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- procedure alBombOnError_LOKI; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- procedure alBufferi_LOKI(bid: ALuint; param: ALenum; value: ALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- procedure alBufferDataWithCallback_LOKI(bid: ALuint; cb: CALLBACK_LOKI); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- procedure alBufferWriteData_LOKI(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei; internalFormat: ALenum); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- procedure alGenStreamingBuffers_LOKI(n: ALsizei; samples: PALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- function alBufferAppendData_LOKI(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- function alBufferAppendWriteData_LOKI(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei; internalFormat: ALenum): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- (* binary compatibility *)
- function alBufferAppendData(buffer: ALuint; format: ALenum; data: PALvoid; size: ALsizei; freq: ALsizei): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- (*
- * Don't use these. If you're reading this, you should remove these functions
- * and all other reverb functions. Now.
- *)
- procedure alReverbScale_LOKI(sid: ALuint; param: ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- procedure alReverbDelay_LOKI(sid: ALuint; param: ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- (* Capture api *)
- function alCaptureInit_EXT(format: ALenum; rate: ALuint; bufferSize: ALsizei): ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- function alCaptureDestroy_EXT: ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- function alCaptureStart_EXT: ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- function alCaptureStop_EXT: ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- (* Non-blocking device read *)
- function alCaptureGetData_EXT(data: PALvoid; n: ALsizei; format: ALenum; rate: ALuint): ALsizei; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- (* custom loaders *)
- function alutLoadVorbis_LOKI(bid: ALuint; const data: PALvoid; size: ALint): ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- function alutLoadMP3_LOKI(bid: ALuint; data: PALvoid; size: ALint): ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
- (* function pointers *)
- {
- type
- typedef ALfloat ( ALC_APIENTRY *PFNALCGETAUDIOCHANNELPROC ) ( ALuint channel ): ALfloat; cdecl;
- typedef void ( ALC_APIENTRY *PFNALCSETAUDIOCHANNELPROC ) ( ALuint channel, ALfloat volume ); cdecl;
- typedef void ( AL_APIENTRY *PFNALBOMBONERRORPROC ) ( void ); cdecl;
- typedef void ( AL_APIENTRY *PFNALBUFFERIPROC ) ( ALuint bid, ALenum param, ALint value ); cdecl;
- typedef void ( AL_APIENTRY *PFNALBUFFERDATAWITHCALLBACKPROC ) ( ALuint bid, int ( *Callback ) ( ALuint, ALuint, ALshort *, ALenum, ALint, ALint ) ); cdecl;
- typedef void ( AL_APIENTRY *PFNALBUFFERWRITEDATAPROC ) ( ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq, ALenum internalFormat ); cdecl;
- typedef void ( AL_APIENTRY *PFNALGENSTREAMINGBUFFERSPROC ) ( ALsizei n, ALuint *samples ); cdecl;
- typedef ALsizei ( AL_APIENTRY *PFNALBUFFERAPPENDDATAPROC ) ( ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq ): ALsizei; cdecl;
- typedef ALsizei ( AL_APIENTRY *PFNALBUFFERAPPENDWRITEDATAPROC ) ( ALuint buffer, ALenum format, ALvoid *data, ALsizei size, ALsizei freq, ALenum internalFormat ): ALsizei; cdecl;
- typedef ALboolean ( ALC_APIENTRY *PFNALCAPTUREINITPROC ) ( ALenum format, ALuint rate, ALsizei bufferSize ): ALboolean; cdecl;
- typedef ALboolean ( ALC_APIENTRY *PFNALCAPTUREDESTROYPROC ) ( void ): ALboolean; cdecl;
- typedef ALboolean ( ALC_APIENTRY *PFNALCAPTURESTARTPROC ) ( void ): ALboolean; cdecl;
- typedef ALboolean ( ALC_APIENTRY *PFNALCAPTURESTOPPROC ) ( void ): ALboolean; cdecl;
- typedef ALsizei ( ALC_APIENTRY *PFNALCAPTUREGETDATAPROC ) ( ALvoid *data, ALsizei n, ALenum format, ALuint rate ): ALsizei; cdecl;
- typedef ALboolean ( AL_APIENTRY *PFNALUTLOADVORBISPROC ) ( ALuint bid, ALvoid *data, ALint size ): ALboolean; cdecl;
- typedef ALboolean ( AL_APIENTRY *PFNALUTLOADRAW_ADPCMDATAPROC ) ( ALuint bid, ALvoid *data, ALuint size, ALuint freq, ALenum format ): ALboolean; cdecl;
- typedef ALboolean ( AL_APIENTRY *ALUTLOADIMA_ADPCMDATAPROC ) ( ALuint bid, ALvoid *data, ALuint size, alIMAADPCM_state_LOKI *ias ): ALboolean; cdecl;
- typedef ALboolean ( AL_APIENTRY *ALUTLOADMS_ADPCMDATAPROC ) ( ALuint bid, void *data, int size, alMSADPCM_state_LOKI *mss ): ALboolean; cdecl;
- typedef void ( AL_APIENTRY *PFNALREVERBSCALEPROC ) ( ALuint sid, ALfloat param ); cdecl;
- typedef void ( AL_APIENTRY *PFNALREVERBDELAYPROC ) ( ALuint sid, ALfloat param ); cdecl;
- }
|