anchor.diff:  //
   // Based on wvunpack.c::unpack_file()
   procedure DecompressWavPack(aSrc, aDes: TStream);
  +type
  +  PtrInt = {$IF DEFINED(CPUX64)}UInt64{$ELSE}Cardinal{$IFEND};
   const
     OutputBufSize = 256 * 1024;
   var
  
positive.code: 
        // Write output when it's full or when we're done
        if (SamplesUnpacked = 0) or
           ((OutputBufSize - (OutputPtr - OutputBuf)) < BytesPerSample) then begin
          aDes.WriteBuffer(OutputBuf^, OutputPtr - OutputBuf);
          OutputPtr := OutputBuf;
        end;
      until (SamplesUnpacked = 0);
  
negative.code: type
    PWavPackStream = ^TWavPackStream;
    TWavPackStream = record
      HasPushedByte: Boolean;
      PushedByte: Byte;
      Stream: TStream;
    end;
  { -------------------------------------------------------------------------- }
  function TWavPackStream_read_bytes(id, data: Pointer; bcount: int32_t): int32_t; cdecl;
  