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