Browse Source

* patch that cleans up openal. Mantis 15756

git-svn-id: trunk@14899 -
marco 15 years ago
parent
commit
d8d0c6ae96
1 changed files with 108 additions and 164 deletions
  1. 108 164
      packages/openal/src/alexth.inc

+ 108 - 164
packages/openal/src/alexth.inc

@@ -1,176 +1,120 @@
+(* AL_LOKI_IMA_ADPCM_format extension *)
 const
-
-(* format base = $10000 *)
   AL_FORMAT_IMA_ADPCM_MONO16_EXT            = $10000;
   AL_FORMAT_IMA_ADPCM_STEREO16_EXT          = $10001;
+
+(* AL_LOKI_WAVE_format extension *)
+const
   AL_FORMAT_WAVE_EXT                        = $10002;
+
+(* AL_EXT_vorbis extension *)
+const
   AL_FORMAT_VORBIS_EXT                      = $10003;
 
-(* four point formats *)
+(* AL_LOKI_quadriphonic extension *)
+const
   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;
+(* AL_EXT_float32 extension *)
+const
+  AL_FORMAT_MONO_FLOAT32                    = $10010;
+  AL_FORMAT_STEREO_FLOAT32                  = $10011;
+
+(* AL_EXT_double extension *)
+const
+  AL_FORMAT_MONO_DOUBLE_EXT                 = $10012;
+  AL_FORMAT_STEREO_DOUBLE_EXT               = $10013;
+
+(* ALC_LOKI_audio_channel extension *)
+const
+  ALC_CHAN_MAIN_LOKI                        = $500001;
+  ALC_CHAN_PCM_LOKI                         = $500002;
+  ALC_CHAN_CD_LOKI                          = $500003;
+
+(* ALC_ENUMERATE_ALL_EXT extension *)
+const
+  ALC_DEFAULT_ALL_DEVICES_SPECIFIER         = $1012;
+  ALC_ALL_DEVICES_SPECIFIER                 = $1013;
+
+(* AL_EXT_MCFORMATS extension *)
+const
+   AL_FORMAT_QUAD8                          = $1204;
+   AL_FORMAT_QUAD16                         = $1205;
+   AL_FORMAT_QUAD32                         = $1206;
+   AL_FORMAT_REAR8                          = $1207;
+   AL_FORMAT_REAR16                         = $1208;
+   AL_FORMAT_REAR32                         = $1209;
+   AL_FORMAT_51CHN8                         = $120A;
+   AL_FORMAT_51CHN16                        = $120B;
+   AL_FORMAT_51CHN32                        = $120C;
+   AL_FORMAT_61CHN8                         = $120D;
+   AL_FORMAT_61CHN16                        = $120E;
+   AL_FORMAT_61CHN32                        = $120F;
+   AL_FORMAT_71CHN8                         = $1210;
+   AL_FORMAT_71CHN16                        = $1211;
+   AL_FORMAT_71CHN32                        = $1212;
+
+(* AL_EXT_IMA4 extension *)
+const
+   AL_FORMAT_MONO_IMA4                      = $1300;
+   AL_FORMAT_STEREO_IMA4                    = $1301;
+
+(* AL_EXT_buffer_sub_data extension *)
+const
+   AL_BYTE_RW_OFFSETS_EXT                   = $1031;
+   AL_SAMPLE_RW_OFFSETS_EXT                 = $1032;
+   AL_SEC_RW_OFFSETS_EXT                    = $1033;
+
+procedure alBufferSubDataEXT(buffer :ALuint; format :ALenum; const data :PALvoid; offset :ALsizei; length :ALsizei); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+
+(* AL_EXT_STATIC_BUFFER extension *)
+procedure alBufferDataStatic(buffer :ALint; format :ALenum; data :Pointer; size, freq :ALsizei); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+
+(* AL_EXT_sample_buffer_object extension *)
+const
+   AL_SAMPLE_SOURCE_EXT                     = $1040;
+   AL_SAMPLE_SINK_EXT                       = $1041;
+   AL_READ_ONLY_EXT                         = $1042;
+   AL_WRITE_ONLY_EXT                        = $1043;
+   AL_READ_WRITE_EXT                        = $1044;
+   AL_STREAM_WRITE_EXT                      = $1045;
+   AL_STREAM_READ_EXT                       = $1046;
+   AL_STREAM_COPY_EXT                       = $1047;
+   AL_STATIC_WRITE_EXT                      = $1048;
+   AL_STATIC_READ_EXT                       = $1049;
+   AL_STATIC_COPY_EXT                       = $104A;
+   AL_DYNAMIC_WRITE_EXT                     = $104B;
+   AL_DYNAMIC_READ_EXT                      = $104C;
+   AL_DYNAMIC_COPY_EXT                      = $104D;
+
+  procedure alGenDatabuffersEXT(n:ALsizei; puiBuffers:pALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alDeleteDatabuffersEXT(n:ALsizei; puiBuffers:pALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  function  alIsDatabufferEXT(uiBuffer:ALuint):ALboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alDatabufferDataEXT(buffer:ALuint; data:pALvoid; size:ALsizei; usage:ALenum); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alDatabufferSubDataEXT(buffer:ALuint; start:ALuint; length:ALsizei; data:pALvoid); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alGetDatabufferSubDataEXT(buffer:ALuint; start:ALuint; length:ALsizei; data:pALvoid); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alDatabufferfEXT(buffer:ALuint; eParam:ALenum; flValue:ALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alDatabufferfvEXT(buffer:ALuint; eParam:ALenum; flValues:pALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alDatabufferiEXT(buffer:ALuint; eParam:ALenum; lValue:ALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alDatabufferivEXT(buffer:ALuint; eParam:ALenum; plValues:pALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alGetDatabufferfEXT(buffer:ALuint; eParam:ALenum; pflValue:pALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alGetDatabufferfvEXT(buffer:ALuint; eParam:ALenum; pflValues:pALfloat); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alGetDatabufferiEXT(buffer:ALuint; eParam:ALenum; plValue:pALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alGetDatabufferivEXT(buffer:ALuint; eParam:ALenum; plValues:pALint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alSelectDatabufferEXT(target:ALenum; uiBuffer:ALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  function  alMapDatabufferEXT(uiBuffer:ALuint; start:ALuint; length:ALsizei; access:ALenum):pALvoid; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+  procedure alUnmapDatabufferEXT(uiBuffer:ALuint); cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+
+(* ALC_EXT_disconnect extension *)
+const
+   ALC_CONNECTED                            = $0313;
+
+(* ALC_EXT_thread_local_context extension *)
 
+function alcMakeCurrent(context :PALCcontext) :ALCboolean; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
+function alcGetThreadContext() :PALCcontext; cdecl; external {$IFDEF DYNLINK}openallib{$ENDIF};
 
+(* AL_EXT_source_distance_model extension *)
 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;
-}
+   AL_SOURCE_DISTANCE_MODEL                 = $0200;