Here you can see the complete history of Monkey's Audio development.
Version 13.20 (July 22, 2026)
   1. Changed: Switched to Visual Studio 2022 to build the 32-bit XP compatible
      version (because they still have XP support there).
   2. Changed: Updated to 2.89 for the ALAC tool.
   3. Changed: Turned on this switch for XP /Zc:threadSafeInit- because it was
      recommended.
   4. Changed: Cleaned up the process naming and cleanup now that the popup
      window is never shown (so there's no need to destroy lingering windows).
Version 13.19 (July 20, 2026)
   1. Changed: Updated to Visual Studio 2026 18.8.0.
   2. Changed: Made the version object a class and included both the program
      and file version (used internally).
   3. Changed: Added a .clang-tidy configuration file to exclude the
      DirectShowSDK then turned Clang back on for MACDll.
   4. Changed: Visual Studio removed the XP compatible naming from the v141
      (Visual Studio 2017) libraries, but using still and hopefully still
      working on XP (switched from v141_xp to v141) (feedback appreciated).
Version 13.18 (July 1, 2026)
   1. Changed: Made legacy (3.98 and earlier) files use the generic NNFilter so
      the version check when updating delta could be removed from the faster
      implementations.
   2. Changed: The version passed around everywhere is a structure that
      contains the version and flags (like interim).
Version 13.17 (July 1, 2026)
   1. Changed: The version number of the program is written to the file (as
      well as the file version, which hasn't changed for a long time).
   2. Changed: Moved some more interim code into the interim header.
   3. Changed: Updated to Visual Studio 2026 18.7.3.
Version 13.16 (June 28, 2026)
   1. Changed: Pass the void * for context to the kill function as well.
Version 13.15 (June 28, 2026)
   1. Changed: Made the kill callback less likely to call twice per loop.
   2. Changed: Added Interim.h to the CMakeLists.txt.
   3. Fixed: Linux was not building in the last build.
Version 13.14 (June 28, 2026)
   1. Changed: Added a kill callback to the static callback routines (APE_KILL_
      CALLBACK m_KillCallback).
Version 13.13 (June 27, 2026)
   1. Changed: Switched CAPEProgressCallbackInfo to a struct to avoid any
      problems integrating with MinGW GCC.
Version 13.12 (June 27, 2026)
   1. Changed: Added a kill flag to the progress callback function.
   2. Changed: Removed CAPEProgressCallbackInfoStaticFunction (since callback
      info has a function now).
Version 13.11 (June 27, 2026)
   1. Changed: Optimized AdaptAVX2 function.
   2. Changed: Wrapped the interim mode up into a separate header (Interim.h).
   3. Changed: Switched the callback to something that will hopefully work
      better with MinGW GCC (extern C and can provide a function).
Version 13.10 (June 27, 2026)
   1. Changed: Removed the AVX instruction _mm256_zeroupper because it should
      be unneeded and it helps performance.
   2. Changed: Interim mode is only handled by the non-assembly code NNFilter
      (so it can be removed from the assembly routines) and it's better wrapped
      up.
   3. Changed: Updated to Visual Studio 2026 18.7.2.
   4. Changed: Switched to only APE::IAPEProgressCallback for progress
      callbacks so a context is always provided.
   5. Changed: Removed the kill flag since that's provided in the
      IAPEProgressCallback interface.
   6. Changed: Incremented the interface version for the progress changes.
   7. Changed: Provide CAPEProgressCallbackStaticFunction to call a static
      function with a context variable (void *) for progress.
   8. Changed: Faster implementation of CalculateDotProductAVX2 by unrolling
      4x.
Version 13.06 (June 18, 2026)
   1. Changed: Removed macros to convert int64 values to pointers and instead
      call discrete functions.
   2. Changed: Updated to Visual Studio 2026 18.7.1.
   3. Changed: Merged information gathering in the info and decompress object
      into a shared base class (IAPEInfo).
Version 13.05 (June 15, 2026)
   1. Changed: Removed the option to show popup windows for external tools and
      just always hide. FLAC conversion would sometimes still leave stale
      windows and no other solution could be found.
   2. Changed: Switched the 32-bit WavPack executables to ones that will run
      under XP (like Monkey's Audio).
Version 13.04 (June 10, 2026)
   1. Changed: Worked the warnings away in the standard I/O object.
   2. Changed: Updated to Visual Studio 2026 18.7.0.
   3. Changed: The latest Clang doesn't specify default checks so commonly used
      ones were chosen and some more warnings worked through.
   4. Changed: Switched to simple inline instead of __forceinline for functions
      because the compiler should make good decisions.
Version 13.03 (June 6, 2026)
   1. Fixed: The header reader object wasn't reporting the bytes read nicely in
      the last build.
Version 13.02 (June 6, 2026)
   1. Changed: Renamed some old anti-predictor code from
      CAntiPredictor...3800ToCurrent to CAntiPredictor...3800To3929 (because
      3.93 uses the newer code).
   2. Changed: Made the min, max, and cap macros functions (that way the value
      is only evaluated once when capping).
   3. Changed: Made the read and write functions for I/O objects use int64 for
      the data type.
   4. Changed: Made read calls no longer require passing a pointer to return
      the bytes read (cleans up usage in a few cases).
   5. Changed: Error check the calls to read the seek table, header, and header
      data during quick verify.
   6. Changed: The standard file I/O reader was failing to open on Windows
      because it used an unsupported "e" parameter.
Version 13.01 (May 29, 2026)
   1. Changed: Updated to Visual Studio 2026 18.6.2.
   2. Changed: Minor internal code cleanup.
   3. Changed: Updated to 2.88 for the ALAC tool.
   4. Changed: When picking an external codec, the name (like WavPack) is
      listed on the toolbar button instead of "External".
Version 12.98 (May 25, 2026)
   1. Changed: Updated to Visual Studio 2026 18.6.1.
   2. Changed: Put decoding of 3.93 to 3.95 files in an APE_BACKWARDS_
      COMPATIBILITY block and moved the code to Old/NewPredictorOld.
   3. Fixed: One of the decoder initialization routines did not handle failures
      nicely.
Version 12.97 (May 20, 2026)
   1. Fixed: ALAC was not working since adding the UAC checks in 11.17.
   2. Changed: Updated to NSIS 3.12.
   3. Changed: Updated to QAAC 2.87.
Version 12.96 (May 19, 2026)
   1. Changed: The program uses the SegmentHeap for better memory allocation.
Version 12.95 (May 18, 2026)
   1. Fixed: Flipping to the pause menu item while processing could lead to
      problems.
Version 12.94 (May 18, 2026)
   1. Changed: Clicking a menu item again will close the menu.
   2. Changed: Mousing over other menu items when one is open will open the
      other.
Version 12.93 (May 13, 2026)
   1. Changed: Updated to Visual Studio 2026 18.6.0 (updates to the faster
      v14.51 toolset).
   2. Changed: Updated to the 10.0.2800.1839 Windows 11 SDK.
Version 12.92 (May 12, 2026)
   1. Changed: Right-click file list menus are font customized the same as
      program menus.
Version 12.91 (May 9, 2026)
   1. Fixed: Menu fonts could be incorrect when switching in and out of
      processing mode in the last build.
Version 12.90 (May 9, 2026)
   1. Fixed: Pressing ALT was not being handled nicely in the last build.
Version 12.89 (May 9, 2026)
   1. Fixed: The processing menu wasn't showing (with pause and stop) for the
      last few builds.
   2. Fixed: The file information dialog respects font sizes better.
Version 12.88 (May 6, 2026)
   1. NEW: The text for the menu (File, Mode, etc.) is drawn respecting the
      font size setting (instead of using the system menu setting).
Version 12.87 (May 6, 2026)
   1. Fixed: The compression menu could be disabled when picking "Convert" for
      the mode.
Version 12.86 (May 6, 2026)
   1. Changed: Removed extra checkmark state from the menu and preserve the
      checkmark when changing to owner draw.
   2. Changed: Separators are now owner drawn in menus like all the other
      items.
Version 12.85 (May 5, 2026)
   1. Changed: Tuned the menu checkmark drawing to be higher quality.
Version 12.84 (May 4, 2026)
   1. Fixed: Improved the menu drawing.
   2. Fixed: Menus wouldn't refresh when changing the font size in Options.
Version 12.83 (May 3, 2026)
   1. Fixed: Menu navigation with the up and down arrow would stop at menu
      separators for the last few builds.
   2. Changed: Menus use a piece of art from the program instead of a system
      image for the checkmark (because then transparency works nicely).
Version 12.82 (May 3, 2026)
   1. Fixed: Disabled menu items did not draw disabled in the last builds.
   2. Fixed: External formats would not show their checkmark when selected.
   3. Changed: Menus get their colors from the system API.
Version 12.81 (May 2, 2026)
   1. Fixed: The menu while processing could be invalid in the last build.
   2. Changed: When closing while processing, a confirmation message is shown
      to make sure it was intended.
Version 12.80 (May 2, 2026)
   1. NEW: The font size selection is honored in all the menus by using custom
      drawn menus (please_report_any_issues).
Version 12.76 (May 2, 2026)
   1. NEW: Added -tagdump to the command line program to output a tag (similar
      to the file info panel in the GUI).
   2. Changed: Updated to Visual Studio 2026 18.5.2.
   3. Changed: The console sets the text mode to UTF-16 so it will hopefully
      display Chinese characters nicely.
Version 12.75 (April 27, 2026)
   1. Changed: Corrected the Clang warnings with the new MD5 code.
Version 12.74 (April 27, 2026)
   1. Changed: Switched to a FreeBSD MD5 implementation that's more compatible
      with the open source Monkey's Audio license.
Version 12.73 (April 25, 2026)
   1. NEW: Data can be piped to the decoder (example 1: MAC.exe - C:\Out.wav -
      d < C:\In.ape | example 2: MAC.exe - - -d < C:\In.ape > C:\Out.wav)
   2. Changed: Modern common controls are called for in the manifest instead of
      in the code.
   3. Changed: When decoding from a pipe or other unknown length file, the
      entire input file is read to a buffer so the length can be properly
      calculated and seeks for each frame work properly.
Version 12.72 (April 24, 2026)
   1. Changed: Switched back to Visual Studio Community now that the fix is
      published (version 18.5.1).
Version 12.71 (April 24, 2026)
   1. Changed: Switched to the latest Windows SDK (10.0.28000).
Version 12.70 (April 22, 2026)
   1. Changed: Renewed the code signing certificate for another year.
   2. Changed: Updated to Visual Studio Insiders 11716.218.
Version 12.67 (April 16, 2026)
   1. Fixed: The 64-bit install would use the XP compile of MACDll.dll.
Version 12.66 (April 14, 2026)
   1. Fixed: The progress bar would not reposition when dragging between
      monitors at different scale factors.
   2. Changed: Updated to Visual Studio Insiders 11709.129.
Version 12.65 (April 13, 2026)
   1. Fixed: The statusbar would not update correctly when dragging between
      monitors at different scales.
   2. Fixed: The statusbar sizing should be better (was incorrectly using the
      scale factor twice).
Version 12.64 (April 11, 2026)
   1. Changed: The list of pages in options auto-sizes based on the font
      selection (previously large font selections could cause truncation).
   2. Changed: Did some work on the toolbar layout (removed vertical spacing,
      size independently, etc.).
   3. NEW: Added a File Info toolbar button.
Version 12.63 (April 6, 2026)
   1. Changed: The list selection state is preserved when sorting.
Version 12.62 (April 3, 2026)
   1. Changed: The disabled toolbar image is created explicitly (because
      letting the system create it makes artifacts in the images).
Version 12.61 (April 3, 2026)
   1. Changed: The about box builds fonts using the same system scaling that
      the main user interface uses (and honors the font size setting).
   2. Changed: Updated to Visual Studio Insiders 11626.173.
   3. Changed: Updated to the modern common controls for a little nicer UI.
   4. Changed: Switched to a different sizing method for the toolbar (please
      report any issues).
Version 12.60 (March 20, 2026)
   1. Changed: Updated the comment on APE_INFO_TAG to denote it returns an
      IAPETag interface now.
   2. Changed: Put APE_ in front of the macros in APEInfo.h.
   3. Changed: Switched the versioning define to work around the compiler
      seeing build numbers as octal when they start with zero (please report
      any issues).
   4. Changed: Removed GetName(...) from IAPEIO because it was never used and
      was not safe against buffer overruns.
Version 12.59 (March 19, 2026)
   1. Changed: Made CreateIAPEIO a DLL export so it can be used externally.
Version 12.58 (March 18, 2026)
   1. Changed: Automatically choose the platform based on known macros (like __
      linux__) when nothing is set already.
   2. Changed: Renamed the new exports from APE_GetUTF8FromUTFN and APE_
      GetUTFNFromUTF8 to just GetUTF8FromUTFN and GetUTFNFromUTF8.
Version 12.57 (March 18, 2026)
   1. Changed: Move some more defines to IAPETag.h to aid building with third
      parties.
Version 12.56 (March 18, 2026)
   1. Changed: Moved IAPETag.h to the shared folder.
Version 12.55 (March 18, 2026)
   1. Changed: Updated to Visual Studio Insiders 11612.153.
   2. Changed: Moved field definitions to IAPETag.h from APETag.h.
   3. NEW: Added a CreateIAPETag function to the exports.
   4. NEW: Added APE_GetUTFNFromUTF8 and APE_GetUTF8FromUTFN to the exported
      functions.
Version 12.54 (March 17, 2026)
   1. Fixed: Renamed APETag to IAPETag in the make file (that's the interface
      file that replaces the full implementation).
Version 12.53 (March 17, 2026)
   1. Changed: Switched from CAPEInfo to IAPEInfo in calls like
      CreateIAPEDecompressEx2 to avoid needing the full declaration.
   2. NEW: Added a note to the installer of the 64-bit on an older OS that the
      32-bit works on XP, Windows 7, etc.
   3. Changed: Made the constructor of CSmartPtr explicit to avoid ambiguous
      assignment with an equal operator.
   4. NEW: Added the function CreateIAPEInfo to the exports.
   5. NEW: Added an IAPETagField interface to allow walking a tag using an
      interface.
   6. Changed: Incremented the library interface version due to the changes
      (now 15).
Version 12.52 (March 11, 2026)
   1. Fixed: The EAC link in the help menu was no longer working.
   2. Changed: Switched to APE_ALIGN_x_BYTE macros for the WAV and W64
      alignment.
Version 12.51 (March 10, 2026)
   1. Fixed: RIFF headers for WAV use 2-byte alignment and W64 use 8-byte
      alignment (parsing could fail without this).
   2. Changed: Updated to Visual Studio Insiders 11605.296.
Version 12.50 (March 1, 2026)
   1. NEW: Added a native Arm64 build.
   2. Fixed: All the components were not signed in the last build.
Version 12.41 (March 1, 2026)
   1. Fixed: Several project fixes from the latest changes (thanks Robert
      Kausch!).
Version 12.40 (March 1, 2026)
   1. Changed: Made the XP projects discrete (aids the SDK, JRiver, etc.).
   2. Changed: Changed to the modern architecture for the 32-bit MACDll used
      for Winamp, Cool Edit, etc. in the 64-bit build.
Version 12.36 (February 25, 2026)
   1. Fixed: Got the SDK building again after the switch to 32-bit XP and 64-
      bit modern.
   2. Changed: Removed the Clang error suppressions from the ARM projects (to
      match the Windows projects now).
   3. Changed: Updated to Visual Studio Insiders 11519.219.
Version 12.35 (February 21, 2026)
   1. Fixed: Cleaned up a redefinition in the Windows version that could happen
      with WindowsEnivronment.h in some cases.
   2. Changed: Define APE_OVERRIDE for C++11 instead of only MSVC.
   3. Changed: Updated to Visual Studio Insiders 11513.90 because it fixes the
      bogus Clang warnings (so removed the suppressions from Clang).
Version 12.34 (February 20, 2026)
   1. Changed: DS64 headers are read to get the file length instead of assuming
      the data goes to the end of the file. Makes ID3 tags read from some huge
      WAV files.
Version 12.33 (February 19, 2026)
   1. Changed: Made some corrections to aid compiling with toolsets other than
      MSVC.
Version 12.32 (February 19, 2026)
   1. Changed: Made the statusbar hold the field with the number of files
      better after compression (could truncate in the last builds).
   2. Changed: Removed the XP projects and instead just configure the 32-bit
      compiles to be XP compatible (note that this was not done for the VS2022
      projects).
Version 12.31 (February 19, 2026)
   1. Fixed: The 32-bit build was using "Monkey's Audio Legacy" for the
      registry settings in the last build.
   2. Changed: Removed string defines for old versions of Windows because they
      were making XP not build (so no longer seem necessary).
Version 12.30 (February 19, 2026)
   1. Changed: Made the 32-bit build all XP compatible and removed the separate
      download.
Version 12.23 (February 18, 2026)
   1. Changed: Added a CAPETicks header file and moved all the tick count code
      (for all platforms) into it.
   2. Fixed: AVX-512 was incorrectly disabled for the 32-bit build after the
      legacy build changes.
Version 12.22 (February 16, 2026)
   1. NEW: Made a separate build for Windows XP and Windows 7 with the full
      GUI.
Version 12.21 (February 16, 2026)
   1. Changed: Added a "Visual Studio - 2022" folder to the SDK.
Version 12.20 (February 16, 2026)
   1. NEW: Released a legacy console program that runs on Windows XP and
      Windows 7.
   2. NEW: Switched back to the modern toolset and removed Windows 7.
Version 12.14 (February 13, 2026)
   1. Changed: Put APE_ in front of the stringize macros to avoid collisions.
Version 12.13 (February 12, 2026)
   1. Changed: Made License.txt ANSI and removed the copyright symbol.
   2. Fixed: Corrected a typo in the comment of GDIBitmapPtr.h.
   3. Fixed: The copy in the memory I/O object was using a possibly too big
      value to memcpy.
   4. Fixed: Made the APE link code work if the I/O object returned APE_FILE_
      SIZE_UNDEFINED.
   5. Fixed: Corrected a compile problem on non-Unicode Windows.
   6. Changed: Made strings in the version file not concatenate wide and narrow
      strings because really old compilers can fail on that.
   7. Changed: Updated to Visual Studio 2026 (Version 18.3.0).
Version 12.12 (February 5, 2026)
   1. Changed: The statusbar adjusts the widths based on the font the program
      is using.
Version 12.11 (February 2, 2026)
   1. Changed: Cleaned up some more string usage.
Version 12.10 (Febuary 1, 2026)
   1. Changed: Switched strings in the resource file to be more explicit about
      ANSI vs UTF-16.
   2. Fixed: Console was not building on MinGW.
Version 12.09 (January 29, 2026)
   1. Changed: Removed the copyright symbol from all the copyrights (program
      and webpage).
Version 12.08 (January 29, 2026)
   1. Changed: Updated CMakeLists.txt to work on systems that don't support
      pedantic warnings.
   2. Changed: Saved All.h as ANSI instead of UTF-8 (the copyright symbol
      should still work) because UTF-8 is not accepted by some compilers.
Version 12.07 (January 29, 2026)
   1. Changed: The number of threads can be called with APE_THREADS_AUTOMATIC
      which uses the CPU count with C++11.
Version 12.06 (January 27, 2026)
   1. Changed: Compression was allocating two channels for mono files for no
      reason (please report any issues).
   2. Changed: Added a file APEThreads.h you can include that contains a macro
      for setting the number of threads for encode or decode using the CPU
      cores.
Version 12.05 (January 23, 2026)
   1. Changed: Updated to Visual Studio 2026 (Version 18.2.1).
   2. Fixed: The SDK was not building since the Visual Studio version merge.
Version 12.04 (January 19, 2026)
   1. Changed: Updated to WavPack 5.9.0.
Version 12.03 (January 19, 2026)
   1. NEW: Added support for 8-bit unsigned AIFF files (marked with "raw ").
   2. NEW: Added support for AIFF files marked with "twos" (endian flipped
      sowt).
   3. Changed: No longer wait or destroy windows from external encodes because
      FLAC no longer needs it (please report any issues).
Version 12.02 (January 15, 2026)
   1. Fixed: A couple other files were not building on PowerPC.
Version 12.01 (January 15, 2026)
   1. Fixed: When converting a big batch of files with the FLAC format the
      window of new processes could be incorrectly closed by finishing of other
      processes (maybe the name containing dashes was a problem) so the
      conversion did not succeed.
   2. Fixed: Circle buffer was not building on PowerPC because of a missing
      include.
Version 12.00 (January 13, 2026)
   1. Changed: Merged the DirectShow filter into MACDll (already used for
      Winamp, Cool Edit, etc.).
   2. Changed: Standardized the copyright string used on the webpage and in the
      program.
   3. Changed: Brought CGDIBitmapPtr back for VS2022 (VS2026 just does a
      regular delete in it).
   4. Changed: Check return values on FillBitArray(...) calls to check for read
      failures.
   5. Changed: Updated to Visual Studio 2026 (Version 18.2.0).
Version 11.91 (January 7, 2026)
   1. Changed: Updated to Visual Studio 2026 (Version 18.1.1).
   2. Changed: Merged the VS2026 and VS2022 folders to "Visual Studio" now that
      VS2026 uses the 2022 platform toolset.
Version 11.90 (December 12, 2025)
   1. Changed: Updated to Visual Studio 2026 (Version 18.1.0).
   2. Changed: Some internal code cleanup (please report any issues).
Version 11.89 (December 2, 2025)
   1. Changed: Revised comment parsing from ID3v2 tags so the second string in
      a comment no longer requires a NULL terminator (please report any
      issues).
   2. Changed: Updated to Visual Studio 2026 (Version 18.0.2).
   3. Changed: Removed the GDI bitmap pointer because now a simple CSmartPtr
      works (was just a Clang problem).
Version 11.88 (November 24, 2025)
   1. Changed: Track numbers stored like #/# will be put in the APE tag the
      same way from ID3v2 tags (instead of just reading only the track).
Version 11.87 (November 21, 2025)
   1. Changed: Switched to the VS2022 runtimes so Windows 7 and 8 compatibility
      remain without a special build.
   2. Changed: Updated to Visual Studio 2026 (Version 18.0.1).
   3. Changed: Suppress unused command line arguments in the VS2026 projects
      because Microsoft said they may never fix the problem.
Version 11.86 (November 18, 2025)
   1. Changed: Added version checking at install time for Windows 7 so the new
      installer will not try to install any longer.
Version 11.85 (November 17, 2025)
   1. Changed: Using the newest tools again but then providing Windows 7
      download links on the download page that link to builds that work on
      Windows 7.
Version 11.84 (November 17, 2025)
   1. Fixed: ID3v2 tags read the track and disc number like strings like other
      data so hopefully values stored with all encodings work.
Version 11.83 (November 16, 2025)
   1. Fixed: Windows 7 compatibility was broken because using the new C
      runtimes requires Windows 8 or newer. Switched back to the VS2022
      runtimes.
   2. Changed: Updated to Visual Studio 2026 (Version 18.0.0).
   3. Fixed: ID3v2 tags could read extra stuff at the end of strings if the
      tags were not NULL terminated.
Version 11.82 (November 10, 2025)
   1. NEW: Metrics about the file size and processing time are included in the
      File Info dialog (Ctrl+I).
Version 11.81 (November 5, 2025)
   1. Changed: Updated to Visual Studio 2026 (Version 11201.2).
   2. Changed: Issued the code signing certificate from Certum again (latest
      CardManager wasn't seeing cert so a bit of a worm-hole for a few days).
   3. Fixed: Corrected a place where the input source was being created and
      hadn't added the new boolean for reading the full input.
Version 11.80 (November 3, 2025)
   1. Changed: Reworked the console command line parsing so that parameter
      order should no longer matter (just put input filename before output
      filename).
   2. NEW: The console can be called with -readfullinput to read a pipe to an
      input buffer so the seek table will be allocated perfectly (instead of
      allocating an oversized seek table for an unknown length) (only engages
      on unknown length files) (example: flac.exe -dsc "1.flac" | mac.exe -
      "1.ape" -c3000 -readfullinput).
Version 11.71 (October 30, 2025)
   1. Changed: Updated the standard used by the makefile to support long long,
      etc. (thanks Jason E. Hale).
   2. Changed: The makefile outputs all warnings (hopefully there are none!).
Version 11.70 (October 28, 2025)
   1. Changed: Added instructions for building MAC under Linux on Windows with
      WSL to the readme in the SDK.
   2. Changed: Added the VS2022 projects back because they could be needed by
      third-parties (like JRiver).
   3. Changed: Updated to Visual Studio 2026 (11123.170).
   4. Changed: Added GetFieldNumber to the IAPETag interface for retrieving
      numeric versions of fields.
   5. Changed: Renamed some of the old MACLib files to put Old in the names and
      removed a dash in another.
Version 11.65 (October 22, 2025)
   1. Changed: Updated to Visual Studio 2026 (11116.177).
   2. Changed: Removed a patch for 3.99 files that were converted from APE to
      APE and had the file tag as part of the WAV terminating data (it's been
      over twenty years).
   3. Changed: Updated the years to 2026.
   4. Changed: Various code cleanup changes (hopefully internal changes, but
      please report any issues).
Version 11.64 (October 19, 2025)
   1. Fixed: The console program was not being updated in the 32-bit install.
Version 11.63 (October 19, 2025)
   1. Fixed: APE files from pipes could have no header in certain cases so the
      decompressed WAV would not work.
   2. Changed: Updated to Visual Studio 2026 (11111.16).
Version 11.62 (October 12, 2025)
   1. Changed: Removed VS2022 from the project completely (some pieces were
      still being used).
Version 11.61 (October 11, 2025)
   1. Changed: Updated the size icon (SVG like all the other icons).
Version 11.60 (October 10, 2025)
   1. Changed: Added a new size icon for options.
Version 11.59 (October 10, 2025)
   1. Changed: Switched to a better method for getting the font height.
Version 11.58 (October 10, 2025)
   1. NEW: Added the program size and font size settings to the Options dialog.
   2. Changed: Updated to Visual Studio 2026 (18.0.0 / 11109.219).
Version 11.57 (October 7, 2025)
   1. Changed: The font is retrieved using SystemParametersInfoForDpi so it
      should scale nicely for any DPI now.
Version 11.56 (October 7, 2025)
   1. Fixed: The font would not scale properly when switching between different
      scale monitors.
Version 11.55 (October 7, 2025)
   1. Fixed: The comments in ID3v2 tags could be read incorrectly.
   2. Changed: When an ID3v2 tag has multiple comments, they're appended
      together with a semi-colon between the values.
   3. Changed: Updated to Visual Studio 2026 (18.0.0 / 11104.47).
Version 11.54 (September 26, 2025)
   1. Fixed: If external encoders encountered an error, the popup could be left
      open in some cases.
   2. Changed: Updated to Visual Studio 2026 (18.0.0 / 11018.127).
Version 11.53 (September 20, 2025)
   1. Changed: Updated the SDK to build with VS2026 (was still using VS2022).
Version 11.52 (September 20, 2025)
   1. Changed: Removed the usage of constexpr because that doesn't compile on
      Linux always (requires -std=c++11 or -std=gnu++11).
Version 11.51 (September 19, 2025)
   1. Fixed: Converting APE to APE of floating point files was not working
      properly.
   2. Changed: Switched the processing defaults so signed 8-bit and big endian
      processing no longer happen when passing NULL as the APE_GET_DATA_
      PROCESSING since they're normally not needed, but float processing still
      happens with NULL.
Version 11.50 (September 18, 2025)
   1. Fixed: Big endian 24-bit and signed 8-bit would decode incorrectly in
      CoolEdit.
   2. Changed: Updated to Visual Studio 2026 (18.0.0 / 11012.119).
   3. Changed: Switched a few macros to constexpr.
Version 11.43 (September 6, 2025)
   1. Fixed: Corrected a typo in CMakeLists.txt.
   2. Changed: Added the /Zc:__cplusplus switch to compilation of MACLib so it
      defines a modern C++ standard and uses nullptr, etc.
Version 11.42 (September 5, 2025)
   1. Fixed: Reading with the header reader fully from the buffer could return
      the wrong number of bytes read.
   2. Changed: Updated the code that APE_BACKWARDS_COMPATIBILITY is needed for
      files earlier than 3.99 now (was 3.92 previously).
   3. Changed: Updated the name to IAPEIO.h in CMakeLists.txt.
Version 11.41 (September 1, 2025)
   1. Changed: Renamed IO.h to IAPEIO.h so it won't fight with the system
      include (makes the standard IO model code build on Windows nicely).
Version 11.40 (August 29, 2025)
   1. Fixed: Reading from standard input could fail because it was wrapped with
      a header reader that didn't handle the number of bytes read properly.
   2. Changed: Renewed the code signing certificate for another year.
   3. Fixed: Some functions building without Unicode still had old names so the
      compile would fail.
   4. Changed: Renamed some variables to str_utfn from wchar_t to be more
      consistent with the APE naming.
Version 11.38 (August 20, 2025)
   1. Fixed: There were renames of UTF16 to UTFN (Linux often uses UTF32) that
      hadn't happened in console.
   2. Changed: Updated to Visual Studio 17.14.13.
Version 11.37 (August 14, 2025)
   1. Changed: Updated to Visual Studio 17.14.12.
Version 11.36 (August 11, 2025)
   1. NEW: The registry value "Font Size" can be set (DWORD, defaults to 100)
      to change the font size (instead of using the default GUI font size).
   2. Fixed: The calls in StdLibFileIO were not updated for the new UTFN vs
      UTF16 name changes.
Version 11.35 (August 11, 2025)
   1. Changed: Made statusbar fields a little wider (to better support large
      font sizes).
   2. Fixed: Creating UTF-8 on UTF-32 systems would not encode four byte
      sequences properly.
   3. NEW: The program can take an optional "Size" setting in the registry to
      adjust the program scaling (100 is default).
Version 11.34 (August 11, 2025)
   1. Changed: Adjusted some more scaling settings (was applying scale two
      times to font heights).
   2. Fixed: The statusbar adjusts the width of the fields when dragging
      between different DPI monitors.
Version 11.33 (August 10, 2025)
   1. Changed: The program better supports Windows font scaling.
Version 11.32 (August 8, 2025)
   1. Fixed: Corrected a possible memory overrun in the decoding of UTF-8
      (thanks tzh00203).
Version 11.31 (August 7, 2025)
   1. Changed: Added checking for extended, experimental, unsynchronized and a
      few other corner case ID3v2 tags and skip over them.
Version 11.30 (August 5, 2025)
   1. Made AIFF and WAV to APE conversion copy some ID3v2 tags (artist, album,
      name, image, etc.) (this makes WAV parsing read all the blocks instead of
      stopping after the data block, so please report any issues) (this also
      bumps the interface version now that tags can be passed to the compress
      calls).
   2. Fixed: Big endian 24-bit and signed 8-bit would play as static in Winamp.
   3. Changed: Updated to Visual Studio 17.14.11.
Version 11.22 (July 24, 2025)
   1. Fixed: The Winamp plugin could crash when playback was getting the file
      information from the plugin (depended on a Winamp setting).
Version 11.21 (July 17, 2025)
   1. Changed: Updated to Visual Studio 17.14.9.
   2. Changed: Consolidated the global variables in the Winamp plugin (needed
      since Winamp uses globals).
Version 11.20 (July 1, 2025)
   1. Changed: Worked through some Clang warnings in the DirectShow and Winamp
      code so suppression could be removed.
Version 11.19 (June 26, 2025)
   1. Changed: Updated to Visual Studio 17.14.7.
   2. Changed: Some work on Clang warning suppression (moved to Warnings.h
      instead of being project settings).
Version 11.18 (June 18, 2025)
   1. Changed: Cleaned up the file size checks for WAV files (please report any
      issues).
   2. Changed: Updated to Visual Studio 17.14.6.
Version 11.17 (June 11, 2025)
   1. Fixed: External encoders could fail (but only on certain systems).
   2. Changed: Added a check for UAC permission failures (by creating and
      deleting the working file) so a special error will be shown when that
      happens (otherwise the error was cryptic).
   3. Changed: Updated to Visual Studio 17.14.5.
Version 11.16 (June 4, 2025)
   1. Fixed: Got the SDKs building again (failing due to recent changes).
   2. Changed: Updated to Visual Studio 17.14.4.
Version 11.15 (May 30, 2025)
   1. Changed: Updated to Visual Studio 17.14.3.
   2. Changed: The Cool Edit filter is automatically installed if a copy of
      Cool Edit is on the system.
Version 11.14 (May 22, 2025)
   1. Fixed: Decoding the last track from a CUE (as APL, etc.) could fail
      because getting the length of the last frame was looking at a tag size
      when there was no tag there.
   2. Fixed: Seeking at the start for CUE file playback could fail with the new
      threading.
   3. Changed: Updated to Visual Studio 17.14.2.
Version 11.13 (May 21, 2025)
   1. Changed: Files marked as float but with 64-bit samples would get encoded
      but have the bitdepth changed. This was not correct so now the files are
      rejected.
Version 11.12 (May 19, 2025)
   1. Changed: Updated to 2.85 for the ALAC tool.
   2. Changed: Made toolbar buttons always the same width so the toolbar
      doesn't grow or shrink when the text changes with the selection.
Version 11.11 (May 14, 2025)
   1. NEW: Toolbar and menu buttons disable and enable based on the list
      selection.
   2. Changed: Updated to Visual Studio 17.14.0.
Version 11.10 (May 2, 2025)
   1. NEW: Added support for running on big-endian CPUs (thanks Robert
      Kausch!).
   2. NEW: Added AltiVec SIMD optimizations (thanks Robert Kausch!).
   3. NEW: Added support for the FL32 data type in AIFF files.
   4. Fixed: Fixed possible crash after decode errors.
Version 11.09 (April 27, 2025)
   1. Fixed: Sorting a big list of files by size was not always working nicely.
   2. Fixed: Compressing files with a 0 size extra block in the WAV header
      could throw an error that the format was not supported (because the data
      was being read even though 0 bytes were reported).
   3. Fixed: The program could have problems when it freed the memory after
      compressing certain files because of an overrun.
Version 11.08 (April 15, 2025)
   1. Fixed: The console was not doing a quick verify because of a case
      accident in the last build.
Version 11.07 (April 10, 2025)
   1. Changed: Switched the projects to just use the latest installed v10
      Windows SDK instead of a particular version.
   2. Changed: Cleaned up the console mode parsing (please report any issues).
Version 11.06 (April 10, 2025)
   1. Changed: More improvements to the argument parsing of the console so that
      it's wrapped in a class and can never check out of bounds.
Version 11.05 (April 10, 2025)
   1. Fixed: The console could crash checking for the thread argument because
      it was reading one element past the end of the arguments.
Version 11.04 (April 9, 2025)
   1. Changed: Made the Linux makefile better detect ARM.
   2. Changed: Updated to Visual Studio 17.13.6.
   3. Changed: Updated the installer to NSIS 3.11.
   4. Changed: Updated to version 2.84 of the ALAC tool.
Version 11.03 (April 6, 2025)
   1. NEW: Added RVV SIMD support for machines with those instructions.
   2. Changed: Minor optimization to the AVX512 processing (thanks Robert
      Kausch!).
   3. Changed: Added runtime detection of NEON SIMD for ARM64EC builds.
Version 11.02 (March 31, 2025)
   1. Changed: Got rid of pack(push, 1) commands and just suppress the packing
      warning because alignment at wider sizes should be more efficient.
   2. Changed: Small speedup (thanks Robert Kausch!).
Version 11.01 (March 31, 2025)
   1. Changed: Optimized processing to be around 10% faster (thanks Robert
      Kausch!).
   2. Changed: Converting tags to legacy (-L) will skip files that already have
      ID3 tags (instead of resaving).
Version 11.00 (March 28, 2025)
   1. NEW: Added multi-threaded encoding and decoding (thanks Robert Kausch!)
      (uses the same setting for concurrent files but when processing less
      files than threads it will increase the number of threads -- so one big
      CUE file will be much faster).
   2. Changed: Bumped the interface version because the number of threads was
      added.
   3. NEW: When compressing from the command line, specify something like -
      threads=16 after the compression level to set the number of threads.
      (example: MAC.exe "C:\1.wav" "C:\1.ape" -c2000 -threads=16 -
      t "Artist=Abba")
   4. NEW: When decompressing from the command line, specify something like -
      threads=16 after the decompress flag to set the number of threads.
      (example: MAC.exe "C:\1.ape" "C:\1.wav" -d -threads=16")
   5. NEW: When verifying from the command line, specify something like -
      threads=16 after the verify flag to set the number of threads. (example:
      MAC.exe "C:\1.ape" -v -threads=16")
   6. Changed: Renewed the code signing certificate for another year.
   7. Changed: Updated to Visual Studio 17.13.5.
   8. Fixed: The installer made an extra entry in the uninstall section of the
      registry with the start menu folder but now it is with the other
      uninstall data.
   9. Fixed: The path combobox did not allow entering a path longer than the
      combobox (it wasn't scrolling).
  10. NEW: Added a thanks to Robert Kausch in the About box for all his genius
      (32-bit float, multi-threading, etc.).
  11. Changed: Expanded the allowed number of simultaneous files to 32.
Version 10.96 (February 11, 2025)
   1. Changed: Updated to FLAC 1.5.0.
   2. Changed: Updated to Visual Studio 17.13.0.
Version 10.95 (February 11, 2025)
   1. NEW: Added support for setting cover art when tagging through the command
      line. Specify "Cover" as the field and pass a filename to tag with.
      Example: mac.exe "C:\1.ape" -t "Artist=Metallica|Cover=C:\1.jpg"
Version 10.94 (February 9, 2025)
   1. Changed: Increased the default number of files to process at once (using
      the max between machines cores divided by 4 and 4).
   2. Changed: Slight improvement to rendering the toolbar images.
Version 10.93 (February 6, 2025)
   1. Changed: Updated to WavPack 5.8.0.
   2. Changed: Reworked how images are freed to work around a Clang warning
      about unsafe deletion (warning could even be a Clang bug).
Version 10.92 (January 24, 2025)
   1. Changed: Updated the APE interface version and changed the input
      variables from BOOL to bool (standard C++ instead of Windows specific).
Version 10.91 (January 20, 2025)
   1. Changed: Unsupported types (like ALAC when iTunes isn't installed) won't
      be added to the Add File dialog.
   2. Changed: Some internal code restructuring (please report any issues).
Version 10.90 (January 18, 2025)
   1. Fixed: The toolbar could draw incorrectly when dragging between monitors.
   2. Changed: Preventing drag off the screen of options uses the working
      rectangle instead of the monitor rectangle so the start menu can no
      longer be covered.
Version 10.89 (January 17, 2025)
   1. Changed: Updated to Visual Studio 17.12.4.
   2. Changed: Change to how the DPI change message is routed so it uses a more
      common MFC framework.
Version 10.88 (January 14, 2025)
   1. Changed: When dragging the window from one scale monitor to another scale
      monitor the size could shift unexpectedly (now the window resizes using
      the system provided size).
Version 10.87 (January 4, 2025)
   1. Changed: The progress percentage is output to the command line window
      name.
Version 10.86 (December 28, 2024)
   1. Changed: Added RF64 and BW64 as supported file extensions (only WAV
      extension with that data was supported before).
Version 10.85 (December 10, 2024)
   1. Changed: Made readers no longer report pipes, but instead just flag it by
      returning an unknown length.
   2. Changed: Made the non-Windows file reader report unknown length for pipes
      (should help pipes on other platforms).
Version 10.84 (December 9, 2024)
   1. Fixed: When input data was from a pipe, it would still ask the file for
      the length which often returned 0 so the encode would fail. Now it
      returns a special value for pipes. Please report any issues.
Version 10.83 (December 4, 2024)
   1. Fixed: Converting FLAC files didn't retain the lyrics.
   2. Changed: Updated to Visual Studio 17.12.3.
Version 10.82 (November 29, 2024)
   1. Fixed: Revised how the path is loaded for the Winamp plugin install to
      hopefully fix problems with Wine and possibly other systems.
   2. Changed: Removed the ENABLE_COMPRESSION_MODE_ defines from the old
      decoding code. Turn off APE_BACKWARDS_COMPATIBILITY if you don't want the
      old modes.
   3. Changed: Turned backwards compatibility back on for Android because it
      builds fine.
   4. Changed: Updated to Visual Studio 17.12.2.
Version 10.81 (November 20, 2024)
   1. Changed: A tooltip is shown over truncated list elements with the full
      text.
   2. Changed: Updated to Visual Studio 17.12.1.
Version 10.80 (November 7, 2024)
   1. Changed: Renewed the code signing certificate for another year.
   2. Changed: Updated the definition of APE_TAG_FIELD_COVER_ART_FRONT so only
      the extension needs to be stored before the image data (but loading
      should check for full filenames as well).
   3. Changed: Conversion of FLAC files with PNG files instead of JPEG files
      works nicely to make images in the APE tags.
   4. Changed: Binary values and large values show a little nicer in the tag
      display of File Info (Ctrl+I).
Version 10.77 (October 16, 2024)
   1. Changed: Updated to Visual Studio 17.11.5.
   2. Changed: Removed a couple global variables.
   3. Changed: Removed the Kill function from IAPECompress because it wasn't
      doing anything.
   4. Changed: Updated the years to 2025.
   5. Fixed: Corrected a couple warnings that the latest compiler exposed.
Version 10.76 (August 15, 2024)
   1. Fixed: UTF-16 CUE files can be processed by the Make APL tool (and UTF-
      8 will be used otherwise instead of ANSI).
   2. Changed: Updated to Visual Studio 17.11.0.
Version 10.75 (August 11, 2024)
   1. Changed: Updated to Visual Studio 17.10.5.
   2. Changed: Corrected a few warnings surfaced by the updated compiler. Also
      updated naming of a few variables.
Version 10.74 (June 13, 2024)
   1. Changed: Updated to Visual Studio 17.10.2.
   2. Changed: Updated to 10.0.26100.0 Windows SDK.
   3. Changed: Removed libFLAC++.dll because it isn't used by FLAC.exe (please
      let me know if it's needed for anything).
Version 10.73 (May 14, 2024)
   1. Changed: Updated to Visual Studio 17.9.7.
   2. Changed: Corrected a couple more warnings in the new FLAC tag code from
      the latest Visual Studio update.
Version 10.72 (May 4, 2024)
   1. Fixed: Copying FLAC tags breaks out when it finds the last frame instead
      of still looping the file which fixes crashes on certain files.
   2. Changed: Updated the installer to NSIS 3.10.
   3. Changed: Updated to version 2.82 of the ALAC tool.
Version 10.71 (April 19, 2024)
   1. Changed: Cleaned up all the warnings in the new FLAC tag code.
Version 10.70 (April 18, 2024)
   1. NEW: When converting from FLAC the tags are copied. If there are
      additional tags you have that are not being copied, please_provide_a
      sample.
Version 10.65 (April 16, 2024)
   1. Fixed: APE files larger than 4 GB would not decode properly for the last
      while (because the RF64_HEADER was not getting allocated).
Version 10.64 (April 16, 2024)
   1. Changed: More version cleanup (should be internal changes, but please
      report any issues).
Version 10.63 (April 16, 2024)
   1. Changed: Moved some of the older decoding code into a separate class
      (please report any issues).
   2. Changed: APE_BACKWARDS_COMPATIBILITY caps at version 3.99 files (files
      date from before 2004).
Version 10.62 (April 15, 2024)
   1. Changed: The options and about dialogs can no longer be dragged off the
      monitor they were started on (because the scale is loaded one time and
      different monitors could have different scales).
   2. Changed: Updated to Visual Studio 17.9.6.
Version 10.61 (March 27, 2024)
   1. Changed: Updated to Visual Studio 17.9.5.
Version 10.60 (March 19, 2024)
   1. NEW: Switched to an open source code signing certificate.
   2. Changed: Updated to Visual Studio 17.9.3.
   3. Fixed: A compile problem on Gentoo Linux about casting the sample rate as
      a double.
Version 10.55 (March 12, 2024)
   1. Changed: Switched DirectShow Filter install to the InstallLib command in
      NSIS and removed the parts in the Monkey's Audio program (filters should
      still register, but please report any issues).
Version 10.54 (March 11, 2024)
   1. Fixed: The DirectShow filter did not install 64-bit version properly so
      64-bit DirectX programs could not find it (NSIS did not register 64-bit
      DLLs properly).
   2. Fixed: Cleaned up the DirectShow Filter because it had some preprocessor
      defines causing problems in some configurations, also removed a pin name
      causing Clang warnings (MSDN said it was obsolete). Please report any
      issues.
Version 10.53 (March 6, 2024)
   1. Changed: Updated to WavPack 5.7.0 (uses threads for better performance).
   2. Changed: Moved the build signing to the build script from the compiler
      settings (should be internal change, but please report any issues).
Version 10.52 (February 28, 2024)
   1. Changed: Updated to Visual Studio 17.9.2.
   2. Changed: Split the Direct Show SDK off to a seperate library.
   3. Changed: Enabled Clang on the remaining Direct Show filter code and
      worked through the warnings.
Version 10.51 (February 22, 2024)
   1. Changed: Updated to Visual Studio 17.9.1 (fixes possible problem with
      older CPUs due to a compiler bug).
Version 10.50 (February 14, 2024)
   1. Changed: Updated to Visual Studio 17.9.0.
   2. Changed: Updated to version 2.81 of the ALAC tool.
Version 10.49 (February 9, 2024)
   1. Fixed: Adding data with lock and unlock buffer was not doing floating
      point processing like the other ways to add.
Version 10.48 (January 31, 2024)
   1. Changed: The range lookup table is created at construction time of the
      bit array for the appropriate version so it won't need to be checked each
      call (please report any issues).
   2. Changed: Updated to Visual Studio 17.8.6.
   3. Changed: Now use APE_NULL solution wide instead of NULL sometimes.
Version 10.47 (January 30, 2024)
   1. Changed: Switched to APE_NULL for the range table creation checks.
   2. Changed: Corrected a couple warnings about data type conversion.
Version 10.46 (January 29, 2024)
   1. Changed: Switched the range tables to smart pointers so only the one
      being used will be built.
Version 10.45 (January 26, 2024)
   1. Changed: Switched the range table lookup tables to members from statics
      to avoid possible race conditions.
Version 10.44 (January 23, 2024)
   1. Fixed: Building APE_INFO_WAV_TOTAL_BYTES was not working properly because
      it read the header and footer size before they were loaded.
   2. Changed: Updated to Visual Studio 17.8.5.
Version 10.43 (January 11, 2024)
   1. Changed: Updated to Visual Studio 17.8.4.
   2. Fixed: Corrected a couple warnings that snuck in from the last changes.
Version 10.42 (January 6, 2024)
   1. Fixed: Encoding files with the same name at the same time could fail to
      build an output filename because it would get a unique name then it could
      be gone by the time it used it. Now it tries again.
Version 10.41 (January 6, 2024)
   1. NEW: Auto works for output filenames when compressing from the command
      line (just like auto for decoding).
   2. Changed: Failures decoding legacy files better raises the actual error
      code (instead of just being undefined).
   3. Changed: Made an internal change to the buffering readers to simply
      reject write calls (please report any issues).
   4. Changed: Switched some variables to smart pointers (also internal change,
      but please report any issues).
Version 10.40 (January 3, 2024)
   1. Fixed: The new header reader was not reporting position correctly so some
      files would fail to encode.
Version 10.39 (January 3, 2024)
   1. Changed: The list no longer updates when paused (it would flicker).
   2. Fixed: Compressing float files that were not marked as 32 bits per sample
      would not work properly.
   3. Fixed: WAV files that report chunk sizes that exceed the size of the file
      now fail with an invalid input file error.
Thanks to Minseo Kim and DongEun Kim of the WHS WWW Team for their help finding
and fixing these problems.

Version 10.38 (December 22, 2023)
   1. Changed: Made the sanity check for WAV headers that are too large 8 MB
      instead of 1 MB (a user sent a file with an over 1 MB header) (now the
      same size is checked at encode and decode).
Version 10.37 (December 19, 2023)
   1. Changed: Added support for files with the header format all zeroes
      (instead of KSDATAFORMAT_SUBTYPE_PCM, etc.).
Version 10.36 (December 17, 2023)
   1. Changed: Made the new header reader support seeking because it was
      necessary for AIFF files.
Version 10.35 (December 17, 2023)
   1. Changed: Made the new header reader simply fail on seek (seek shouldn't
      be necessary).
   2. Changed: Switched to smart pointers for the I/O objects in the encoding
      stage.
   3. Fixed: The header reader was not always returning the number of bytes
      read properly.
Version 10.34 (December 16, 2023)
   1. Fixed: Reading the header (recent addition) was causing problems with
      some files.
Version 10.33 (December 16, 2023)
   1. Changed: Made the program detect the incoming file type by reading the
      header instead of looking at the extension (makes W64 with WAV extensions
      work, etc.).
   2. Changed: Added support for files with the BW64 header.
Version 10.32 (December 15, 2023)
   1. Fixed: WAV files with extra markers that said they were float (support
      added a few builds ago) were not always processing properly.
Version 10.31 (December 15, 2023)
   1. Fixed: Big endian conversion was not accounting for channels properly so
      files could fail to decode properly.
Version 10.30 (December 13, 2023)
   1. Fixed: WAV files with an extra marker would only encode if they were PCM
      (float wasn't passing the test).
   2. Fixed: Floating point AIFF compression was not working properly.
   3. Changed: Updated to Visual Studio 17.8.3.
   4. Changed: Revised code signing. Internal change, but please report any
      issues.
Version 10.29 (November 24, 2023)
   1. Changed: Switched some memory operations to use better sizing so they
      adjust automatically as variables change.
   2. Changed: Enabled Clang-Tidy on the Direct Show filter and worked through
      some of the warnings.
Version 10.28 (November 21, 2023)
   1. Fixed: Corrected a possible issue decoding 3930 to 3950 files.
   2. Changed: Updated to Visual Studio 17.8.1.
Version 10.27 (November 16, 2023)
   1. Changed: APE tag details are reported for WavPack files when viewing file
      information.
   2. NEW: When converting a WavPack file to APE, the APE tag is copied.
   3. Changed: Updated to Visual Studio 17.8.0.
Version 10.26 (November 7, 2023)
   1. Changed: Updated to Visual Studio 17.7.6.
   2. Changed: Added a digital signature to the DirectShow filter.
   3. Changed: Added decoding support for version 4.11 files. There have been a
      couple reports of them. I don't know where they came from, but they
      verify using the latest code. Please share if you know about the origins.
Version 10.25 (October 12, 2023)
   1. Changed: Made use of a new APE_INFO_MD5_MATCHES test during quick verify.
      This way reading the MD5 is wrapped up nicely.
   2. Changed: Switched CAPEDecompress::GetInfo to a switch statement for
      slightly better performance.
   3. Changed: Updated to Visual Studio 17.7.5.
Version 10.24 (September 29, 2023)
   1. NEW: Added APE_INFO_MD5 to the info object because a third-party
      developer wanted it.
Version 10.23 (September 27, 2023)
   1. Fixed: 32-bit ARM could crash because it was enabling an intrinsic that
      was not available.
Version 10.22 (September 14, 2023)
   1. Fixed: Little endian AIFF files would not encode properly.
Version 10.21 (September 14, 2023)
   1. Changed: Updated to Visual Studio 17.7.4.
   2. Changed: Updated the copyrights to 2024.
   3. Changed: The check for AIFF / AIFC in file headers was incorrectly
      allowing other things to pass.
Version 10.20 (August 27, 2023)
   1. Changed: Added a License.txt file by the installer that gets copied to
      the install path (also included in the SDK).
   2. Changed: Updated to Visual Studio 17.7.2.
   3. Changed: Added a license link to the help menu.
   4. Changed: Changed a few variables to have APE_ names because JRiver was
      having compile problems (Objective C doesn't care that things are in a
      namespace).
Version 10.19 (August 19, 2023)
   1. NEW: Added the ability to convert tags to legacy ID3v1 in the console
      program (my car stereo needs this).
   2. Changed: Updated to Visual Studio 17.7.1.
Version 10.18 (August 10, 2023)
   1. Changed: Switched to the three_clause_BSD_license to simplify inclusion
      of the source code.
   2. Changed: Renamed some macros from MAC_ to APE_ since APE is a little more
      widely used now.
   3. Changed: Updated to Visual Studio 17.7.0 (fixed code analysis warning
      about directories in the last builds).
   4. Changed: Updated the installer to NSIS 3.09.
   5. Changed: Updated to version 2.80 of the ALAC tool.
Version 10.17 (June 29, 2023)
   1. Changed: In task manager, Monkey's Audio is listed without the "windows
      program" footer.
   2. Changed: Updated to FLAC 1.4.3.
   3. Changed: Tuned the sizing of the large tag field getting a little.
   4. Changed: Updated to Visual Studio 17.6.4.
Version 10.16 (May 31, 2023)
   1. Fixed: Getting a large APE tag field could return a buffer size that was
      too small so the next get would fail.
Version 10.15 (May 31, 2023)
   1. Changed: Tuned the error handling a little more.
Version 10.14 (May 31, 2023)
   1. Fixed: A corrupt frame could put the decoder into an endless loop trying
      the frame again which made players like Winamp, MC, etc. hang (feedback
      appreciated).
   2. Changed: Updated to Visual Studio 17.6.2.
Version 10.13 (May 23, 2023)
   1. Fixed: The AVX-512 code could fail to compile on some systems.
   2. Changed: Updated to Visual Studio 17.6.1.
   3. Changed: Enabled reference optimization which makes the build smaller.
   4. Changed: Updated to WavPack 5.6.4.
Version 10.12 (May 19, 2023)
   1. Changed: Simplified the license_agreement to make it easier for inclusion
      in other projects.
   2. Changed: Updated to version 2.79 of the ALAC tool.
   3. Changed: The button images are created only once instead of again for the
      options dialog (slightly faster).
   4. Changed: Winamp settings are stored in a section marked APE Plugin
      Settings when writing to the Winamp INI file.
   5. Changed: Workaround a few NOLINT markers.
   6. Changed: Updated to Visual Studio 17.6.0.
Version 10.11 (May 4, 2023)
   1. NEW: Added Shorten as another supported format for compressing and
      decompressing (verify is not available).
   2. Changed: Updated to Visual Studio 17.5.5.
Version 10.10 (April 28, 2023)
   1. Changed: A font is created for the list control that should better
      support international characters.
   2. Changed: The program better supports filenames longer than MAX_PATH
      (since Windows supports those too).
   3. NEW: Added a Compress.bat and Decompress.bat file to the install path. It
      allows dragging multiple files from Explorer to process.
   4. Changed: Prefixed a few macros with APE_ to avoid collisions with other
      projects (ODN, ODS, MBN, etc.).
   5. Fixed: Systems with AVX-512 support that had the support disabled by the
      OS could fail to work.
Version 10.09 (April 12, 2023)
   1. Changed: Got an updated WavPack definition file from David Bryant that
      adds more compression modes.
   2. Fixed: 32-bit floating point files did not decode nicely with Cool Edit.
Version 10.08 (April 2, 2023)
   1. Fixed: When processing, if you would drag the program to a different
      monitor the toolbar would be created in the non-processing mode.
   2. Changed: Column widths should maintain better dragging between different
      scaled monitors.
   3. Fixed: Some files in the WAVE_FORMAT_EXTENSIBLE format would not start
      for the last few builds.
Version 10.07 (March 22, 2023)
   1. Changed: Improved ARM support.
   2. Changed: Updated to Visual Studio 17.5.3.
Version 10.06 (March 20, 2023)
   1. Changed: Switched the size of the float transform to int64 to avoid
      overflows.
Version 10.05 (March 20, 2023)
   1. Changed: Removed the no longer needed IO.cpp file.
Version 10.04 (March 20, 2023)
   1. Changed: Made all processing happen when NULL is passed to GetData
      instead of no processing.
Version 10.03 (March 19, 2023)
   1. Changed: Moved the file size check back to APEInfo for reading the whole
      file on quick verify.
Version 10.02 (March 19, 2023)
   1. Changed: Made float processing happen when adding data to the encode
      stage as well.
   2. Changed: Made the float flag get set when starting.
Version 10.01 (March 19, 2023)
   1. Changed: Made whole file reading cap 200 MB for 32-bit and 64-bit instead
      of switching.
   2. Changed: Made the seek function in the IO object return int instead of
      int64 since it's only returning error codes.
Version 10.00 (March 18, 2023)
   1. NEW: Added 32-bit float compression (thanks Robert Kausch!).
   2. Changed: Updated to Visual Studio 17.5.2.
   3. Changed: File information shows information for AIFF, SND, etc. (all the
      supported formats) instead of only for WAV.
   4. Fixed: Converting from APE to APE would discard some of the extra
      information like that it should decode to AIFF, etc.
   5. Fixed: CAF files with a data block that was not block aligned could have
      the last few bytes discarded on decode.
   6. Changed: Converting the compression level of an APE file will update the
      file size each start since the original file is changed.
   7. Changed: Updated CAPECompressCreate::Start to check the format tag of the
      passed wave format object.
   8. Fixed: Old files could fail to decode since the addition of the faster
      lookup table.
   9. Fixed: Extreme 32-bit files could fail to compress properly (now an
      overflow condition is encoded, so such files will need to be reencoded
      and decoded with the latest).
Version 9.20 (February 26, 2023)
   1. Changed: Updated to Visual Studio 17.5.0.
   2. Changed: Removed a couple more warning suppressions (should be
      transparent change, but please report any issues).
   3. Fixed: Building the new Neon optimizations could fail with some versions
      of GCC.
   4. Fixed: AVX could crash on Mac due to memory alignment.
Version 9.19 (February 22, 2023)
   1. Changed: Switched the APE info and APE tag classes to derive from
      interfaces (avoids needing to silence a warning during export).
   2. Fixed: Building without Unicode set was not working well on Windows.
   3. NEW: Added support for little endian AIFF files.
   4. Changed: AIFF files other than sowt or NONE for the compression are
      rejected.
Version 9.18 (February 17, 2023)
   1. Fixed: The new functions in MACDll were not being exported properly.
   2. NEW: Added a GetLibraryInterfaceVersion function to MACDll.
   3. Fixed: Build problems using MinGW.
Version 9.17 (February 17, 2023)
   1. Fixed: The time column was not filling for the last few versions.
   2. NEW: Added GetLibraryVersionString and GetLibraryVersionNumber to MACDll.
Version 9.16 (February 16, 2023)
   1. Changed: Updated CMakeLists.txt to link against shared libMAC again.
Version 9.15 (February 15, 2023)
   1. Changed: Made decoding around 10% faster by using a lookup table.
Version 9.14 (February 14, 2023)
   1. Changed: Updated to Visual Studio 17.4.5.
   2. Changed: Made the file information dialog report a little better when
      opening on an unsupported WAV (because it's float for example).
Version 9.13 (February 13, 2023)
   1. Fixed: Some platforms like Android were not building due to string
      functions.
Version 9.12 (February 13, 2023)
   1. Fixed: The about dialog was not sizing nicely since the latest additions.
   2. Fixed: AVX-512 was being incorrectly detected leading to crashes.
Version 9.11 (February 12, 2023)
   1. NEW: Added AVX-512 optimizations when available.
   2. Changed: Tuned some string functions for building on other platforms and
      other compilers.
Version 9.10 (February 3, 2023)
   1. NEW: Improved and newly added optimizations (thanks Robert Kausch!):
      * Intel SSE/AVX optimizations are now selected at runtime based on CPU
      capbilities.
      * Added SSE4.1 and AVX2 optimizations for 24/32 coding.
      * Added ARM Neon optimizations.
      * Improved existing SSE2 and AVX2 optimizations for improved performance.
      * General optimizations for improved performance.
   2. NEW: Switched to the CMake build system for non-Windows and MinGW/MSYS
      builds.
   3. Fixed: The console application didn't show fractional seconds for total
      elapsed time.
   4. Changed: Updated to Visual Studio 17.4.4.
   5. Changed: Changed the casting in the prepare code so it casts as the
      native type once then uses that type instead of casting each use.
   6. Changed: Use APE_NULL a little more widely.
   7. Changed: Switched to std::thread for processing files (instead of
      BeginThread).
   8. Fixed: Closing the program while it was processing could leave temporary
      files -- now all the processes are terminated instead.
   9. Changed: The temporary filenames used during processing have the thread
      ID in them so they're more unique.
  10. Changed: When all files are OK, the message is shown and no sorting is
      performed (would sort, but basically shuffled).
  11. Fixed: Very short files could try to read ID3v1 tags and cause problems
      because there wasn't enough data there.
Version 9.04 (December 11, 2022)
   1. Changed: Made the SSE definition check for __SSE2__ outside MSVC.
   2. Changed: Made APE_NULL nullptr on all platforms instead of MSVC only.
Version 9.03 (December 10, 2022)
   1. Changed: The program just assumes that every platform has SSE2 support
      since that has been the target for the 32-bit build for some time.
   2. Changed: Switched to an integer define of the ID3 size instead of using
      sizeof because that warns about the data type sometimes (and just check
      that the size of the structure matches that size at save and load).
   3. Changed: Defined a one packing size around the ID3 definition to avoid
      packing problems.
   4. Changed: Replaced some numeric conversions with static_cast
      implementations.
   5. Changed: Use the define APE_NULL a little more widely.
   6. Changed: Use const on any variable that isn't changed again in MACLib
      (possible performance improvement).
Version 9.02 (December 4, 2022)
   1. Changed: An ID3v1 tag is still checked for even if there are 128 bytes of
      terminating data on a modern encode since the header contains enough
      information. Legacy encodes still will not be able to check.
   2. Changed: Updated another code path for the ID3v1 tag checking (used by
      third parties).
   3. Changed: Verifying legacy files is a little faster because it doesn't
      open the decompress twice any longer.
   4. Fixed: The whole file I/O object returned the wrong values on seek and
      could throw some pieces off.
Version 9.01 (December 3, 2022)
   1. Changed: Updated to FLAC 1.4.2.
   2. Changed: Updated from the beta to release of TAK 2.3.3.
   3. Changed: Updated to QAAC 2.77.
   4. Changed: WAV files with ID3v1 tags at the end would fail to decode. Now
      ID3v1 tags are no longer checked for if that's the exact size of the WAV
      terminating data.
Version 9.00 (December 2, 2022)
   1. NEW: Added support for 8-bit signed files (AU, AIFF, CAF, etc. formats).
   2. Changed: Improved the AIFF parsing so it will accept a wider range of
      files (the code assumed the COMM chunk came first, but it did not have
      to).
   3. NEW: Added support for AIFC files.
Version 8.99 (November 30, 2022)
   1. Fixed: When decompressing an AIFF files (or other non-WAV encodes) with
      WavPack, the file type would always result in WAV.
   2. Changed: Updated to Visual Studio 17.4.2.
   3. Changed: Added a GetAPEFileType call to get the output file extension and
      no longer rename files after processing.
   4. Changed: Conversion of non-WAV types between different formats like APE
      and WavPack works better.
Version 8.98 (November 28, 2022)
   1. Changed: Updated to WavPack 5.6.
   2. Changed: Updated to Visual Studio 17.4.1.
   3. Changed: Made the destruction code run more completely when Winamp is
      closed.
   4. Changed: Added some NOLINT markers because Clang warns on safe deletions
      sometimes.
   5. Fixed: 32-bit integer files would not load properly with Cool Edit.
   6. Changed: Renamed the Cool Edit filter to APE.flt (instead of CoolEdit
      Plugin.flt).
   7. NEW: Monkey's Audio accepts a list of filenames so "Open With" will work.
Version 8.97 (November 10, 2022)
   1. Changed: Updated to Visual Studio 17.4.0.
   2. Fixed: Some 32-bit files could fail to encode properly since Monkey's
      Audio 8.68.
   3. Changed: If a WAV file reports more data than the file size, an undefined
      (-1) length is used instead.
Version 8.96 (November 3, 2022)
   1. Fixed: Sorting by compression was not working.
   2. Fixed: Outside Windows opening an APE file with no header bytes could
      fail.
   3. Changed: Updated the non-MSVC branch in APETag to hopefully avoid
      warnings with Xcode.
Version 8.95 (October 28, 2022)
   1. Changed: Fresh cut because there were a few updates to 8.94 and that was
      causing third parties problems.
Version 8.94 (October 28, 2022)
   1. Changed: Made the program throw an error if the amount of header or
      footer data exceeds 8 MB.
   2. Changed: Switched c_APECompress_Finish to take int64 for the sizes of the
      terminating data.
   3. Fixed: Compression could fail to copy the footer data properly since the
      addition of a CBufferIO object to allow pipes.
Version 8.93 (October 27, 2022)
   1. NEW: Added support for little-endian CAF files.
   2. Changed: Added an example to the console program about transcoding from a
      pipe.
   3. Changed: Updated to Visual Studio 17.3.6.
   4. Changed: Updated the copyrights to 2023.
   5. Changed: Ran Pinga on the artwork in the program to make it a little
      smaller (thanks Grouik).
Version 8.92 (October 7, 2022)
   1. Changed: Moved that the APE namespace is being used into CPP files
      instead of the global header.
   2. Fixed: The Console header was relying upon undefined types, now correctly
      includes All.h (thanks Valérian Sibille).
   3. Fixed: NoWindows.h now defines TCHAR, LPTSTR, LPCTSTR outside of the APE
      namespace like on Windows (thanks Valérian Sibille).
Version 8.91 (October 7, 2022)
   1. Changed: Worked through the rest of the Clang-Tidy warnings.
   2. Changed: Turned on whole program optimization for the DirectShow filter
      (already on for everything else).
   3. Fixed: With the non-Windows standard file reader, reads that didn't read
      any bytes would be reported as successful, causing FFmpeg pipes to hang
      forever after reaching the end of the input file (thanks Valérian
      Sibille).
Version 8.90 (September 29, 2022)
   1. Changed: Updated to a new certificate for signing that's good for three
      more years.
   2. Changed: Use nullptr and override under MSVC.
   3. Changed: Switched the CRC code to use a table defined in the code instead
      of running code to build the table (makes startup a little cleaner and
      faster).
   4. Changed: Worked through some more Clang-Tidy warnings.
   5. Changed: When verifying an APL file, it will slow verify in all cases
      since it's just a small chunk of a big file (instead of checking the big
      file quick).
   6. Changed: Updated to Visual Studio 17.3.5.
Version 8.81 (September 18, 2022)
   1. Changed: Enabled Clang-Tidy code analysis for the other projects and
      worked through some more warnings.
   2. Fixed: Corrected some Linux build problems with the last changes.
Version 8.80 (September 16, 2022)
   1. Changed: Updated to Visual Studio 17.3.4.
   2. Changed: Restructured the character helper code to still avoid warnings
      from code analysis, but no longer use smart pointers.
   3. Changed: Worked through the last few code analysis issues.
   4. Changed: Removed some of the foreign language comments from the
      DirectShow Filter (originally written by Igor Janos).
   5. Changed: Switched a bunch of C-style casts to static_cast to be a little
      more C++.
   6. Changed: Enabled Clang-Tidy code analysis and worked through some
      warnings.
Version 8.70 (September 11, 2022)
   1. NEW: Added the TAK compressor (compress, decompress, and verify) (thanks
      Thomas Becker).
Version 8.69 (September 10, 2022)
   1. Fixed: Corrected a memory leak when Winamp got cover art.
   2. Changed: The console program better accepts different length extensions
      when renaming the input to AIFF, W64, etc.
   3. Changed: Ran Visual Studio's "Code Analysis" and cleaned some things up.
   4. Fixed: Sorting by the file extension column was not working.
Version 8.68 (September 8, 2022)
   1. Fixed: The compression level was not capitalized in the menu after some
      recent changes.
   2. Changed: Corrected the remaining warnings.
   3. Changed: Moved the wave format back to MACLib and removed the header.
Version 8.67 (September 7, 2022)
   1. Changed: Restructured CreateIAPEDecompressCore to avoid a warning.
   2. Changed: Updated makefile (thanks Valérian Sibille).
   3. Changed: Went back to APE_CLEAR for WAVEFORMATEX objects because the
      constructor was causing linking problems.
   4. Changed: Added a newline to the end of all the files.
Version 8.66 (September 7, 2022)
   1. Changed: Move the constructor to WAVEFORMATEX back to the header because
      people didn't like the dependency on MACLib.cpp.
   2. Changed: Switched to wchar as a native type for the compiler settings
      (now recommended).
   3. Changed: Removed APESimple.cpp and just moved everything into MACLib.cpp.
Version 8.65 (September 6, 2022)
   1. Changed: Cleaned up the definition of WAVEFORMATEX.
   2. Changed: Moved the definition of the constructor of WAVEFORMATEX to
      MACLib so warning 4514 would not occur.
   3. Changed: Renamed the CLEAR macro to APE_CLEAR to avoid collisions with
      other projects.
Version 8.64 (September 5, 2022)
   1. Changed: Switched WAVEFORMATEX to have a constructor and removed the
      macro calls to empty (had member initialization, but that was C++11).
Version 8.63 (September 5, 2022)
   1. NEW: Added a tag removal feature to the console program. Run it with -
      r to remove tags.
   2. Changed: Added Warnings.h to the top level Shared folder in the SDK.
   3. Changed: Made the disc number field define APE_TAG_FIELD_DISC simply
      "Disc" instead of "Disc #" to be more compatible with other tools.
   4. Fixed: Robert Kausch submitted some source fixes / improvements
      (thanks!).
   5. Changed: Removed the C++11 that slipped in (thanks Robert Kausch!).
   6. Fixed: The 32-bit build could fail to encode due to an overflow (thanks
      Jukka Poikolainen).
Version 8.62 (August 31, 2022)
   1. Changed: Made the file information dialog better report files with both
      APE and ID3 tags.
   2. Changed: Made a definition of the wcscpy_s function to avoid unused
      variable warnings outside Windows (thanks Valérian Sibille).
Version 8.61 (August 31, 2022)
   1. Changed: Moved the code to get the compression level name into a shared
      space and reference it everywhere (instead of having a few copies).
   2. Changed: When checking for tags, an APE tag is checked for even if an ID3
      tag is found so both tags should be supported.
   3. Changed: Moved the shared MFC functions to a common file instead of re-
      implementing in a couple places.
Version 8.60 (August 30, 2022)
   1. NEW: Format Information is returned in the Winamp file information
      dialog.
   2. Changed: Updated to Visual Studio 17.3.3.
   3. Changed: The program is a little better about preserving the error codes
      issued during file open instead of returning a generic error.
Version 8.59 (August 30, 2022)
   1. Changed: Getting and setting album art creates a new object each time
      instead of using the last loaded one.
   2. Fixed: Winamp could fail to start playback in some cases because the file
      wasn't being opened with FILE_SHARE_WRITE access.
Version 8.58 (August 29, 2022)
   1. Fixed: Winamp could error in some cases due to recent changes.
Version 8.57 (August 29, 2022)
   1. NEW: Implemented the Winamp system for getting cover art (thanks David
      Bryant / WavPack).
   2. NEW: Also added the Winamp function to remove cover art.
   3. Note: The set function isn't being called, so if anyone has any hints on
      that please_share.
Version 8.56 (August 26, 2022)
   1. Changed: Switched to WavPack 5.5.0 from another source that avoids the
      virus warnings.
Version 8.55 (August 26, 2022)
   1. Changed: Reverted to WavPack 5.4.0 (until 5.5.0 can stop the Virus Total
      warnings).
Version 8.54 (August 25, 2022)
   1. Changed: Updated to Visual Studio 17.3.2.
   2. Changed: Moved the MFC warnings to a seperate shared header file.
   3. Changed: Temporarily removed the new WavPack because it's tripping up
      Virus Total. It can be downloaded separately on the download page.
Version 8.53 (August 22, 2022)
   1. Fixed: The make file needed to be updated for the IO changes.
Version 8.52 (August 21, 2022)
   1. Changed: Updated to Visual Studio 17.3.1.
   2. Changed: Got rid of the warning suppression 4464 and instead just define
      the MACLib project as an include path.
   3. Changed: Removed the ShowFileInfoDialog function from MACDll since Winamp
      now uses the stock dialog and the main program has its own dialogs.
   4. Changed: Added a few more fields to the APE file information dialog of
      the main program.
   5. Changed: Found that the Windows include suppressed warning 4514 so worked
      through that warning as well after turning it back on.
Version 8.51 (August 14, 2022)
   1. Changed: For clarity flipped the naming in the code around so there is
      interim mode and normal mode (interim was used for a short while
      accidentally).
Version 8.50 (August 14, 2022)
   1. Changed: The encoder uses what was previously "legacy mode" for all 24-
      bit encodings. This provides wider compatibility with only slightly worse
      compression.
   2. Changed: Switched the limit for whole file reading during a verify to 500
      MB for the 64-bit builds (still 100 MB for the 32-bit).
Version 8.43 (August 11, 2022)
   1. Fixed: The console output saying compressing would not always show the
      compression mode string properly outside Windows.
   2. Fixed: WAVE_FORMAT_EXTENSIBLE files would not compress in some cases.
Version 8.42 (August 10, 2022)
   1. Changed: Updated to Visual Studio 17.3.0.
   2. Changed: Define NOMINMAX so Windows won't add min / max macros to avoid
      accidental usage instead of ape_min / ape_max (which breaks cross-
      building).
   3. Changed: Reenabled warning 4710 and worked around it (now MSVC uses the
      function used earlier for number to string conversion, etc.).
   4. Changed: Added a size_t cast to remove the final couple warnings about
      possible overflows.
Version 8.41 (July 31, 2022)
   1. Changed: Switched to the stock Winamp file information dialog instead of
      showing a custom one.
   2. Changed: Set a timer for three seconds after Winamp queries for file
      information to unload the file (since Winamp doesn't provide a finished
      function call).
Version 8.40 (July 30, 2022)
   1. Fixed: Seeking to the end of files was broken in build 39.
Version 8.39 (July 30, 2022)
   1. Fixed: Setting the EOF wasn't working nicely in a whole file reader.
   2. Changed: Switched from = { 0 } to a memset to initialize arrays and other
      objects.
   3. Changed: Introduced a CLEAR macro for emptying an object to make the code
      cleaner.
   4. Fixed: Seeking to the end of the file could fail in some cases due to
      sign flipping.
Version 8.38 (July 29, 2022)
   1. Changed: Added construction to wave format extended object and removed
      the memsets.
Version 8.37 (July 29, 2022)
   1. Fixed: The versions embedded in the program were not current (because of
      changes a while ago).
Version 8.36 (July 28, 2022)
   1. Changed: Made the whole file and buffer I/O objects independent classes
      so they can work with the Windows or non-Windows I/O objects.
   2. Changed: Switched from a memset to zero to setting individual variables
      to avoid problems over smart pointers.
   3. Changed: Switched to next byte packing and removed all the paddings added
      to avoid warning 4820.
   4. Fixed: Corrected a few mixtures of signed and unsigned numbers.
Version 8.35 (July 25, 2022)
   1. Fixed: Creating ID3 tags could fail on the year field because it
      incorrectly left room for a NULL terminator.
Version 8.34 (July 25, 2022)
   1. Changed: Removed the suppression of warning 4774 and just output strings
      in a slightly different way.
   2. Changed: Switched back to sprintf_s because _itoa_s wasn't available
      outside Windows.
   3. Fixed: Corrected a couple casting things to work better outside Windows.
Version 8.33 (July 24, 2022)
   1. Changed: A little more warning tuning because warning 4710 was coming
      through in debug x64 for example.
Version 8.32 (July 23, 2022)
   1. Changed: Switched to _itoa_s in APETag so that warning 4710 could be
      brought back.
Version 8.31 (July 23, 2022)
   1. Changed: Removed the no inline for standard C functions to avoid compile
      problems in other programs that include Monkey's Audio (and just
      suppressed the warning).
Version 8.30 (July 23, 2022)
   1. Changed: Turned on all compiler warnings (instead of level 4) and worked
      through many and disabled a few.
   2. Changed: Updated to Visual Studio 17.2.6.
Version 8.20 (July 11, 2022)
   1. Changed: Updated to WavPack 5.5.0.
Version 8.19 (June 25, 2022)
   1. Changed: Updated to Visual Studio 17.2.5.
   2. Changed: Removed the uninstaller from the SDK (since it was removed from
      the program a while ago).
Version 8.18 (June 15, 2022)
   1. Changed: Adjusted the borders of the frames in options.
   2. Changed: Made OK and Cancel in Options a little taller.
   3. Changed: Moved options icons up a little.
   4. Changed: Updated to Visual Studio 17.2.4.
Version 8.17 (June 13, 2022)
   1. Changed: Set the tab order in all the dialogs again.
   2. Changed: The options dialog sizes width based on the DPI setting insted
      of using a width stored in the resource.
Version 8.16 (June 12, 2022)
   1. Changed: Made the options list a little wider to avoid truncation on high
      DPI.
   2. Changed: Made output directory level recreation a combobox instead of an
      edit (since only a few values would be chosen, it seemed unnecessary to
      allow typing).
   3. Changed: Put the browse directory button right next to the path selection
      in options instead of below it.
   4. Changed: Put the APL naming help button back to the right of the combobox
      in Options.
Version 8.15 (June 12, 2022)
   1. Fixed: There was no height for the drop lists in the comboboxes in
      Options.
Version 8.14 (June 12, 2022)
   1. Changed: Made the options dialog totally build on the fly so any scale
      setting should work.
   2. Changed: Tuned Options to look a little better at 3.0x scale.
Version 8.13 (June 10, 2022)
   1. Changed: A:\ and B:\ are available as drives on right-click of the free
      space box (was starting at C:\).
   2. Changed: Added the scale to the about box.
Version 8.12 (June 7, 2022)
   1. Changed: When the statusbar switches to the processing state, it is auto-
      sized again.
   2. Changed: Switched to the release Visual Studio (17.2.3) from the preview.
Version 8.11 (June 6, 2022)
   1. Changed: The statusbar grows as necessary to hold text (and just squishes
      the progress bar).
Version 8.10 (June 6, 2022)
   1. Changed: Tuned the options dialog a little more for high DPI screens.
   2. Changed: Worked on the file information dialogs for high DPI screens.
Version 8.09 (June 6, 2022)
   1. Changed: Made the about box scale in both directions for the DPI.
Version 8.08 (June 6, 2022)
   1. Changed: Tuned the statusbar sizes to hold the text a little better on
      high DPI.
Version 8.07
   1. Fixed: At 2x (or more) scale the about box would be cropped.
Version 8.06
   1. Fixed: The font could grow over and over sizing between low and high DPI
      because the original wasn't stored.
   2. Changed: The scale is loaded on WM_DPICHANGED instead of during size of
      the window.
Version 8.05
   1. Fixed: When Windows doesn't have the new DPI calls, the program nicely
      defaults to a scale of 1.0 (the call requires Windows 10).
   2. Changed: The high DPI font is set in the file information dialogs as
      well.
   3. Fixed: The file list was not saving between runs.
Version 8.04
   1. Changed: Options should look good up to a 2.0 scale and the high DPI
      monitor I have is 1.5.
Version 8.03
   1. Fixed: Moving the window between different DPIs while processing could
      crash as the statusbar was rebuilt.
   2. Changed: Resized the options dialog a little to put items below the text
      labels instead of to the right.
Version 8.02
   1. Changed: Set the font size in the options dialog to account for high DPI.
Version 8.01
   1. Changed: The program reports itself as DPI aware and does all the DPI
      scaling independently (instead of leaning on the OS). It should rescale
      dragging between monitors of different DPI (feedback appreciated).
Version 7.81 (June 3, 2022)
   1. Fixed: When decoding a file that needed to build the WAV header, the
      format flag could be incorrect.
Version 7.80 (June 1, 2022)
   1. Changed: Enabled warning 4840 and worked through the warnings.
   2. Changed: Removed the little uninstall launcher and just call the main
      program with a switch instead.
   3. Fixed: The uninstall icon was not showing the Monkey's Audio icon.
Version 7.79 (May 30, 2022)
   1. Changed: Removed the unused read-only flag from CreateIAPEDecompressEx
      and CreateIAPEDecompressEx2 functions since they didn't do anything
      (still there for CreateIAPEDecompress).
   2. Changed: A little more clean-up of the removal of 4127 warnings.
   3. Changed: Found a define for the buffer size passed by the Winamp
      GetFileInformation(...) call so a safe string copy can be used.
   4. Changed: Sniffed the buffer size of FilterOptionsString with my copy of
      Cool Edit and used that for the string copy size instead of suppressing a
      warning and having no cap.
Version 7.78 (May 29, 2022)
   1. Changed: Removed MMX assembly since it was only used by legacy decoding
      for 32-bit compiles and modern CPUs have better.
   2. Changed: Turned on warning 4100 and worked through the warnings.
Version 7.77 (May 29, 2022)
   1. Changed: Suppressed a few more warning level 4 Direct Show SDK warnings.
   2. Changed: Switched all the projects to full link time code generation to
      make pieces possibly faster.
   3. Changed: The taskbar icon progress interface is released when processing
      finishes so the taskbar icon will return to the not processing state.
   4. Changed: A little different approach to get around 4127 warnings about
      the bitdepth size in NNFilter.
Version 7.76 (May 26, 2022)
   1. Changed: Visual Studio update.
   2. Changed: Tried to work around 4127 warnings about testing the size of the
      integer type.
Version 7.75 (May 20, 2022)
   1. Changed: A little faster WAVE_FORMAT_EXTENSIBLE check (no longer copies
      memory).
   2. Changed: Removed the register keyword from the legacy decoder since it's
      no longer supported by the modern compiler.
   3. Changed: Removed the seek to the start of the file right after opening
      because it shouldn't be necessary.
   4. Changed: Initialized a few more variables and removed suppression of a
      warning about variable initialization.
Version 7.74 (May 12, 2022)
   1. Changed: Switched the definition of GUID so it will build on other
      platforms.
   2. Changed: Updated to a little better structure for the WAVE_FORMAT_
      EXTENSIBLE data block.
Version 7.73 (May 11, 2022)
   1. Changed: Switched the number of blocks to int64 so it will never
      overflow.
   2. Changed: Removed mulaw and alaw support since playback would not be
      correct.
   3. Changed: When parsing a WAVE_FORMAT_EXTENSIBLE file, the encoder will
      make sure it is PCM type otherwise reject it (so floating files no longer
      encode).
Version 7.72 (May 11, 2022)
   1. Changed: WAV files that report an odd bits per sample but whole byte
      alignment (ie. 12 bit / 16 bit align) will work.
   2. Changed: Enabled Insane compression for 32-bit files (disabled in the
      past because it wasn't working, but seems to be now).
Version 7.71 (May 11, 2022)
   1. NEW: Added support for mulaw and alaw encoded files (compression might
      not be great).
Version 7.70 (May 11, 2022)
   1. NEW: Added support for 8-bit CAF files.
   2. NEW: Added support for 8-bit AIFF files.
   3. Changed: The command line defaults to quick verify now and can do a full
      verify by specifying -V (note the capitalization).
Version 7.69 (May 10, 2022)
   1. Fixed: Made WAV files with sizes that were not divisible by the block
      size round down to the nearest block instead of error.
   2. Fixed: Too large files could overflow the number of audio blocks
      (switched from signed to unsigned to support double the number of
      blocks).
Version 7.68 (May 10, 2022)
   1. Changed: Visual Studio update.
   2. Changed: Made it a little more clear that MACDll links to MFC in the
      project settings.
   3. Changed: Removed a testing piece of code added last build.
Version 7.67 (May 5, 2022)
   1. Changed: Use the MFC functions to get the module handle instead of being
      tied to the DLL name (so 32 vs 64 bit no longer matters).
Version 7.66 (May 5, 2022)
   1. Fixed: The information dialogs in MACDll didn't show in the 64-bit
      version since the DLL was renamed.
Version 7.65 (May 5, 2022)
   1. Fixed: A resource file got changed in a bad way due to the Cool Edit
      change.
Version 7.64 (May 5, 2022)
   1. Changed: Visual Studio update.
   2. Changed: Removed a CPU load balancing parameter from the legacy decoder
      that wasn't being used.
   3. Changed: Added "Insane" mode to the list of compression options in the
      Cool Edit plugin.
Version 7.63 (April 27, 2022)
   1. Changed: Visual Studio update.
   2. Fixed: Corrected a couple warnings that crept back in to the compilation.
Version 7.62 (April 22, 2022)
   1. Fixed: The FLAC version reported in the APX file was lagging the actual
      version.
   2. Changed: Artwork is loaded from the program path first, then the install
      path. This way copying the program files to an external location will
      work.
Version 7.61 (April 19, 2022)
   1. Changed: Made the list background image transparent background intead of
      white.
   2. Fixed: Drag from the program could assert, so trying a little different
      approach.
   3. Changed: Visual Studio update.
Version 7.60 (April 17, 2022)
   1. Changed: Art is loaded from the install path so running the code out of
      the SDK will find the art without doing any other work.
Version 7.59 (April 12, 2022)
   1. Changed: Did a little more work on setting the end of file with reading
      the whole file on so the end is actually set.
   2. Changed: Included the uninstaller (little launcher that starts the
      uninstaller) in the SDK.
   3. Changed: Updated to FLAC 1.3.4 for the external install.
   4. Changed: Updated the version of QAAC to 2.73 (used for ALAC).
   5. Changed: Made a "Custom" FLAC encode mode to allow specifying a custom
      command (ie. -3).
   6. Changed: The Winamp plugin install is removed from the install path so
      that it won't flag virus checkers (with the false positive).
   7. Changed: Visual Studio update.
Version 7.58 (April 9, 2022)
   1. Changed: Moved the Winamp plugin install into the main install (if the
      directory is found) because online virus checkers were throwing false
      positives.
   2. Fixed: When reading the whole file using the decoder, tagging could hang
      as it tried to remove the tags over and over.
   3. Changed: APE tags are capped at 256 MB (previously they had a smaller cap
      in some cases).
Version 7.57 (April 7, 2022)
   1. Changed: Versioned the DirectShow filter to match the program (although
      Windows doesn't show .ax versions).
   2. Changed: Moved the DirectX code into a subfolder for the DirectShow
      filter (source SDK change).
   3. Changed: Visual Studio update.
Version 7.56 (April 1, 2022)
   1. Changed: Visual Studio update.
   2. Changed: Moved the DirectX code into the DirectShow filter so there's no
      need for an external library.
Version 7.55 (March 31, 2022)
   1. Changed: Added the main program to the SDK so any help or feedback
      appreciated (MAC).
Version 7.54 (March 27, 2022)
   1. Changed: Updated Visual Studio (release version instead of preview
      version).
Version 7.53 (March 23, 2022)
   1. Changed: Doing a quick verify will show progress as it reads the file and
      allow cancel (remember that read is one call on files less than 100MB so
      it won't be real fine in those cases).
Version 7.52 (March 22, 2022)
   1. Changed: Cleaned up a variable used to build the RF64 headers.
   2. Changed: The program won't start if another instance is running already,
      but instead just shows the first instance.
Version 7.51 (March 17, 2022)
   1. Changed: Files over 4 GB are decoded to RF64 WAV files when building a
      header instead of simple WAV files so the length can be better
      represented (no change if a WAV with a header was encoded, or a WAV less
      than 4 GB is decoded).
   2. Changed: Visual Studio update.
Version 7.50 (March 13, 2022)
   1. Changed: Encoding no longer caps the input at 4 GB. Any size should be
      supported.
   2. Changed: Switched MAX_AUDIO_BYTES_UNKNOWN to -1 instead of the maximum
      integer value (hopefully internal change, but please report any
      problems).
Version 7.41 (March 12, 2022)
   1. NEW: Added support for RF64 input files (similar to RIFF WAV files).
Version 7.40 (March 12, 2022)
   1. NEW: Added support for core audio format (CAF) files.
   2. Changed: Consolidated some header and footer code into a shared base
      class (should be internal change, but please report any issues).
Version 7.38 (March 3, 2022)
   1. Fixed: LEGACY_ENCODE was improperly engaging on 32-bit encoding.
Version 7.37 (February 25, 2022)
   1. Fixed: LEGACY_ENCODE wasn't working properly in all cases.
Version 7.36 (February 25, 2022)
   1. Changed: Added a LEGACY_ENCODE switch to the header to allow encoding in
      the older style for uses like FFMpeg that haven't updated their decoders.
Version 7.35 (February 23, 2022)
   1. Changed: Made the help shortcut in the start menu link to the webpage
      instead of the old help file.
   2. Changed: Removed the old help files during install.
   3. Changed: MACDll.dll in the 64-bit install is copied into both the 32-bit
      and 64-bit system folders (the proper version).
   4. Changed: Renamed the MACDll in the 64-bit build MACDll64 (like the Direct
      Show filter).
   5. Changed: 8-bit encoding is a little faster (it was using the 64-bit
      branch but didn't need to).
Version 7.34 (February 20, 2022)
   1. Changed: Switched to help on the webpage instead of HTML help (it was
      outdated). (feedback_and_help appreciated).
   2. Changed: Visual Studio update.
Version 7.33 (February 9, 2022)
   1. Changed: Made a little optimization to pre-calculate a value used in
      processing (also eliminates a warning).
   2. Changed: Visual Studio update.
Version 7.32 (February 8, 2022)
   1. Fixed: Corrected a couple warnings that came in from the last batch of
      changes.
   2. Changed: Renamed the pipe functions for clarity.
   3. Changed: Added an include back needed when backwards compatibility was
      off (like on Android).
Version 7.31 (February 6, 2022)
   1. Changed: Merged the reading pipe code and regular encode code so there is
      only one path.
   2. Fixed: Fixed an issue when the chunk size was undefined (-1).
Version 7.30 (February 6, 2022)
   1. Changed: When a pipe has no size, it is just read and encoded
      progressively to an APE file with unknown (big) length. That way no
      memory reading is done.
Version 7.29 (February 6, 2022)
   1. NEW: Added an edit box to the browse folder dialog so you can type in a
      folder.
Version 7.28 (February 6, 2022)
   1. Changed: There was no need to append the current path when piping from
      Foobar so it has been removed from the console.
   2. Changed: Reworked reading the whole pipe so it copies four megabytes at a
      time instead of allocating a huge chunk (and stops at 1 GB).
Version 7.27 (February 5, 2022)
   1. NEW: When reading from a pipe, if the input size of a WAV is -1 (meaning
      unknown) the entire file is read into memory.
Version 7.26 (February 4, 2022)
   1. NEW: Added support for pipes to the console program (- for the filename)
      (feedback appreciated).
   2. Changed: Visual Studio update.
Version 7.25 (January 19, 2022)
   1. Changed: Another Visual Studio update.
Version 7.24 (January 19, 2022)
   1. Changed: Visual Studio 2022 update.
   2. Changed: Some code cleanup to improve spacing and the like.
   3. Changed: Put the info fields in the IAPEDecompress class so they're no
      longer globals (SDK change).
   4. Changed: Updated the SDK projects to use VS2022.
   5. Fixed: Corrected a few compile warnings.
Version 7.23 (December 30, 2021)
   1. Fixed: Corrected one compiler warning.
Version 7.22 (December 12, 2021)
   1. Fixed: The Make APL image in the toolbar could have a little artifact
      next to it (now images are scaled after copying the data to a separate
      buffer).
   2. Changed: Updated the copyright of the DirectShow filter, source code,
      etc.
Version 7.21 (November 29, 2021)
   1. Changed: The program version and publisher are included for the uninstall
      page in Windows.
Version 7.20 (November 24, 2021)
   1. Changed: Switched a few variables to smart pointers (an internal change).
Version 7.19 (November 21, 2021)
   1. Fixed: Reading the whole file could leak the file memory.
Version 7.18 (November 21, 2021)
   1. Changed: Updated the copyright in the license and installer (the
      copyright symbol could be incorrect too).
Version 7.17 (November 21, 2021)
   1. Changed: The entire file is read at a lower level when doing a quick
      verify to avoid any additional reads at all.
Version 7.16 (November 20, 2021)
   1. Changed: Updated the copyrights to 2022.
   2. Changed: When doing a quick verify of a file, the entire file is read in
      one chunk if it's smaller than 100MB instead of reading the header in
      chunks then the body in one big read.
   3. Changed: Made system sleep disable at the root thread instead of in each
      thread as it processes.
Version 7.15 (November 13, 2021)
   1. Changed: Some changes in GlobalFunctions.cpp to work better on Android
      and ARM/ARM64 (thanks Dmitry Kostjuchenko).
Version 7.14 (October 25, 2021)
   1. Changed: Revised the naming of the endian stuff to avoid conflicts with
      Android.
   2. Changed: Included faster CRC code for ARMv8 (64-bit ARM) chips.
Version 7.13 (October 12, 2021)
   1. Fixed: The start menu path was not being loaded properly on uninstall so
      it could delete nothing or more than it should instead.
Version 7.12 (October 10, 2021)
   1. Changed: More sign simplification thanks to Dmitry Kostjuchenko for a
      little faster processing.
Version 7.11 (October 8, 2021)
   1. Changed: Reworked the include system for I/O to make it easier to add a
      third party library.
   2. Changed: Added a define APE_SUPPORT_COMPRESS to allow compression to be
      disabled.
Version 7.10 (October 6, 2021)
   1. Fixed: Cleaned the code used for 4 or more channel 24 bit decompression.
   2. Changed: Made some optimizations because of Dmitry Kostjuchenko.
   3. Changed: Switched to MSBuild since command line building isn't working
      with the latest VS (should be internal change, but please report any
      issues).
Version 7.09 (September 29, 2021)
   1. Fixed: There could be a version mismatch in 7.08.
Version 7.08 (September 29, 2021)
   1. Changed: Verifying a file no longer analyzes the tags, making the process
      a little faster.
   2. Changed: When processing starts, the info in the statusbar is removed so
      it doesn't fight with the progress bar.
   3. Changed: Added the program icon to the uninstall launcher.
   4. Changed: Added the program icon to the command line program.
Version 7.07 (September 24, 2021)
   1. Fixed: A quick verify glitch in 7.06.
Version 7.06 (September 24, 2021)
   1. Fixed: The check for 4 GB was checking the whole WAV file size instead of
      just the data block size.
   2. Fixed: Really big files could have the size of the APE chunk wrong in the
      header so they would fail a quick verify (but still decompress).
Version 7.05 (September 23, 2021)
   1. Changed: Made quick verify read the entire file in one call if it's
      smaller than 100 MB as it seems to make verifying a batch of files at the
      same time faster.
Version 7.04 (September 22, 2021)
   1. Changed: Updated the version of the installer (NSIS) -- please report any
      issues.
   2. Changed: Updated the start menu delete code to hopefully work better on
      uninstall.
   3. Changed: Updated the 64-bit build to save settings in a key with x64 at
      the end of the name.
Version 7.03 (September 17, 2021)
   1. Changed: Visual Studio 2022 update.
   2. Fixed: The version of the executable did not match the program version.
Version 7.02 (September 13, 2021)
   1. Fixed: Odd number of channel files would not encode properly (three
      channel, etc.).
   2. Fixed: Made some more encode and decode changes to the 7.0 changes.
Version 7.01 (September 12, 2021)
   1. Fixed: An overflow could happen with some files in the 7.00 release and
      cause a crash.
   2. Fixed: Some valid files would fail to verify or decompress with the 7.00
      release.
Version 7.00 (September 11, 2021)
   1. NEW: Drastically increased the performance (especially of 32-bit
      compiles). A huge thanks to Robert Kausch!
Version 6.61 (August 25, 2021)
   1. Changed: Made the uninstall logic a little more absolute.
Version 6.60 (August 25, 2021)
   1. Fixed: The uninstall could leave the install directory and pieces from
      the external folder.
Version 6.59 (August 23, 2021)
   1. Fixed: The list control could flicker as it updated the progress.
Version 6.58 (August 12, 2021)
   1. Fixed: The duration of processing could display incorrectly in some
      cases.
Version 6.57 (August 12, 2021)
   1. Changed: When checking the ALAC encoder for existence, the popup window
      is no longer shown (previously it would obey the show option).
Version 6.56 (August 12, 2021)
   1. Changed: Clicking the stop button will show the drop menu (before only
      clicking the drop menu button would show it).
   2. Changed: When the amount of time left to process is unknown, the display
      in the statusbar is nicer.
   3. Changed: Visual Studio 2022 update.
Version 6.55 (August 8, 2021)
   1. Fixed: The temporary files could stick around during conversion if the
      original was read-only and a FLAC to APE conversion was performed (now
      the attributes are reset before any file deletes).
Version 6.54 (August 5, 2021)
   1. Fixed: The code changes for better performance required AVX2 and only AVX
      was being tested for.
Version 6.53 (August 3, 2021)
   1. Changed: Switched to aligned memory loading for a couple AVX calls for
      better performance.
Version 6.52 (August 3, 2021)
   1. Fixed: The non SSE or AVX code path calculated dot products differently
      causing the files to fail to decode on SSE / AVX.
Version 6.51 (August 3, 2021)
   1. Fixed: The AVX code path could behave incorrectly in rare cases.
Version 6.50 (August 3, 2021)
   1. NEW: Using AVX assembly when possible for better encode and decode
      performance.
Version 6.40 (July 30, 2021)
   1. Changed: Removed the cancel button from the file info dialog since OK
      does the same thing.
   2. Changed: Removed a couple unused resources from the project (should be
      internal change, but please report any problems).
Version 6.39 (July 30, 2021)
   1. Changed: Made the monkey picture in the background of the list a little
      higher resolution so it will look better on high DPI.
   2. Changed: Switched back to higher quality drawing of thumbnail images (did
      create a drawing artifact, but it's gone now).
Version 6.38 (July 30, 2021)
   1. Changed: Installing the 64-bit build will check the OS and not install on
      32-bit (previously it would install then not work).
Version 6.37 (July 19, 2021)
   1. Changed: Updated the make APL button image.
   2. Changed: Removed a couple linker warnings from the DirectShow filter
      (internal change, but please report any problems).
Version 6.36 (July 19, 2021)
   1. Changed: The rest of the artwork has been updated (thanks Johanne!).
   2. Changed: Files are capped at 4GB (before they might start encoding but
      not work).
   3. Changed: Visual Studio 2022 update.
Version 6.35 (July 12, 2021)
   1. NEW: Added support for W64 files.
   2. NEW: Added support for SND files.
   3. NEW: More artwork updated (thanks Johanne!).
   4. Changed: The about box for formats displays better if there is no author
      or version.
   5. Changed: When clicking an options page, the first page is selected if an
      area with no items is clicked (instead of showing nothing).
   6. Changed: On the format information dialog, the link uses a hand cursor.
Version 6.34 (July 3, 2021)
   1. NEW: Added ALAC to the external compressors (requires iTunes install or
      it won't appear).
Version 6.33 (July 3, 2021)
   1. Changed: The makefile for non-Windows builds now allows out-of-tree
      builds.
   2. Changed: Updated to the latest FLAC release.
Version 6.32 (July 1, 2021)
   1. Fixed: Not all the external encoders were the correct bitdepth. Now 32-
      bit is in the 32-bit build and 64-bit in the 64-bit build.
Version 6.31 (July 1, 2021)
   1. NEW: WavPack and FLAC are included with the program (and accessible as
      external encoders).
   2. Changed: Worked on the external encoder system so that converting to and
      from other formats works nicely.
Version 6.30 (June 29, 2021)
   1. NEW: More artwork updated (thanks Johanne!).
   2. Changed: Worked away the rest of the compiler warnings (mostly in Direct
      Show code).
   3. Changed: Updated the email address in the help file because it was
      outdated.
   4. Changed: When sorting by the status, if all the files are OK, it will
      show a message box saying as much (so if you verify a big list you won't
      have to look as hard).
   5. Changed: Upgraded to Visual Studio 2022 (preview).
   6. Changed: Switched the Winamp plugin installer to NSIS (instead of the old
      MakePIMP system).
Version 6.29 (May 25, 2021)
   1. Changed: Some high DPI improvements.
   2. Changed: Open files in read-only mode in c_APEDecompress_Create(W).
   3. Changed: Check whether __stdcall is already defined which is the case on
      Haiku.
   4. Changed: Makefile: Fix compilation on macOS which needs -dylib_install_
      name instead of -soname.
   5. NEW: A little more updated art work (thanks Johanne!).
Version 6.28 (May 21, 2021)
   1. Changed: Switched the installer icon to the program icon.
   2. NEW: Rework of some art by the fantastic artist Johanne Courtright
      (thanks Johanne!).
Version 6.27 (May 13, 2021)
   1. Changed: Corrected an artwork artifact.
Version 6.26 (May 12, 2021)
   1. Changed: The program artwork is loaded from a PNG next to the program.
   2. Changed: Visual Studio update.
Version 6.25 (May 10, 2021)
   1. Changed: Improved resource loading so the image is only loaded once and
      shared by all the components.
Version 6.24 (May 10, 2021)
   1. Changed: Updated the makefile to set the library soname in the library
      file.
   2. Changed: Cleaned up the artwork so it's all in a single file and there
      are no unused pieces.
Version 6.23 (May 2, 2021)
   1. Changed: The list text switches to "Decompressed (MB)" during
      decompression and "Processed (MB)" during conversion (instead of staying
      "Compressed (MB)").
Version 6.22 (April 30, 2021)
   1. Changed: Made the install not ask for a directory during an upgrade
      install.
Version 6.21 (April 24, 2021)
   1. Fixed: Unicode characters will rename properly when decoding to AIFF now
      (wasn't using the wide rename before).
   2. Changed: Tighter usage of renaming a file to AIFF so there won't be
      potentially unsafe string copies.
   3. Changed: AIFF files are reported in the file info page of the program.
Version 6.20 (April 23, 2021)
   1. NEW: Added support for AIFF files to the compressor and decompressor
      (feedback appreciated).
Version 6.15 (April 18, 2021)
   1. Changed: Visual Studio update.
   2. Fixed: An uninitialized variable could get accessed when constructing the
      CAPEDecompress object.
Version 6.14 (March 18, 2021)
   1. Changed: Visual Studio update.
   2. Changed: Return a specific error when failing to open the file because
      it's in use.
Version 6.13 (February 24, 2021)
   1. Changed: Made the code more clear about the 4-byte alignment of the APE_
      DESCRIPTOR object (now define a padding instead of just letting it be
      squish).
   2. Changed: Made more of the function returns use the defines instead of
      just a number.
   3. Changed: Added all the version and copyright information to the
      uninstaller application.
   4. Changed: Visual Studio update.
Version 6.12 (February 15, 2021)
   1. Changed: Visual Studio update.
   2. Changed: The error ERROR_APE_COMPRESS_TOO_MUCH_DATA is returned from
      every compress call once too much data has been added (previously the
      first call would return that, then -1 on the next calls).
Version 6.11 (February 3, 2021)
   1. Fixed: When compressing and verifying after, the progress bar would
      temporarily jump to all the way done as it transitioned to verify.
   2. NEW: Added WAV information to the File Info dialog.
   3. Changed: Switched the total blocks reported by the WAV code to int64
      (hopefully internal change, but be aware if you use the SDK).
Version 6.10 (February 1, 2021)
   1. Fixed: Corrected a memory access problem reported by Address Sanitizer.
Version 6.09 (January 30, 2021)
   1. Fixed: The copyright symbol in the install would not show properly.
Version 6.08 (January 29, 2021)
   1. NEW: The program reports if it is elevated in the about box.
Version 6.07 (January 29, 2021)
   1. Changed: A confirmation before running the installer is no longer shown.
Version 6.06 (January 29, 2021)
   1. Changed: The program is run optionally after installation and it won't
      run with UAC elevation.
Version 6.05 (January 29, 2021)
   1. Fixed: Unicode characters were not working properly for the install path.
Version 6.04 (January 29, 2021)
   1. Changed: The installer remembers the folder it was installed to for
      upgrading.
   2. Fixed: One of the memory sets hadn't updated for the int64 size possibly
      causing 3.93 to 3.95 decoding problems.
Version 6.03 (January 28, 2021)
   1. Fixed: The uninstallers would not always work properly because of the
      signature. Trying a new approach.
Version 6.02 (January 27, 2021)
   1. Changed: Removed the XP compatible signatures from everything.
Version 6.01 (January 27, 2021)
   1. Changed: The uninstaller is now signed.
Version 6.00 (January 27, 2021)
   1. Changed: Removed XP support (Microsoft ended support in 2014).
   2. Changed: Switched to NSIS because the size of Inno Setup bloated
      (feedback appreciated).
Version 5.71 (January 21, 2021)
   1. Changed: Visual Studio update.
   2. Changed: The size of all the files switches to GB if it's over 1000 MB.
   3. Changed: Switched some internal variables from float to double (hopefully
      transparent, but please report any issues).
   4. Changed: Drive free space reporting will switch to TB if it's over 1000
      GB.
   5. Changed: Updated the license to remove the clause about contributing
      changes back (and updated the help file to match the website license).
Version 5.70 (December 26, 2020)
   1. Changed: Made the size of the Cool Edit options a little smaller.
   2. Changed: Working on the signature of the program so it's buildable other
      places (should be transparent change, but please report any issues).
   3. Fixed: Removing a tag with RemoveTag(...) would not work due to the read-
      only change.
   4. Fixed: The return value from RemoveTag(...) will be better formed
      (previously it could return success even on failure).
   5. Fixed: The file list would not be saved when running under UAC (now it's
      stored in the user data folder).
Version 5.69 (December 9, 2020)
   1. Fixed: The Cool Edit plugin did not show the options dialog properly.
   2. Changed: Visual Studio update.
Version 5.68 (December 3, 2020)
   1. Fixed: Tagging would not work from the command line due to the recent
      addition of read-only file opening.
Version 5.67 (December 3, 2020)
   1. Changed: Patches applied by Arno Hornberger.
Version 5.66 (December 3, 2020)
   1. Changed: When no file is selected and "File Info..." is selected a
      message will be shown instead of an empty status dialog.
   2. Fixed: The shortcut Ctrl+I was not working.
   3. Changed: Made F1 launch the program's help file.
   4. Fixed: Clicking a column header on an empty list would throw an error
      dialog.
Version 5.65 (November 24, 2020)
   1. Changed: Patches submitted by Robert Kausch to improve building and
      usage.
   2. Changed: Added the SSE and MMX states to the about box.
Version 5.64 (November 24, 2020)
   1. Fixed: A corrupt APE file could cause problems in extrnal decoders.
Version 5.63 (November 24, 2020)
   1. Changed: The image stays at the top of the list instead of scrolling with
      the items.
Version 5.62 (November 24, 2020)
   1. Fixed: The list background image could have black on some systems.
Version 5.61 (November 23, 2020)
   1. Changed: A better monkey picture for the list background.
Version 5.60 (November 23, 2020)
   1. Changed: Visual Studio update.
   2. Changed: A couple patches for building cross platform.
   3. Changed: Updated a few more copyrights.
   4. Fixed: Predictor memory would not be freed properly from the decompress
      stage.
Version 5.59 (November 5, 2020)
   1. Changed: Another Visual Studio update.
   2. Changed: Removed a couple warnings from the console project.
   3. Fixed: When converting a file over and over, the file size reported could
      be for a previous conversion.
   4. Changed: Removed the secure flag from compilation and fixed the remaining
      warnings.
   5. Fixed: The uninstall icon would not be correct.
Version 5.58 (October 27, 2020)
   1. Fixed: High channel counts would not work properly with 8-bit encoding.
Version 5.57 (October 23, 2020)
   1. Fixed: 24-bit high channel counts wouldn't work properly.
Version 5.56 (October 23, 2020)
   1. Changed: Moved the timer stuff out of All.h and into the console since
      that's the only place that needs it.
   2. Changed: Added a few virtual destructors to avoid problems when deleting
      from a smart pointer.
   3. Changed: Another Visual Studio update.
   4. Changed: Added checking for PCM to the buffer start interfaces
      (CAPECompressCreate::Start).
Version 5.55 (September 24, 2020)
   1. Changed: Updated the copyright to 2021.
   2. Changed: Tuned the Winamp file info dialog a little (removed the obsolete
      peak level, made the filename longer, etc.).
   3. Changed: The GUI and console are signed.
   4. Changed: A Visual Studio update.
Version 5.54 (August 24, 2020)
   1. Fixed: The program could loop forever on a corrupt file in some cases.
Version 5.53 (August 23, 2020)
   1. Fixed: Made the compressor work with three channel files and other odd
      numbers better.
Version 5.52 (August 23, 2020)
   1. Fixed: Made the compressor work with seven channel files.
Version 5.51 (August 23, 2020)
   1. Changed: Files over 8 channels use the same channel layout (mid/side) for
      the first eight channels, helping compression a little.
   2. Changed: A Visual Studio update.
Version 5.50 (August 22, 2020)
   1. NEW: Added support for up to 32 channels.
   2. Changed: Another Visual Studio update.
Version 5.49 (August 5, 2020)
   1. Changed: When compressing a zero byte file, the error is now "input file
      too small".
   2. Changed: Added the field APE_TAG_FIELD_RATING for rating (before it could
      use a field in MC that caused problems).
Version 5.48 (July 22, 2020)
   1. Changed: Worked through the compile problems on Linux caused by the new
      additions to the console program.
   2. Changed: Another Visual Studio update.
Version 5.47 (June 30, 2020)
   1. Changed: A message is shown when processing no files instead of just
      silently doing nothing.
   2. Changed: Replaced some more tabs with spaces in the code (for cross-
      platform readability).
   3. Changed: Cleaned up some MFC references in MACDll (could make the SDK
      messy).
   4. Changed: A Visual Studio update.
Version 5.46 (June 26, 2020)
   1. Changed: The program returns "Error (I/O write error)" when UAC prevents
      creation of the new file instead of undefined.
   2. NEW: Added support for tagging after compression (like: MAC.exe "C:
      \New.wav" "C:\New.ape" -c2000 -t "Artist=Metallica|Album=Black").
Version 5.45 (June 24, 2020)
   1. Changed: Updated the example for the new tag command to put the fields in
      quotes (so pipes don't cause a problem).
   2. Changed: The output during the new tag mode to the command line is a
      little more verbose.
   3. Fixed: The tag function would not work properly with really long tag
      values.
Version 5.44 (June 18, 2020)
   1. Changed: Cleaned up the new -t command line processor.
   2. Changed: Added a couple defines for non-windows for the new -t option.
Version 5.43 (June 18, 2020)
   1. NEW: Added support for the -t command line switch to tag files with the
      console program.
   2. Changed: Updated to a new certificate for signing that's good for three
      more years.
Version 5.42 (June 11, 2020)
   1. Changed: The signature is time stamped on XP as well.
Version 5.41 (June 11, 2020)
   1. Changed: Using dual signatures so the file looks signed on XP as well.
Version 5.40 (June 11, 2020)
   1. Changed: Made quick verify a little quicker.
   2. Changed: Visual Studio update.
Version 5.39 (June 9, 2020)
   1. Changed: Visual Studio 2019 update.
   2. Fixed: Quick verify was not working in all cases.
Version 5.38 (April 26, 2020)
   1. Changed: Changed the size of the Seek function to int64 from int since
      big seeks are possible.
Version 5.37 (April 24, 2020)
   1. Fixed: Some files from version 3.93 to 3.95 could still fail to verify
      because the change to int64 wasn't everywhere it needed to be.
Version 5.36 (April 24, 2020)
   1. Changed: Brought backwards compatibility back (based on feedback at
      work).
Version 5.35 (April 22, 2020)
   1. Changed: The status text shows "unsupported file version" when trying to
      decode an APE file that's too old (instead of just undefined).
   2. Changed: Cleaned up some of the throws internally to use the same type as
      the catch.
Version 5.34 (April 21, 2020)
   1. Changed: No longer always show at least 1% done on the statusbar (since
      starting a huge job that could be wrong).
   2. Changed: The statusbar no longer shows the output file size if there
      haven't been any output files (like when doing a verify).
   3. Changed: Made the program return ERROR_UPSUPPORTED_FILE_VERSION when
      trying to create a decoder for a file that's too old.
Version 5.33 (April 15, 2020)
   1. Changed: Renamed the compression level defines to start with MAC to avoid
      conflicts with other encoders.
Version 5.32 (April 15, 2020)
   1. Changed: Visual Studio 2019 update.
   2. Changed: Switched a couple more variables to int64 to remove warnings
      building.
Version 5.31 (April 14, 2020)
   1. Changed: Some fixes by Robert Kausch due to recent changes.
Version 5.30 (April 13, 2020)
   1. Changed: Switched the parameters for the GetInfo(...) calls to int64 from
      intn.
   2. Changed: Removed backwards compatibility for APE files version 3.92 and
      older (it's been over a decade since creation -- just install a previous
      build and convert if you have them).
Version 5.29 (April 12, 2020)
   1. Changed: Visual Studio 2019 update.
   2. Fixed: Sizes of APE files would display incorrectly if they were over 2GB
      in the Winamp dialog.
   3. Changed: Switched the type returns by the GetInfo(...) calls to int64 for
      the file size problem.
Version 5.28 (April 2, 2020)
   1. Fixed: The statusbar could show an incorrect value as the conversion was
      just starting.
Version 5.27 (April 2, 2020)
   1. Changed: Added progress to the taskbar icon.
   2. Changed: Visual Studio 2019 update.
Version 5.26 (March 29, 2020)
   1. Changed: Added the version of Monkey's Audio to the installer.
   2. Changed: Made creation of the installation packages part of the version /
      install system so everything is automated now.
Version 5.25 (March 28, 2020)
   1. Changed: Switched the keyboard shortcut to exit from Ctrl+T to Ctrl+W to
      match other programs.
   2. Changed: Another Visual Studio 2019 update.
Version 5.24 (March 21, 2020)
   1. Fixed: Decoding of older files could still fail because of the added
      support for 32-bit. Now when the program enters legacy mode it also
      converts another variable so decoding should work again.
   2. Changed: Another Visual Studio 2019 update.
Version 5.23 (March 12, 2020)
   1. Fixed: A function was accidentally removed for tagging in the last build.
Version 5.22 (March 11, 2020)
   1. Changed: Tag reading is no longer capped at 256 fields. Now it allocates
      as many fields as exist.
   2. Changed: When saving tags, the fields will be sorted by size first and
      then the name if the sizes are the same (name is the change).
   3. Changed: Visual Studio 2019 update.
Version 5.21 (March 10, 2020)
   1. Fixed: Corrupt APE tags are handled better.
Version 5.20 (February 24, 2020)
   1. Changed: Another Visual Studio 2019 update.
   2. Changed: Switched some of the links to HTTPS (since many sites are now
      secure).
   3. NEW: Added the keyboard shortcut Ctrl+T to exit.
   4. NEW: Added the keyboard shortcut Ctrl+S to stop (and Ctrl+Shift+S to stop
      after the current file).
   5. Changed: Stopping after the current file no longer waits to stop but just
      returns right away and stops eventually.
   6. Changed: The list status updates a little better when stopping.
Version 5.19 (February 9, 2020)
   1. Fixed: The Cool Edit plugin in the 64-bit compile was incorrect.
Version 5.18 (February 7, 2020)
   1. Fixed: The typing of c_APECompress_Start was incorrect.
   2. Changed: Visual Studio 2019 update.
Version 5.17 (January 23, 2020)
   1. Changed: When converting APL to APE, it no longer checks for no
      compression changes but instead just always does the conversion.
Version 5.16 (January 22, 2020)
   1. Fixed: The build signatures weren't time stamped.
Version 5.15 (January 21, 2020)
   1. Changed: Removed the last couple compile warnings (just switched to safer
      string functions).
   2. Changed: Consolidated the new wide functions so the code is only there
      once.
   3. Changed: Corrected some compile issues.
Version 5.14 (January 15, 2020)
   1. Changed: Added a wide version of GetID3Tag and RemoveTag.
   2. Fixed: GetID3Tag would still behave poorly if the year (or other fields)
      was too long.
Version 5.13 (January 14, 2020)
   1. Changed: Visual Studio 2019 update.
   2. Fixed: Calling GetID3Tag on the year field could crash.
   3. Fixed: Corrected the typing of the APEDecompress_Create functions.
Version 5.12 (January 2, 2020)
   1. Changed: Visual Studio 2019 update.
   2. Changed: Some improvements for building outside Windows by Robert Kausch.
Version 5.11 (December 17, 2019)
   1. Changed: Using a command line build process to avoid the possibility of
      any pieces going unbuilt.
Version 5.10 (December 16, 2019)
   1. Fixed: The version information of all the components was not right in
      5.09.
Version 5.09 (December 15, 2019)
   1. Changed: Visual Studio 2019 update.
   2. Changed: Added an example using "auto" as the filename to the command
      line program.
   3. Changed: Updated the copyright year in the help.
Version 5.08 (December 3, 2019)
   1. Changed: Another Visual Studio 2019 update.
   2. Changed: Work to make the console program build better on Linux for third
      parties.
Version 5.07 (November 18, 2019)
   1. Fixed: Wasn't building nicely on Linux.
Version 5.06 (November 15, 2019)
   1. Fixed: When decoding 24-bit files from before the overflow fix, the mode
      will fallback to the legacy decode mode on the first frame failure and
      try the old approach.
   2. Changed: A Visual Studio 2019 update.
Version 5.05 (November 7, 2019)
   1. Changed: Brought the faster SSE back for all encoding and decoding except
      32-bit.
Version 5.04 (November 6, 2019)
   1. Changed: Removed SSE again from the neural networks because of possible
      overflows.
Version 5.03 (November 6, 2019)
   1. Changed: Brought SSE back to the neural networks.
Version 5.02 (November 5, 2019)
   1. Changed: Switched stereo 32-bit files to mid / side for slightly better
      compression.
Version 5.01 (November 5, 2019)
   1. NEW: Added support for compression and decompression of 32-bit integer
      files.
Version 4.99 (October 29, 2019)
   1. Changed: Making some steps towards 32-bit support, but still disabled.
   2. Changed: Replaced tabs in the code with spaces.
Version 4.98 (October 27, 2019)
   1. Changed: You can specify the filename auto on decompress from the command
      line and it will just rename the APE file to WAV and use that.
Version 4.97 (October 25, 2019)
   1. Fixed: Invalid input bit depths were not handled gracefully.
Version 4.96 (October 22, 2019)
   1. Changed: Made the SDK examples work again (updated to Visual Studio 2019,
      and got them all building).
Version 4.95 (October 20, 2019)
   1. Changed: Made list auto-size fill the screen width if the auto-size
      resolves to less width that the list.
Version 4.94 (October 20, 2019)
   1. Changed: Made the size of the default run a little larger.
   2. NEW: Added the right-click command to auto-size all the columns.
Version 4.93 (October 15, 2019)
   1. Changed: A Visual Studio 2019 update for possibly better performance and
      reliability.
   2. Changed: Updated the copyrights to 2020.
Version 4.92 (August 26, 2019)
   1. Fixed: Pressing stop immediately would not always work.
   2. Changed: Improved the shutdown while processing some more.
Version 4.91 (August 23, 2019)
   1. Changed: Switched to mid/side encoding for four channel files for better
      compression (backwards compatibility broken, but only a few builds).
Version 4.90 (August 23, 2019)
   1. Fixed: Shutting down while processing could crash.
   2. Changed: Improved some of the channel code used for 6 and 8 channel files
      to be a little faster.
Version 4.89 (August 22, 2019)
   1. Changed: Switched the 24-bit code to mid/side for 5.1 and 7.1 files.
      Increases compression. Backwards compatibility broken, but again, only a
      few builds.
Version 4.88 (August 21, 2019)
   1. Changed: Switched to mid/side encoding for 5.1 and 7.1 16-bit files for
      better compression (backwards compatibility broken, but it's only a few
      builds).
Version 4.87 (August 21, 2019)
   1. Fixed: Added a missing 16-bit chunk of code to multi-channel
      decompression (files would fail to decompress).
   2. Fixed: Decompressing or verifying certain files could crash.
Version 4.86 (August 20, 2019)
   1. NEW: Support for more than two channel files (any number of channels less
      than or equal to eight should be supported).
Version 4.85 (August 20, 2019)
   1. Changed: Added experimental support for WAVEFORMATEXTENSIBLE files.
   2. Changed: Worked a little on not making the number of channels capped at
      two (still a long ways to go).
   3. Changed: A Visual Studio update.
Version 4.84 (August 10, 2019)
   1. Fixed: The size of MACDll.dll was bigger than needed.
Version 4.83 (August 9, 2019)
   1. Changed: A Visual Studio update.
   2. Changed: Reworked how the version is defined in the code and resources so
      it's only in one place.
   3. Changed: Revised the Winamp plugin install so it wouldn't have a double
      backslash (might not have mattered).
Version 4.82 (August 6, 2019)
   1. Changed: Replaced the watermark image with one a little better colored
      for some monitors.
Version 4.81 (July 28, 2019)
   1. Fixed: Install on XP was broken unintentionally. I updated Inno Setup and
      they dropped XP, so I rolled back (feedback appreciated).
   2. Changed: Moved all the versions in the resource files into the source
      include so they'll never lag by a build again.
Version 4.80 (July 25, 2019)
   1. Changed: Updated copy of Visual Studio 2019.
   2. Changed: Added 32-bit or 64-bit to the top of the about dialog.
   3. Fixed: The program will properly shutdown during install of a new copy of
      the program.
Version 4.79 (July 23, 2019)
   1. Changed: A couple cross-platform define corrections.
   2. Changed: An updated Visual Studio 2019.
   3. Fixed: Got a working resource file in the command line programs.
Version 4.78 (June 18, 2019)
   1. Fixed: APL parsing was crashing outside Windows.
Version 4.77 (June 10, 2019)
   1. Fixed: Corrected the versions in the resource files (they were lagging by
      a build).
Version 4.76 (June 7, 2019)
   1. Changed: Updated to a newer version of the XML code.
   2. Changed: Removed a couple more warnings.
Version 4.75 (June 6, 2019)
   1. Changed: An updated Visual Studio 2019.
   2. Fixed: Corrected a few more remaining warnings.
Version 4.74 (June 1, 2019)
   1. Fixed: Verify and decompress could fail on the last file in a set of
      APL's.
Version 4.73 (May 15, 2019)
   1. Changed: Made the Direct Show filter support APL files so that APL
      playback works from MPC-HC and the like.
Version 4.72 (May 13, 2019)
   1. Changed: Relative paths are supported for the filenames when making APL
      files.
Version 4.71 (May 6, 2019)
   1. Fixed: When decompressing a file, the mode would be set to the last
      (possibly external) codec used instead of the mode that fits for the file
      types.
Version 4.70 (April 28, 2019)
   1. Changed: Consolidated some of the includes so they're only in one place.
Version 4.69 (April 25, 2019)
   1. Fixed: Corrected a few Linux compile warnings (thanks Chocobo1).
Version 4.68 (April 24, 2019)
   1. Fixed: Corrected a couple Linux / Android compile problems (thanks
      Chocobo1).
   2. Changed: Turned the warning level up to 4 and worked through most of
      them.
Version 4.67 (April 23, 2019)
   1. Changed: Worked through the rest of the compile warnings.
Version 4.66 (April 18, 2019)
   1. Fixed: Corrected the version information in the DLLs.
Version 4.65 (April 18, 2019)
   1. Changed: A Visual Studio update.
   2. NEW: Added a 64-bit version of the Direct Show filter.
Version 4.64 (April 15, 2019)
   1. Fixed: Tagging could crash.
Version 4.63 (April 11, 2019)
   1. Changed: Switched to link time code generation (hopefully faster).
Version 4.62 (April 10, 2019)
   1. Changed: Updated Visual Studio (a patch that might matter).
   2. Changed: Removed the remaining warnings.
Version 4.61 (April 3, 2019)
   1. Changed: Updated to Visual Studio 2019 for hopefully better performance.
Version 4.60 (March 18, 2019)
   1. Fixed: Still more work on corrupt files (thanks Piotr Pawlowski).
Version 4.59 (March 15, 2019)
   1. Fixed: Made some more fixes for corrupt file handling (thanks Piotr
      Pawlowski).
Version 4.58 (March 14, 2019)
   1. Fixed: Even more handling of corrupt files (thanks Piotr Pawlowski).
Version 4.57 (March 14, 2019)
   1. Fixed: Corrected a couple more corrupt file crash issues (thanks Piotr
      Pawlowski).
Version 4.56 (March 10, 2019)
   1. Fixed: The Cool Edit plugin was not working.
Version 4.55 (March 9, 2019)
   1. Changed: The system will no longer go to sleep while it's processing
      files.
Version 4.54 (March 4, 2019)
   1. Fixed: Corrected a couple little string issues.
Version 4.53 (March 1, 2019)
   1. Fixed: Corrected a problem that snuck into build 52.
Version 4.52 (March 1, 2019)
   1. Fixed: A bunch more work on files over 2 GB (thanks Janne Hyvärinen).
Version 4.51 (February 28, 2019)
   1. Fixed: Made some of the core file functions better equipped to handle
      over 2 GB.
Version 4.50 (February 28, 2019)
   1. Fixed: Made a few more over 2 GB fixes (thanks Piotr Pawlowski).
Version 4.49 (February 27, 2019)
   1. Changed: Improved support for files over 2 GB (not tested, so please give
      feedback).
Version 4.48 (February 25, 2019)
   1. Fixed: Improved the bad file handling again (thanks Piotr Pawlowski).
Version 4.47 (February 24, 2019)
   1. Fixed: Corrected another crash bug in handling corrupt files.
   2. Fixed: Better handling of memory allocation errors.
Version 4.46 (February 23, 2019)
   1. Fixed: Made handling of corrupt files a little better again.
Version 4.45 (February 23, 2019)
   1. Fixed: Improved handling of corrupt APE files to avoid crashes (files
      with invalid blocks per frame, invalid block align, etc.).
Version 4.44 (January 13, 2019)
   1. Fixed: Corrected a mistake in the APE link string code.
Version 4.43 (January 13, 2019)
   1. NEW: Faster CRC algorithm thanks to Robert Kausch.
Version 4.42 (December 9, 2018)
   1. NEW: Some console improvements thanks to Dominik Herzog.
   2. Changed: Reworked the seek code to hopefully get around a problem on
      Android.
Version 4.41 (December 5, 2018)
   1. Changed: Got all the rest of the compile warnings out of the program.
   2. Changed: Renamed the file seek macro names to avoid conflicts on Android.
Version 4.40 (November 17, 2018)
   1. Changed: Improved some of the code for portability (thanks Robert
      Kausch).
Version 4.39 (November 11, 2018)
   1. Fixed: A corrupt APE file with a negative number for the WAV header
      length could crash instead of being handled gracefully.
   2. Fixed: Corrected a couple compiler warnings.
Version 4.38 (October 29, 2018)
   1. Fixed: Corrected a typo in the Winamp plugin.
Version 4.37 (October 24, 2018)
   1. Changed: The executables are now signed.
Version 4.36 (October 16, 2018)
   1. Changed: Registering the Direct Show filter now associates APE files with
      WMP (before you just had to open all types).
Version 4.35 (October 5, 2018)
   1. Changed: Fixed a few Android compile issues.
Version 4.34 (May 2, 2018)
   1. Optimized: Added a faster CRC (thanks Robert Kausch).
Version 4.33 (December 1, 2017)
   1. Fixed: Disabled sorting while processing (it would make a mess).
Version 4.32 (November 30, 2017)
   1. Changed: Made it possible to sort by the processing time of files.
   2. Changed: Increased the maximum number of simultaneous processes.
Version 4.31 (November 29, 2017)
   1. Fixed: Adding more than five folders would make it stop working.
   2. Changed: Adding a folder no longer removes the existing files.
Version 4.30 (November 20, 2017)
   1. NEW: Added Ctrl+A to the program to select all the entries.
   2. Fixed: The x64 compile wasn't decoding old APE files properly.
Version 4.29 (November 18, 2017)
   1. Changed: Lots of improvements to the SDK for Linux and Mac (big thanks to
      Robert Kausch).
   2. Changed: Made the detection for URLs in the APE tag code check for https:
      // and m01ps://.
Version 4.28 (November 10, 2017)
   1. Fixed: Fixed compilation on Linux and Mac and also added a few SDK code
      changes recommended by a nice user.
Version 4.27 (November 8, 2017)
   1. NEW: Added sorting the list of the main program.
Version 4.26 (September 19, 2017)
   1. NEW: Added a 64-bit version.
   2. Fixed: Corrupt APE files could stall instead of bail out.
   3. Fixed: Corrected the slash direction in filenames on platforms other than
      Windows.
Version 4.25 (March 12, 2017)
   1. Changed: Corrected the spelling of 'Psychedelic' in the ID3v1 code.
Version 4.24 (March 9, 2017)
   1. Fixed: The top text on the options dialog would get cut off on high DPI.
   2. Fixed: Improved the toolbar height on high DPI monitors.
Version 4.23 (March 8, 2017)
   1. Changed: Switched to VS 2017 for hopefully faster builds.
Version 4.22 (February 3, 2017)
   1. Fixed: A Winamp plugin issue.
Version 4.21 (February 2, 2017)
   1. Changed: Switches to the latest Visual Studio for hopefully faster
      builds.
Version 4.20 (February 1, 2017)
   1. Changed: Switched to compiling on my laptop because it's lots smaller.
      Not sure why!
Version 4.19 (January 27, 2017)
   1. Changed: Switched to Visual Studio 2015 -- hopefully faster builds.
   2. Fixed: Columns could get saved with no width and then they'd load with no
      width which was confusing.
   3. Changed: Changed a silly type used to uint32 from unsigned int because I
      guess it wasn't building on Linux and Mac.
   4. Changed: Made the copyrights say 2017.
Version 4.18 (August 6, 2016)
   1. Fixed: WAV files that reported a longer length in the header than they
      actually were would fail with an I/O error (now they encode).
Version 4.17 (June 8, 2016)
   1. Fixed: Much better high DPI support.
   2. Fixed: Some rare WAV files would fail to finish.
Version 4.16 (March 24, 2015)
   1. Fixed: A file progress issue in build 4.15.
Version 4.15 (March 23, 2015)
   1. Fixed: Build issues on Linux and Mac.
Version 4.14 (February 18, 2015)
   1. Fixed: File progress wasn't working in 4.13.
Version 4.13 (February 3, 2015)
   1. Fixed: Improved support for files greater than 2GB.
Version 4.12 (June 26, 2013)
   1. Changed: Numerous fixes for OSX and 64-bit compatibility.
Version 4.11 (January 20, 2013)
   1. NEW: Switched from MMX to SSE assembly, making compression and
      decompression faster.
   2. NEW: Switched to latest Microsoft compiler, making everything around 5%
      faster.
   3. Changed: Removed support for old Monkey's Audio 3.92 and earlier files
      (it hasn't been possible to make these files for over ten years -- use an
      old copy of Monkey's Audio to convert these files to the latest format if
      you have any).
   4. Changed: Fixed a few compiler warnings.
   5. Changed: Removed dependence on third-party NASM assembly compiler in
      favor of intrinsics (which compile nicely with all major compilers).
   6. Changed: Put all Monkey's Audio source code into a namespace APE so that
      linking into third-party projects should never have name collisions.
   7. Changed: Switched from #ifndef/endif to #pragma once (now supported by
      any reasonable compiler).
Version 4.10 (April 16, 2011)
   1. Changed: When compressing a file, the input WAV file is always opened in
      read-only mode (writes were never done, but previously the input WAV
      would only be opened in read-only mode if write permissions were not
      available).
   2. Changed: Updated to newer nasm compiler for MMX assembly.
   3. Changed: Updated the console application (MAC.exe) to support Unicode
      filenames (GUI has always had Unicode support).
   4. Changed: Removed obsolete Unicode compatibility DLL (unicows.dll) from
      the installer (only used by Win 9x).
Version 4.09 (March 28, 2011)
   1. Changed: Updated to an icon that looks nicer on Windows 7 (sorry, still a
      monkey).
   2. Changed: Updated copyright dates.
Version 4.07 / 4.08
   1. Internal testing builds not released to the public.
Version 4.06 (March 17, 2009)
   1. Fixed: In rare cases, a corrupt frame could output as noise instead of
      silence when the decoder was ignoring errors.
Version 4.05 (February 3, 2009)
   1. Fixed: Directshow filter would fail to register on some systems.
   2. Changed: Added CompressFileW2, DecompressFileW2, etc. functions that take
      a C++ interface as a callback for easier usage in multi-threaded
      environments. (as opposed to the old static function callback)
Version 4.04 (February 2, 2009)
   1. Fixed: Directshow filter had an unnecessary dependence on a MSVC system
      dll.
Version 4.03 (January 21, 2009)
   1. Changed: Added a help link to the help menu to show the included help
      file.
Version 4.02 (January 19, 2009)
   1. New: Includes Directshow filter for decoding APE files in any DirectShow
      compatible player like Windows Media Player, Zoom, etc.
   2. Fixed: Corrupt APE files could cause decoder crashes in rare cases.
   3. Changed: Updated builder that gets better compression, making for a
      smaller download.
Version 4.01b2 (February 17, 2006)
   1. Fixed: File > Exit would not close the program.
   2. Fixed: Typo on the options dialog "Leave source file intact" option.
   3. Fixed: APX files that weren't NULL terminated could cause a crash.
   4. Fixed: Files that were skipped would show "Error" instead of "Skipped" in
      the status column.
   5. Changed: Improved the error reporting in the status column after a
      failure.
   6. Fixed: Possible small memory leak (100 bytes) on missing file
      decompression / conversion errors.
   7. Changed: Increased the statusbar size to better hold batches of 100+ GBs
      of files.
   8. Changed: The file list will scroll to show newly started files during
      processing.
   9. Fixed: Adding or removing files from the file list is no longer allowed
      during processing.
  10. Changed: Pausing processing no longer distorts the time estimation.
  11. Fixed: Some operations would not pause properly. (external encoders,
      etc.)
  12. Fixed: The list control would flicker more than necessary when working
      with long lists of files.
Version 4.01b1 (January 8, 2006)
   1. New: Features new user interface. (written in C++ and threaded for dual-
      core computers -- making it nearly twice as fast to compress, decompress,
      and convert with a dual-core setup)
   2. New: New interface supports external codecs using simple XML
      configuration scripts.
   3. Changed: MACDll.dll is unified to include SDK, Winamp, and CoolEdit
      support in one component.
   4. Fixed: Corrupt / invalid APEv2 tags could cause problems in some cases.
   5. Fixed: APL creation could use track boundaries that were off by 1/44100th
      of a second in some cases.
   6. Fixed: APL creation would not properly report errors when the CUE file
      didn't point to an existing APE file.
   7. Fixed: In very rare cases, decoding an old APE file could cause an
      invalid decompression error.
   8. Fixed: When converting from APE -> APE, the APEv2 tag could get appended
      as WAV data to the new file. (instead of as a file tag)
Version 3.99 (April 29, 2004)
   1. Changed: Decoding engine better at handling corrupt streams / loss of
      internet connection while playing.
   2. Changed: Simplified assembly code building for 3rd party developers.
   3. New: Improved entropy coder for increased compression.
   4. Changed: Removed RKAU support. (since it is no longer commonly used)
Version 3.97 (August 2, 2002)
   1. Changed: "Save File List Between Sessions" now on by default in front
      end.
   2. Changed: Replaced usage of "#pragma once" with more non-MS compiler
      friendly alternative.
   3. New: MakeAPL now supports command line APL generation. (pass a .CUE file
      (no wildcards yet) -- operates in silent mode using existing settings)
   4. Changed: Assembly support no longer required for backwards compatibility.
      (thanks Torgeir Strand Henriksen)
   5. Changed: Several non-Windows buildability issues.
   6. Changed: Using NASM to compile all assembly code. (aids cross-platform
      buildability)
   7. Changed: Encapsulated the APELink code.
   8. Changed: Tags aren't analyzed immediately when opening an http:// or
      m01p:// stream.
   9. Changed: Added more functionality to the APL parser.
  10. Changed: Added CreateIAPEDecompressEx2(...) to allow the creation of a
      ranged decoder.
Version 3.96 (April 7, 2002)
   1. Fixed: WAV analysis could hang on invalid wav files.
   2. Changed: Monkey's Audio would try to analyze files with file extensions
      not related to Monkey's Audio.
   3. New: Added APE_DECOMPRESS_AVERAGE_BITRATE field so APL's can report the
      bitrate for the region they represent.
   4. Changed: Improved overall non-Windows build-ability. (MACLib.lib doesn't
      require <windows.h> to build)
   5. Changed: APL parser no longer requires Windows.
   6. Fixed: APE tagging code would fail to save tags for files with existing
      ID3v1 tags.
   7. Fixed: MakeAPL would not run on Win95 / 98.
   8. Changed: More non-Windows build-ability issues.
   9. Changed: Minor assembly optimizations. (like a 2% performance
      improvement)
  10. Changed: MACLib now builds with gcc under Linux. (no backwards
      compatibility or assembly support yet)
  11. Fixed: Bitstream fix / change that may have accounted for decompression
      failures in extremely rare cases.
  12. Changed: Slight NNFilter optimization. (thanks to Chun-Yu Shei)
  13. Changed: Turned off "Explorer" by default for the Monkey's Audio GUI.
      (doesn't work well under XP... will still leave it in for a while)
  14. Changed: Included the WavPack 3.93.
  15. Changed: Changed the history reporting method.
Version 3.95 beta
   1. New: Improved compression engine for better overall compression
   2. Changed: Modularized compression input logic, so MAC could easily support
      formats other than WAV
   3. Changed: Some SDK tweaks and optimizations
   4. Fixed: Fixed a crashy bug introduced in 3.94 (caused when using
      MACDll.dll from VB)
Version 3.94 beta
   1. New: Rewritten compression engine for increased efficiencies and cleaner,
      more consistent code base
   2. New: Decompression (of new files) is done natively block-by-block so
      there won't be uneven CPU usage anymore during playback
   3. New: Significantly improved SDK
   4. Changed: Bit stream optimizations that help compression speed (at least
      on Win2K and WinXP)
   5. Changed: APL system now natively supported by MAC (GUI and everywhere
      else)... no longer a hack
   6. Fixed: Fixed an auto-renaming bug where ape files got the .wav extension
   7. Fixed: Several other little things
Version 3.92 beta
   1. New: Monkey's Audio now comes with the latest APE Cool Edit filter (in
      the tools directory)
   2. Changed: Added .mpc support to the Monkey's Audio front-end and changed
      the default mp+ extension to mpc
   3. Changed: Made a bunch of fixes and improvements to the APL creation tool
      included with MAC
   4. Fixed: Playback plugin now version checks the file format against the
      plugin format for Media Jukebox playback
   5. Fixed: Fast forwarding "past" the end of songs could crash Winamp
   6. Fixed: Removing / saving a tag of a read-only file could hang the APE
      file info dialog.
   7. Fixed: Tag + Rename in Monkey's Audio always renamed files to .ape
      regardless of their type.
Version 3.91 beta
   1. Fixed: Fixed a bug where the file properties couldn't be viewed when a
      file was playing
   2. Fixed: Fixed a bitstream bug (from the new 3.90 bitstream) where 24-bit
      files could fail to compress
Version 3.90 beta
   1. New: New advanced bitstream format that gets better compression with very
      little speed difference
   2. New: New compression interface available via the SDK that's nice, clean,
      and fully supports on-the-fly encoding
   3. Changed: Other compression improvements to fast, normal, and high modes
   4. New: The overall progress now displays in the window caption and task-bar
      during processing.
   5. Changed: Improved progress updating for external encoders.
   6. Fixed: Peak level analysis works again... may need to convert files to
      the new version to fix them. (only affects 3.89 and 3.90 files)
   7. Fixed: Other speed and stability fixes.
   8. Fixed: Fixed a bug causing compression to fail if the WAV file had
      certain format fields wrong in its header (block align, bytes/sec)
Version 3.89 beta
   1. New: Added preliminary playback support for APL files (APE link files,
      for playback from Image & CUE Sheet combos)
   2. New: Added 24-bit playback support for Media Jukebox and Winamp
   3. Changed: Bitstream is now a lot more robust and unbreakable (and faster :
      )
   4. New: Added sample-perfect seeking (can seek precisely to any sample)
   5. New: Created a buffering system for both playback and encoding, which
      should be super handy for anyone using the SDK (to be documented later)
   6. Fixed: Fixed a problem where tracks with tons of pure silence or with a
      frame that took an amazing number of bits could fail to be decoded (or
      possibly encoded)
   7. Fixed: Fixed a tagging bug related to the new tagging system where the
      genre could show up as a number
   8. Changed: Made the output location selection in Monkey's Audio a little
      clearer
   9. Fixed: Changed what dll's get installed for VB/NT compatibility...
      hopefully everything keeps working for everyone
Version 3.88 beta
   1. New: New tagging format... flexible and unlimited... all saving of new
      tags is done in this format
   2. New: MAC will now create the output directory if you specify a directory
      that doesn't exist (supports multiple levels)
   3. New: APE Info dialog now displays compressed and uncompressed file sizes
   4. New: Added an option to automatically verify the creation of all APE
      files to Monkey's Audio
   5. New: Added the option to stop processing after an error was encountered
      in Monkey's Audio
   6. Changed: All I/O is now encapsulated, which should make porting much
      easier
   7. Changed: Removed native http:// support from the MAC library. Now
      supported only through Media Jukebox or Winamp 3 readers. (sorry, may
      break Media Jukebox 6 Server streaming, but it will work with Media
      Jukebox 7)
   8. Changed: Optimized the bit stream decoder
   9. Fixed: Monkey's Audio would crash if you named a crazy file .ape and
      tried to use it.
  10. Changed: The decoder now reads data in much smaller blocks... will
      hopefully help people with slow hard drives
  11. Fixed: Fixed several internal library bugs... too lazy to explain them
      all.
Version 3.87 beta 2
   1. Fixed: Fixed the erroneous warning message about MACDll.dll not being
      found when starting MAC
   2. Fixed: Fixed a possible version conflict with "Explorer Control.ocx"
Version 3.87 beta
   1. New: Great new help file. (thanks a million Anthony Oetzmann)
   2. Changed: The Winamp plugin and console front-end (MAC.exe) now have no
      external dependencies.
   3. Changed: Monkey's Audio now only uses one non-system dll: MACDll.dll.
   4. Changed: Changed to the 'standard' genre list of 148 genres everywhere.
   5. Changed: MAC will now ask you if you're sure when you attempt to erase
      the tag from an APE file.
   6. Changed: MAC.exe now displays what compression mode it is compressing
      with
   7. Changed: Updates the Media Jukebox 7 / Monkey's Audio integration
      functions.
   8. Fixed: Fixed the tab order in the options dialog
   9. Changed: The 'Remove Tag' button in the file info dialog is disabled for
      untagged files.
  10. Fixed: Fixed a few possible file locking and/or memory leaking bugs
  11. Changed: Monkey's Audio will now be much more "low resolution" friendly
      by default
Version 3.86 beta 2
   1. New: Added a handy MRU list to the "Add File" button.
   2. New: MAC now dynamically loads the built-in explorer, and automatically
      steps in and disables it if it causes any problems.
   3. New: Added .mp2 support.
   4. Changed: MAC now remembers its last window position instead of just
      starting in the middle of the screen.
   5. Fixed: Stopped the built-in explorer from grabbing the 'Enter' key and
      firing up your player.
   6. Fixed: Fixed the spelling of 'Bottom' in the options dialog. (doh)
   7. Fixed: Fixed a problem with adding files where the extension was in all
      caps.
Version 3.86 beta 1
   1. Changed: Rewrote the bitstream functions. It's the first time the
      bitstream has changed formats since the 1.xx's. Bitstream encoding is now
      quite a bit faster, and it achieves slightly better compression.
   2. Changed: Added file-type masking to the drag-n-drop, add files, add
      folder, context menus, and mode switching. Very convenient, but my head
      hurts.
   3. Changed: MAC will now give an error if you attempt to do something with
      an external encoder that you don't have. (instead of piecing out)
   4. New: Added a tooltip to show the status of a file in the file list. Handy
      for errors that get truncated.
   5. Fixed: Fixed a bug where MAC.dll wouldn't always 'gracefully' deal with
      encoding errors.
   6. Fixed: Fixed a bug with the explorer context-menu's
   7. Changed: Updated the compression menu LAME link to the new site
Version 3.85 beta
   1. Changed: Added double-buffering in a separate thread while playing remote
      files (MJ server, http:// stream, etc.)
   2. New: Added an optional file explorer to the Monkey's Audio program
   3. New: Created a 'lite' version of the toolbar
   4. Fixed: Improved ID3v2 tag handling
   5. Fixed: Fixed a bug that caused playback time to get off by a few seconds
      on super long songs
   6. New: Added Media Jukebox 7 information functions to the playback plugin
      (seamless integration with MJ)
Version 3.84 beta
   1. Fixed: Fixed a decompression bug that would cause a false "invalid
      checksum" if the WAV header size wasn't a multiple of 4
   2. Changed: 8-bit files should now compress about 1% or so better
Version 3.83 beta
   1. New: New 'extra high' mode... beefed up from the previous version... even
      better compression, but a bit slower
   2. New: Added detection of 'pure' silence, so now pure silence takes
      basically no space.
   3. New: Added fake-stereo detection (mono split to stereo) for improved
      compression on these tracks (common on CD's made from old mono
      recordings)
   4. New: Added CPU load-balancing mechanism for the playback of 'extra high'
      files to keep CPU usage more even.
   5. Changed: Removed "Bit Array Size" setting from the Winamp plugin... even
      I didn't know what changing the setting really did.
   6. Changed: Added "CPU Load Balancing" setting to the Winamp plugin.
   7. Fixed: Fixed a bug in the non-MMX 'extra high' decoding routine.
   8. Fixed: Fixed a bug with 24-bit encoding introduced with the last beta.
   9. Fixed: Fixed the alignment of the "time" column inside of the interface.
  10. Fixed: Hopefully fixed a bug causing the MAC to crash when it was
      switched to "minimize to tray"
Version 3.82 beta
   1. Fixed: Fixed a bug in the new assembly decoding routine that could cause
      a false "invalid checksum" error
   2. Fixed: Fixed a bug with the Winamp plugin installation from within
      Monkey's Audio... now MAC will close so the system files won't be locked
   3. Changed: Added some version checking to the Winamp plugin
Version 3.81 beta
   1. Fixed: Fixed a memory leak in MAC.dll
   2. Fixed: Fixed a bug causing temporary files to not get properly deleted
      after compression
   3. New: Support for on-the-fly encoding... will make ripping much nicer once
      rippers add support for APE
   4. New: On-the-fly conversion of your APE files... now it's a lot faster to
      upgrade your collection to the newest version
   5. New: Convert now skips the file if you're going from APE->APE and the
      version and compression levels match (add your whole music folder, do a
      'Convert', and it'll only convert the stuff it has to)
   6. New: Added several keyboard shortcuts to make using Monkey's Audio a
      little easier
   7. New: Improved error reporting (no more numbers :)
   8. New: Can now order the file list by dragging items around
   9. New: Can now display the free space for any drive in the status bar
      (click to pick which drive)
  10. New: "Output to Specified Directory" now has an MRU list...
  11. Changed: Added mp+ ID3v1.1 tag support
  12. New: Can now copy the file list to the clipboard (useful for saving
      reports, etc.) (File menu or Ctrl+C)
  13. Changed: Toolbar buttons with no current function are now disabled (i.e.
      "Clear Files" when the list is empty)
  14. Changed: Bitstream decoder completely re-written in assembly... now quite
      a bit snappier :)
  15. Fixed: Fixed a bug causing the console front end to crash if you gave it
      bad parameters
  16. Fixed: Fixed a bug where tags were created with trailing spaces instead
      of trailing nulls
  17. Fixed: Tag and rename now does just that: tag, then rename (was renaming
      then tagging...)
  18. Fixed: Fixed a bug with the "Suppress Silence" feature causing divide by
      zero errors at the end of some songs
  19. Changed: Almost a complete re-write of UnMAC.dll... it's finally class-
      based, thread safe, and all that good stuff... look for the new SDK to
      follow fairly soon
  20. New: APE files now work fine when tagged with ID3v2 tags
  21. Fixed: Fixed a bug causing 24-bit files to not play properly from Winamp
      when "Scaling" was turned on
  22. New: Added Media Jukebox information loading/saving functions to the
      Winamp plugin... makes Media Jukebox work with APE files quite a bit
      nicer
  23. Changed: A few little speed tweaks... (it's getting harder and harder to
      find places that I can speed up...)
  24. Changed: Seek information stored more efficiently now... files will be a
      few kb smaller, and error recovery/patching will be much easier
  25. Fixed: Learned how to spell "success" :)
Version 3.80
   1. Changed: Complete remake of the 'extra high' mode... tons better
      compression and a lot of MMX assembly for speed :)
   2. Changed: Some fairly substantial speed/compression improvements to
      'normal' and 'high' as well
   3. New: Winamp plugin can now optionally suppress long passages of silence
   4. Fixed: Fixed a file sharing bug that could cause sporadic "error
      decompressing frame" messages while playing
   5. Fixed: Reworked the compress/decompress/convert/etc... logic (and fixed
      the bug causing APE to mp+ conversion to fail)
   6. Fixed: Monkey's Audio now works fine with wav's that have extra chunks
      before the 'fmt ' chunk
   7. Changed: A lot of internal changes that don't make that much difference
      on the outside, but they're good none the less...
   8. Changed: No more local copies of documentation... now Monkey's Audio just
      links to this site
Version 3.71
   1. Fixed: Fixed a bug with decompressing 'extra high' files from 3.70
   2. Fixed: Fixed a bug causing the file version to be displayed goofy in the
      file info dialog
Version 3.70
   1. New: Can now "ignore" bitstream errors during playback... you'll just get
      a little silence
   2. New: http:// streaming support... would be better, but it's hard to tune
      with a 56k modem ;)
   3. New: support for Media Jukebox server format... (I would say more, but
      it's still top secret...just trust me, it's pretty cool)
   4. Changed: Monkey's Audio now remains totally responsive while acting as a
      front-end for other coders; also, new pop-up windows will be minimized if
      Monkey's Audio is minimized
   5. Changed: The beginning of some architecture changes that you'll hopefully
      never notice (but they make programming Monkey's Audio much nicer)
   6. Changed: An even better 'High' mode
   7. Changed: Shell extensions should now work with basically any program
      (Winamp, Media Jukebox, etc.)
   8. Fixed: No longer prompts to install Winamp plugin on first run (since
      setup should take care of this)
   9. Fixed: VBR display is no longer crazy for last one or two frames
  10. New: Now supports Ogg Vorbis as an external coder (oggenc.exe)
  11. Changed: No more ERROR 1002's for a lot of people....I just removed a
      bunch of security checking, because there are a lot of popular programs
      that don't make fully valid WAV files
Version 3.60
   1. Changed: New and greatly improved "high" mode
   2. Changed: Improved "extra high" mode
   3. Changed: Added support for RKAU 1.05 (with multiple modes)
   4. Changed: Added support for MP+ compression
   5. New: Can now preserve the time stamp of the source file(s) on any new
      files created
   6. New: Can now play an annoying sound when processing finishes (or you can
      replace the annoying sound with your own)
   7. New: Updated the included VB run-times to the newest available (Visual
      Studio 6 - SP4)
   8. Fixed: Monkey's Audio should now fail if it runs out of disk space
      (instead of creating garbage files and saying that it was successful)
   9. Fixed: Should do a better job of cleaning up after errors (freeing
      memory, removing files, etc...)
  10. Fixed: A few other little fixes that I can't remember now...
Version 3.51
   1. Changed: Loading file lists on startup and adding folders is now around
      20x faster
   2. Fixed: Fixed a bug where external coder's configurations were being
      cleared when "Cancel" was pressed when configuring
   3. Changed: Fixed a bug that caused problems when Monkey's Audio was
      minimized during closing
   4. New: Fixed a bug causing files to be added more than once when adding a
      folder with "Add All Supported Types" selected
Version 3.50 beta
   1. New: Full support for external coders (LAME, MP3Enc, WavPack, RKAU, and
      Shorten)
   2. Changed: Completely new install / uninstall method (tons better)
   3. Changed: "Anti-prediction" code for 'Fast' mode is around 35% faster
   4. New: Can now optionally "scale" all output to 16-bit in Winamp....allows
      24-bit playback and equalization and dsp for 8-bit and 24-bit files.
   5. Changed: "Recompress" has been changed to "Convert", and the output logic
      is now more consistent with all of the other modes
   6. Changed: Can now set the peak level at which to begin using on-the-fly
      normalization. (no point in normalizing a file that's already at 96%)
   7. New: Added an MRU list to the "Add Folder" menu
   8. New: Can now display an "expanded" toolbar with a button for each page of
      the options...nice if you run 1024x768 or above
   9. Changed: Clicking anywhere on the "Process" button when the file list is
      empty will show the mode selection menu
  10. Changed: Removed the separate tagging button and menu item
Version 3.41
   1. Changed: Some pretty big speed-ups of decompress and verify resulting in
      performance that's up to 20% better overall
   2. New: Added the ability to pause during processing
   3. Changed: Added an "Apply" button to the options window
   4. Fixed: Fixed a bug that caused the "Output to Specified Directory" not to
      work
   5. Fixed: Fixed a bug that could cause part of the toolbar to disappear when
      changing modes
Version 3.40 beta
   1. Changed: Some pretty substantial improvements to the core compression
      algorithms...quite a bit more bang per CPU dollar (or cycle if you
      prefer) in every mode
   2. Changed: Reworked the front-end a bit...hopefully it's better looking now
   3. New: Added a common options / settings dialog for the main program
   4. New: Made more options for customizing how Monkey's Audio looks (can
      choose your own watermarks, etc.)
   5. New: Added a "View Mode Comparison" feature to the mode selection area
   6. New: Now displays "Total Time" for the last process (instead of just
      "Progress: 00.00%")
   7. New: Added a (hopefully) nice instruction screen for the tagging setup
   8. New: Can now optionally save the list of files between sessions
   9. New: Added a progress bar to the status bar for a convenient graphical
      display of the overall progress
  10. Changed: Made the Winamp plugin also support the old .MAC extension
  11. Changed: Changed the layout of the APE File Info dialog...tighter and
      hopefully better
  12. Changed: Changed the layout of the WAV File Info dialog
  13. Changed: Changed the nasty "mb" to "MB"...crazy millibytes... they'll get
      'ya every time
  14. Changed: Changed "Done" to "OK" for the message after successful
      completion of a file
  15. Changed: Added a "Ctrl+A" shortcut to select all the files
  16. Fixed: Fixed a bug causing the length of large WAV files to not display
      properly in the file info dialog
Version 3.31
   1. Fixed: Fixed a bug with MAC 3.30's 'extra high' mode (sorry about that)
   2. Changed: Some decompression speedups
   3. Changed: Changed it so the temp files are created in the same directory
      as the output file instead of the input file (makes way more sense)
Version 3.30
   1. New: Monkey's Audio now supports 24-bit WAV files (still in beta, so
      possibly a little buggy)
   2. Changed: Main listview in Monkey's Audio is now multiselect...handy for
      removing files or playing a whole album or whatever
   3. Changed: Expanded right-click menu inside of Monkey's Audio (in the main
      listview dealie)
   4. Changed: Added "File Info" to the explorer shell extensions...can now
      right click on .ape or .wav files in explorer to quickly view file info
      and edit tags
   5. Changed: Changed the layout of the Winamp settings dialog....much tighter
      and better looking now (me thinks)
   6. Changed: Added escape key shortcuts to the Winamp and File Info dialogs
      to allow for quick exits
   7. New: File info dialog expanded to support .wav files
   8. New: New option to "leave existing tag fields alone" when tagging...
      makes it easy to just change certain parts of a tag, or add the track
      after EAC rips (since EAC isn't ID3 v1.1)
   9. Fixed: Fixed a minor bug in the output location setting inside of MAC
Version 3.20
   1. New: Monkey's Audio now checks the MAC dll versions when loading (should
      help prevent a lot of problems)
   2. New: added this document (thanks a bunch Kim Erik Hang for typing up all
      of the old info)
   3. New: Attempting to run a second instance of Monkey's Audio now activates
      and displays the currently running version (can use the shortcut to
      restore the window)
   4. New: Can view dll versions from the about box
   5. New: Monkey's Audio now saves the load/save file dialog path between
      sessions
   6. New: APE Player can now load and save .m3u playlists
   7. Changed: Some algorithm optimization....saves around 15 seconds an album
      when compressing
   8. Changed: expanded file info dialog
   9. Changed: can now fill genre tag field from file and directory info when
      tagging
  10. Changed: the documentation for Monkey's Audio was put in sub-directory
      below the main directory
  11. Fixed: fixed a bug that caused the peak level not to be reset between
      encoding songs
  12. Fixed: fixed a bug that caused problems with read-only APE files
Version 3.12
   1. Fixed: fixed a bug that caused UnMAC.dll to crash
   2. Fixed: fixed a volume setting bug in the APE Player
   3. New: added version tables to everything
Version 3.11
   1. Changed: much less embarrassing APE Player (with better source code too)
   2. Fixed: several bug fixes to the front-end and Winamp plugin (auto-
      renaming bugs, errors when files are missing from playlists, etc...)
Version 3.10
   1. New: fancy (actually crappy) dedicated and open-source APE player
   2. New: cool EAC patch to make it output the new .ape extension
   3. Changed: couple of other random tweaks and bug fixes
Version 3.02
   1. Fixed: several bug fixes
   2. New: selectable thread priority
   3. New: minimizable to the system tray
   4. Fixed: fixed auto-tagging / auto-renaming bug(s)
   5. New: added "Verify" mode to the console front-end
   6. Changed: some install tweaks
Version 3.01
   1. Fixed: bunch of bug fixes
   2. New: now uses intermediate temporary files during all processing options
   3. Changed: some front-end tweaks and improvements (right click menu…)
Version 3.00
   1. Changed: now uses the extension .APE instead of .MAC
   2. New: includes a handy file extension renamer to ease the pain of renaming
      to APE, also handy if rippers won’t output the .ape extension
   3. New: can now optionally normalize during playback
   4. Changed: greatly expanded and improved help file
   5. New: make MAC rename files as it tags 'em
   6. Changed: new and improved about box
   7. New: it can now "Stop immediately" during processing
   8. Changed: some other stuff that I can’t remember
Version 2.90
   1. Changed: now has finalized "Extra High" mode, about twice as fast as the
      beta, but with a slight compression degradation
   2. New: release of the Winamp plugin source code
   3. Changed: improved & fixed auto-tagging system (now can generate tags
      based on directory info)
   4. Changed: improved install routine, quite a few other little tweaks
   5. Fixed: bug fixes
Version 2.80
   1. New: new "Recompress" mode to easily convert files to different
      compression levels (and maintain tags)
   2. Changed: tagging converted from ID3 to ID3 v1.1 (now has track field)
   3. New: a completely new install method that should be smaller and more
      convenient
   4. Fixed: some bug fixes (including 8-bit Winamp problems)
Version 2.70
   1. Changed: greatly improved error detection (now uses CRC32’s)
   2. New: new "extra high" mode for when compression is crucial
   3. Changed: customizable Winamp file display mode
   4. Fixed: several bug fixes
Version 2.60
   1. New: 8-bit support
   2. New: optional auto-tagging
   3. New: some theory documentation
   4. Fixed: quite a few bug fixes
Version 2.50
   1. New: a convenient installer
   2. Fixed: a few tagging support bug-fixes
   3. Changed: some back-end code restructuring
Version 2.41
   1. Fixed: fixed possible divide by zero error in Winamp plugin
Version 2.40 beta
   1. New: tag info is now editable from Winamp and MAC
   2. New: added a verify mode to verify .mac files
   3. Changed: several front-end tweaks and improvements
   4. Changed: a great deal of back-end code was rewritten
Version 2.31
   1. Fixed: fixed a minor bug in the 'bit array size' setting in Winamp
Version 2.30
   1. New: settings dialog added to the Winamp plugin
   2. Fixed: a few minor bugs fixed
   3. Changed: several 'back-end' improvements
Version 2.22
   1. Fixed: several bug fixes
   2. Changed: improved console front end (unified regular and EAC front ends)
Version 2.21
   1. New: now Monkey’s Audio can interface directly with EAC so that you can
      pop in a CD, click a button, and end up with compressed and tagged MAC
      files
Version 2.20
   1. New: now features a console front-end
Version 2.10
   1. Changed: dramatic decompression speedups (25% - 35%)
   2. Fixed: several bug fixes
Version 2.00
   1. New: now has installable explorer shell extensions
   2. Changed: greatly improved Winamp tagging support
   3. Fixed: several bug fixes
Version 1.91
   1. Changed: now fully supports ID3 tags
Version 1.90
   1. New: redesigned interface (much sweeter)
   2. Fixed: several bug fixes
Version 1.83
   1. Changed: improved the SDK and changed function calling conventions
Version 1.82
   1. Fixed: fixed a few front-end bugs, NT compatibility problems gone
   2. New: added a cool icon
Version 1.81
   1. New: now includes an SDK for developers that want to add Monkey’s
      technology to their own programs
Version 1.80
   1. Changed: greatly increased the compression of "fast" mode
   2. Changed: sorry, broke backwards compatibility for fast mode files
   3. New: added some documentation
Version 1.72
   1. Fixed: fixed a bug in the add folder option
   2. New: added an about dialog and a few other things to the front end
Version 1.71
   1. Changed: front-end now fully supports drag-and-drop
   2. New: added the ability to add folders (with recursion)
   3. Changed: settings inside of MAC are now saved
Version 1.70
   1. New: added ability to select compression level
   2. Changed: a few speed increases and front-end tweaks
   3. Changed: compression with new "maximum" mode is close to the best
      available
   4. Changed: backwards compatibility broken (sorry)
Version 1.63
   1. Fixed: fixed Winamp plugin bug that caused a pause when starting a song
   2. New: included a special Pentium build of the Winamp plugin
Version 1.62
   1. Fixed: minor bug fix in handling of WAV headers
Version 1.61
   1. Changed: improved file format, slightly better compression and more error
      resistant
   2. Changed: sorry, backwards compatibility broken
Version 1.60
   1. Fixed: fixes several bugs
Version 1.53
   1. Fixed: hopefully fixed skipping problems during playback
Version 1.52
   1. Fixed: added a couple more fixes to the Winamp plugin
Version 1.51
   1. New: released MAC to the public for the first time
   2. Fixed: minor fix to Winamp playlist functioning
Version 1.5
   1. Changed: significant speed increases
   2. Changed: less memory usage
   3. Changed: more powerful front-end
Version 1.4
   1. Changed: compression and performance increases
   2. Changed: improved error checking and bitstream management
Version 1.3
   1. Changed: everything is about 15% faster
   2. New: added several front-end features
Version 1.2
   1. Changed: better front-end
   2. Changed: improved memory models
   3. Fixed: several bugfixes
Version 1.1
   1. New: it now supports almost all WAV files (mono, low sample rates, etc.)
   2. New: also added support for "advanced" WAV files with regions, markers,
      playlists, etc. embedded in them.
Version 1.0
   1. New: first public release version
Thank You
Thank you for your support through 26 great years of Monkey's Audio.
    * All materials and programs copyright 2000-2026 Matthew T. Ashland
    * Site by Matt Ashland, portions contributed by KiM
    * All rights reserved
