anchor.diff: -
  -{**************************************************************************
  - * Audiere Sound System                                                   *
  - * Version 1.9.2                                                          *
  - * (c) 2002 Chad Austin                                                   *
  - *                                                                        *
  - * This API uses principles explained at                                  *
  - * http://aegisknight.org/cppinterface.html                               *
  - *                                                                        *
  - * This code licensed under the terms of the LGPL.  See license.txt.      *
  - *------------------------------------------------------------------------*
  - * Delphi conversion by:                                                  *
  - * Jarrod Davis                                                           *
  - * Jarrod Davis Software                                                  *
  - * http://www.jarroddavis.com                                             *
  - * support@jarroddavis.com                                                *
  - **************************************************************************)
  -
  +//=========================================================================
  +// Audiere Sound System
  +// Version 1.9.2
  +// (c) 2002 Chad Austin
  +//
  +// This API uses principles explained at
  +// http://aegisknight.org/cppinterface.html
  +//
  +// This code licensed under the terms of the LGPL.  See the Audiere
  +// license.txt.
  +//-------------------------------------------------------------------------
  +// Delphi Conversion By:
  +// Jarrod Davis
  +// Jarrod Davis Software
  +// http://www.jarroddavis.com   - Jarrod Davis Software
  +// http://www.gamevisionsdk.com - Game Application Framework for Delphi
  +// support@jarroddavis.com      - Support Email
  +//-------------------------------------------------------------------------
  +// How to use:
  +//   * Include Audiere in your Uses statement
  +//   * Enable or Disable the DYNAMICS compiler define
  +//   * If Dynamic, be sure to call AdrLoadDLL before using any commands.
  +//     the DLL will be automaticlly unloaded at termination.
  +//   * If Static, then use as normal.
  +// History:
  +//   * Initial 1.9.2 release.
  +//   + Added dynamic loading. Use the DYNAMIC compiler define to control
  +//     this. When enabled you can then use ArdLoadLL/AdrUnloadDLL to
  +//     dynamiclly load/unload dll at runtime.
  +//=========================================================================
  +
  +unit Audiere;
  +
  +{$A+}
   {$Z4}
  -
  -unit Audiere;
  +{$DEFINE DYNAMIC}
   
   interface
   
   const
  -  DLL_NAME = 'audiere.dll';
  +  DLL_NAME = 'Audiere.dll';
   
   type
   
  
positive.code:   end;
  
  { --- Audiere Routines -------------------------------------------------- }
  function AdrGetVersion: PChar; stdcall; external DLL_NAME name '_AdrGetVersion@0';
  function AdrGetSupportedFileFormats: PChar; stdcall; external DLL_NAME name '_AdrGetSupportedFileFormats@0';
  function AdrGetSupportedAudioDevices: PChar; stdcall; external DLL_NAME name '_AdrGetSupportedAudioDevices@0';
  function AdrGetSampleSize(aFormat: TAdrSampleFormat): Integer; stdcall; external DLL_NAME name '_AdrGetSampleSize@4';
  function AdrOpenDevice(const aName: PChar; const aParams: PChar): TAdrAudioDevice; stdcall; external DLL_NAME name '_AdrOpenDevice@8';
  function AdrOpenSampleSource(const aFilename: PChar): TAdrSampleSource; stdcall; external DLL_NAME name '_AdrOpenSampleSource@4';
  function AdrOpenSampleSourceFromFile(aFile: TAdrFile): TAdrSampleSource; stdcall; external DLL_NAME name '_AdrOpenSampleSourceFromFile@4';
  function AdrCreateTone(aFrequency: Double): TAdrSampleSource; stdcall; external DLL_NAME name '_AdrCreateTone@8';
  function AdrCreateSquareWave(aFrequency: Double): TAdrSampleSource; stdcall; external DLL_NAME name '_AdrCreateSquareWave@8';
  function AdrCreateWhiteNoise: TAdrSampleSource; stdcall; external DLL_NAME name '_AdrCreatePinkWhite@0';
  function AdrCreatePinkNoise: TAdrSampleSource; stdcall; external DLL_NAME name '_AdrCreatePinkNoise@0';
  function AdrOpenSound(aDevice: TAdrAudioDevice; aSource: TAdrSampleSource; aStreaming: LongBool): TAdrOutputStream; stdcall; external DLL_NAME name '_AdrOpenSound@12';
  function AdrCreateSampleBuffer(aSamples: Pointer; aFrameCount, aChannelCount, aSampleRate: Integer; aSampleFormat: TAdrSampleFormat): TAdrSampleBuffer; stdcall; external DLL_NAME name '_AdrCreateSampleBuffer@20';
  function AdrCreateSampleBufferFromSource(aSource: TAdrSampleSource): TAdrSampleBuffer; stdcall; external DLL_NAME name '_AdrCreateSampleBufferFromSource@4';
  function AdrOpenSoundEffect(aDevice: TAdrAudioDevice; aSource: TAdrSampleSource; aType: TAdrSoundEffectType): TAdrSoundEffect; stdcall; external DLL_NAME name '_AdrOpenSoundEffect@12';
  
  implementation
  
  end.
  
negative.code:   TAdrSampleFormat = (
      Adr_SampleFormat_U8,
      Adr_SampleFormat_S16
    );
  
    { TAdrFileFormat }
    TAdrFileFormat = (
      FF_AUTODETECT,
      FF_WAV,
      FF_OGG,
      FF_FLAC,
      FF_MP3,
      FF_MOD
    );
  
    { TAdrRefCounted  }
  