diff --git a/.github/workflows/CI-windows.yml b/.github/workflows/CI-windows.yml index 32b9f38a..f7adcae5 100644 --- a/.github/workflows/CI-windows.yml +++ b/.github/workflows/CI-windows.yml @@ -32,7 +32,7 @@ jobs: # yamllint disable-line rule:line-length run: | git apply --directory=ThirdParty/flac ThirdParty/submodule_flac_CUETools.patch --verbose --whitespace=nowarn - powershell -c "Expand-Archive ThirdParty/MAC_SDK/MAC_1026_SDK.zip -DestinationPath ThirdParty/MAC_SDK/" + powershell -c "Expand-Archive ThirdParty/MAC_SDK/MAC_1037_SDK.zip -DestinationPath ThirdParty/MAC_SDK/" git apply --directory=ThirdParty/MAC_SDK ThirdParty/ThirdParty_MAC_SDK_CUETools.patch --verbose git apply --directory=ThirdParty/taglib-sharp ThirdParty/submodule_taglib-sharp_CUETools.patch --verbose git apply --directory=ThirdParty/WavPack ThirdParty/submodule_WavPack_CUETools.patch --verbose diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index 658975f6..53357772 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -33,7 +33,7 @@ jobs: # yamllint disable-line rule:line-length run: | git apply --directory=ThirdParty/flac ThirdParty/submodule_flac_CUETools.patch --verbose --whitespace=nowarn - powershell -c "Expand-Archive ThirdParty/MAC_SDK/MAC_1026_SDK.zip -DestinationPath ThirdParty/MAC_SDK/" + powershell -c "Expand-Archive ThirdParty/MAC_SDK/MAC_1037_SDK.zip -DestinationPath ThirdParty/MAC_SDK/" git apply --directory=ThirdParty/MAC_SDK ThirdParty/ThirdParty_MAC_SDK_CUETools.patch --verbose git apply --directory=ThirdParty/taglib-sharp ThirdParty/submodule_taglib-sharp_CUETools.patch --verbose git apply --directory=ThirdParty/WavPack ThirdParty/submodule_WavPack_CUETools.patch --verbose diff --git a/ThirdParty/MAC_SDK/MAC_1026_SDK.zip b/ThirdParty/MAC_SDK/MAC_1037_SDK.zip similarity index 58% rename from ThirdParty/MAC_SDK/MAC_1026_SDK.zip rename to ThirdParty/MAC_SDK/MAC_1037_SDK.zip index 1a588926..6883e73f 100644 Binary files a/ThirdParty/MAC_SDK/MAC_1026_SDK.zip and b/ThirdParty/MAC_SDK/MAC_1037_SDK.zip differ diff --git a/ThirdParty/MAC_SDK/Source/MACLibDll/MACLibDll.cpp b/ThirdParty/MAC_SDK/Source/MACLibDll/MACLibDll.cpp index 1bf14260..593eea3f 100644 --- a/ThirdParty/MAC_SDK/Source/MACLibDll/MACLibDll.cpp +++ b/ThirdParty/MAC_SDK/Source/MACLibDll/MACLibDll.cpp @@ -182,18 +182,18 @@ void __stdcall c_APECompress_Destroy(APE_COMPRESS_HANDLE hAPECompress) int __stdcall c_APECompress_Start(APE_COMPRESS_HANDLE hAPECompress, const char * pOutputFilename, const APE::WAVEFORMATEX * pwfeInput, APE::int64 nMaxAudioBytes, int nCompressionLevel, const void * pHeaderData, APE::int64 nHeaderBytes) { CSmartPtr spOutputFilename(CAPECharacterHelper::GetUTF16FromANSI(pOutputFilename), TRUE); - return (static_cast(hAPECompress))->Start(spOutputFilename, pwfeInput, nMaxAudioBytes, nCompressionLevel, pHeaderData, nHeaderBytes); + return (static_cast(hAPECompress))->Start(spOutputFilename, pwfeInput, false, nMaxAudioBytes, nCompressionLevel, pHeaderData, nHeaderBytes); } int __stdcall c_APECompress_StartW(APE_COMPRESS_HANDLE hAPECompress, const str_utfn * pOutputFilename, const APE::WAVEFORMATEX * pwfeInput, APE::int64 nMaxAudioBytes, int nCompressionLevel, const void * pHeaderData, APE::int64 nHeaderBytes) { - return (static_cast(hAPECompress))->Start(pOutputFilename, pwfeInput, nMaxAudioBytes, nCompressionLevel, pHeaderData, nHeaderBytes); + return (static_cast(hAPECompress))->Start(pOutputFilename, pwfeInput, false, nMaxAudioBytes, nCompressionLevel, pHeaderData, nHeaderBytes); } #endif int __stdcall c_APECompress_StartEx(APE_COMPRESS_HANDLE hAPECompress, APE_CIO_HANDLE hCIO, const APE::WAVEFORMATEX * pwfeInput, APE::int64 nMaxAudioBytes, int nCompressionLevel, const void * pHeaderData, APE::int64 nHeaderBytes) { - return (static_cast(hAPECompress))->StartEx((CallbackCIO *) hCIO, pwfeInput, nMaxAudioBytes, nCompressionLevel, pHeaderData, nHeaderBytes); + return (static_cast(hAPECompress))->StartEx((CallbackCIO *) hCIO, pwfeInput, false, nMaxAudioBytes, nCompressionLevel, pHeaderData, nHeaderBytes); } APE::int64 __stdcall c_APECompress_AddData(APE_COMPRESS_HANDLE hAPECompress, unsigned char * pData, int nBytes) diff --git a/ThirdParty/ThirdParty_MAC_SDK_CUETools.patch b/ThirdParty/ThirdParty_MAC_SDK_CUETools.patch index fd5d2dfc..dc8170f9 100644 --- a/ThirdParty/ThirdParty_MAC_SDK_CUETools.patch +++ b/ThirdParty/ThirdParty_MAC_SDK_CUETools.patch @@ -1,38 +1,38 @@ -diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/APECompress.cpp 1_MAC_1026_SDK_updated/Source/MACLib/APECompress.cpp ---- 0_MAC_1026_SDK_orig/Source/MACLib/APECompress.cpp 2023-05-17 19:49:22.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/MACLib/APECompress.cpp 2023-11-01 09:49:24.000000000 +0100 -@@ -33,6 +33,7 @@ +diff -ur 0_MAC_1037_SDK_orig/Source/MACLib/APECompress.cpp 1_MAC_1037_SDK_updated/Source/MACLib/APECompress.cpp +--- 0_MAC_1037_SDK_orig/Source/MACLib/APECompress.cpp 2023-12-15 16:35:58.000000000 +0100 ++++ 1_MAC_1037_SDK_updated/Source/MACLib/APECompress.cpp 2023-12-22 04:00:18.000000000 +0100 +@@ -34,6 +34,7 @@ } } +#ifndef EXCLUDE_CIO - int CAPECompress::Start(const wchar_t * pOutputFilename, const WAVEFORMATEX * pwfeInput, int64 nMaxAudioBytes, int nCompressionLevel, const void * pHeaderData, int64 nHeaderBytes, int nFlags) + int CAPECompress::Start(const wchar_t * pOutputFilename, const WAVEFORMATEX * pwfeInput, bool bFloat, int64 nMaxAudioBytes, int nCompressionLevel, const void * pHeaderData, int64 nHeaderBytes, int nFlags) { if (m_pioOutput) -@@ -58,6 +59,7 @@ +@@ -67,6 +68,7 @@ return nStartResult; } +#endif - int CAPECompress::StartEx(CIO * pioOutput, const WAVEFORMATEX * pwfeInput, int64 nMaxAudioBytes, int nCompressionLevel, const void * pHeaderData, int64 nHeaderBytes) + int CAPECompress::StartEx(CIO * pioOutput, const WAVEFORMATEX * pwfeInput, bool bFloat, int64 nMaxAudioBytes, int nCompressionLevel, const void * pHeaderData, int64 nHeaderBytes) { -diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/APECompress.h 1_MAC_1026_SDK_updated/Source/MACLib/APECompress.h ---- 0_MAC_1026_SDK_orig/Source/MACLib/APECompress.h 2023-07-11 16:21:04.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/MACLib/APECompress.h 2023-11-01 09:49:24.000000000 +0100 +diff -ur 0_MAC_1037_SDK_orig/Source/MACLib/APECompress.h 1_MAC_1037_SDK_updated/Source/MACLib/APECompress.h +--- 0_MAC_1037_SDK_orig/Source/MACLib/APECompress.h 2023-12-15 14:14:54.000000000 +0100 ++++ 1_MAC_1037_SDK_updated/Source/MACLib/APECompress.h 2023-12-22 04:02:34.000000000 +0100 @@ -20,7 +20,9 @@ ~CAPECompress(); // start encoding +#ifndef EXCLUDE_CIO - int Start(const wchar_t * pOutputFilename, const WAVEFORMATEX * pwfeInput, int64 nMaxAudioBytes, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, const void * pHeaderData = APE_NULL, int64 nHeaderBytes = CREATE_WAV_HEADER_ON_DECOMPRESSION, int nFlags = 0) APE_OVERRIDE; + int Start(const wchar_t * pOutputFilename, const WAVEFORMATEX * pwfeInput, bool bFloat, int64 nMaxAudioBytes, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, const void * pHeaderData = APE_NULL, int64 nHeaderBytes = CREATE_WAV_HEADER_ON_DECOMPRESSION, int nFlags = 0) APE_OVERRIDE; +#endif - int StartEx(CIO * pioOutput, const WAVEFORMATEX * pwfeInput, int64 nMaxAudioBytes, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, const void * pHeaderData = APE_NULL, int64 nHeaderBytes = CREATE_WAV_HEADER_ON_DECOMPRESSION) APE_OVERRIDE; + int StartEx(CIO * pioOutput, const WAVEFORMATEX * pwfeInput, bool bFloat, int64 nMaxAudioBytes, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, const void * pHeaderData = APE_NULL, int64 nHeaderBytes = CREATE_WAV_HEADER_ON_DECOMPRESSION) APE_OVERRIDE; // add data / compress data -diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/APEInfo.cpp 1_MAC_1026_SDK_updated/Source/MACLib/APEInfo.cpp ---- 0_MAC_1026_SDK_orig/Source/MACLib/APEInfo.cpp 2023-10-04 14:56:36.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/MACLib/APEInfo.cpp 2023-11-01 09:49:24.000000000 +0100 +diff -ur 0_MAC_1037_SDK_orig/Source/MACLib/APEInfo.cpp 1_MAC_1037_SDK_updated/Source/MACLib/APEInfo.cpp +--- 0_MAC_1037_SDK_orig/Source/MACLib/APEInfo.cpp 2023-10-04 06:56:38.000000000 +0200 ++++ 1_MAC_1037_SDK_updated/Source/MACLib/APEInfo.cpp 2023-12-22 03:51:40.000000000 +0100 @@ -46,6 +46,7 @@ { } @@ -49,9 +49,9 @@ diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/APEInfo.cpp 1_MAC_1026_SDK_updated/So CAPEInfo::CAPEInfo(int * pErrorCode, CIO * pIO, CAPETag * pTag) { -diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/APETag.cpp 1_MAC_1026_SDK_updated/Source/MACLib/APETag.cpp ---- 0_MAC_1026_SDK_orig/Source/MACLib/APETag.cpp 2023-06-02 02:14:16.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/MACLib/APETag.cpp 2023-11-01 09:49:24.000000000 +0100 +diff -ur 0_MAC_1037_SDK_orig/Source/MACLib/APETag.cpp 1_MAC_1037_SDK_updated/Source/MACLib/APETag.cpp +--- 0_MAC_1037_SDK_orig/Source/MACLib/APETag.cpp 2023-11-22 23:14:48.000000000 +0100 ++++ 1_MAC_1037_SDK_updated/Source/MACLib/APETag.cpp 2023-12-22 03:51:40.000000000 +0100 @@ -125,6 +125,7 @@ L"Crossover", L"Contemporary C", L"Christian Rock", L"Merengue", L"Salsa", L"Thrash Metal", L"Anime", L"JPop", L"SynthPop" }; @@ -68,9 +68,9 @@ diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/APETag.cpp 1_MAC_1026_SDK_updated/Sou CAPETag::CAPETag(CIO * pIO, bool bAnalyze, bool bCheckForID3v1) { -diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/MACLib.cpp 1_MAC_1026_SDK_updated/Source/MACLib/MACLib.cpp ---- 0_MAC_1026_SDK_orig/Source/MACLib/MACLib.cpp 2023-10-25 22:10:50.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/MACLib/MACLib.cpp 2023-11-01 09:49:24.000000000 +0100 +diff -ur 0_MAC_1037_SDK_orig/Source/MACLib/MACLib.cpp 1_MAC_1037_SDK_updated/Source/MACLib/MACLib.cpp +--- 0_MAC_1037_SDK_orig/Source/MACLib/MACLib.cpp 2023-12-15 13:08:28.000000000 +0100 ++++ 1_MAC_1037_SDK_updated/Source/MACLib/MACLib.cpp 2023-12-22 03:51:40.000000000 +0100 @@ -77,6 +77,7 @@ return spAPEDecompress.GetPtr(); } @@ -94,30 +94,30 @@ diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/MACLib.cpp 1_MAC_1026_SDK_updated/Sou +#ifndef EXCLUDE_CIO int __stdcall GetAPEFileType(const APE::str_utfn * pInputFilename, APE::str_ansi cFileType[8]) { - memset(&cFileType[0], 0, sizeof(APE::str_ansi) * 8); -@@ -887,3 +890,4 @@ + memset(&cFileType[0], 0, sizeof(cFileType[0]) * 8); +@@ -888,3 +891,4 @@ // return return nFunctionRetVal; } +#endif -diff -ur 0_MAC_1026_SDK_orig/Source/MACLib/MACLib.h 1_MAC_1026_SDK_updated/Source/MACLib/MACLib.h ---- 0_MAC_1026_SDK_orig/Source/MACLib/MACLib.h 2023-10-01 14:00:16.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/MACLib/MACLib.h 2023-11-01 09:49:24.000000000 +0100 +diff -ur 0_MAC_1037_SDK_orig/Source/MACLib/MACLib.h 1_MAC_1037_SDK_updated/Source/MACLib/MACLib.h +--- 0_MAC_1037_SDK_orig/Source/MACLib/MACLib.h 2023-12-15 13:04:10.000000000 +0100 ++++ 1_MAC_1037_SDK_updated/Source/MACLib/MACLib.h 2023-12-22 03:58:14.000000000 +0100 @@ -382,9 +382,11 @@ // on decompression) ////////////////////////////////////////////////////////////////////////////////////////////// +#ifndef EXCLUDE_CIO virtual int Start(const str_utfn * pOutputFilename, const WAVEFORMATEX * pwfeInput, - int64 nMaxAudioBytes = MAX_AUDIO_BYTES_UNKNOWN, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, + bool bFloat, int64 nMaxAudioBytes = MAX_AUDIO_BYTES_UNKNOWN, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, const void * pHeaderData = APE_NULL, int64 nHeaderBytes = CREATE_WAV_HEADER_ON_DECOMPRESSION, int nFlags = 0) = 0; +#endif virtual int StartEx(CIO * pioOutput, const WAVEFORMATEX * pwfeInput, - int64 nMaxAudioBytes = MAX_AUDIO_BYTES_UNKNOWN, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, -diff -ur 0_MAC_1026_SDK_orig/Source/Projects/VS2022/MACLib/MACLib.vcxproj 1_MAC_1026_SDK_updated/Source/Projects/VS2022/MACLib/MACLib.vcxproj ---- 0_MAC_1026_SDK_orig/Source/Projects/VS2022/MACLib/MACLib.vcxproj 2023-10-01 02:49:14.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/Projects/VS2022/MACLib/MACLib.vcxproj 2023-11-04 16:02:08.000000000 +0100 + bool bFloat, int64 nMaxAudioBytes = MAX_AUDIO_BYTES_UNKNOWN, int nCompressionLevel = APE_COMPRESSION_LEVEL_NORMAL, +diff -ur 0_MAC_1037_SDK_orig/Source/Projects/VS2022/MACLib/MACLib.vcxproj 1_MAC_1037_SDK_updated/Source/Projects/VS2022/MACLib/MACLib.vcxproj +--- 0_MAC_1037_SDK_orig/Source/Projects/VS2022/MACLib/MACLib.vcxproj 2023-12-16 15:38:46.000000000 +0100 ++++ 1_MAC_1037_SDK_updated/Source/Projects/VS2022/MACLib/MACLib.vcxproj 2023-12-22 03:51:40.000000000 +0100 @@ -1,5 +1,5 @@  - @@ -341,9 +341,9 @@ diff -ur 0_MAC_1026_SDK_orig/Source/Projects/VS2022/MACLib/MACLib.vcxproj 1_MAC_ -diff -ur 0_MAC_1026_SDK_orig/Source/Shared/All.h 1_MAC_1026_SDK_updated/Source/Shared/All.h ---- 0_MAC_1026_SDK_orig/Source/Shared/All.h 2023-09-30 23:19:26.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/Shared/All.h 2023-11-01 09:49:24.000000000 +0100 +diff -ur 0_MAC_1037_SDK_orig/Source/Shared/All.h 1_MAC_1037_SDK_updated/Source/Shared/All.h +--- 0_MAC_1037_SDK_orig/Source/Shared/All.h 2023-12-15 20:13:16.000000000 +0100 ++++ 1_MAC_1037_SDK_updated/Source/Shared/All.h 2023-12-22 03:51:40.000000000 +0100 @@ -61,7 +61,21 @@ #ifdef _MSC_VER #pragma warning(push) // push and pop warnings because the windows includes suppresses some like 4514 @@ -379,9 +379,9 @@ diff -ur 0_MAC_1026_SDK_orig/Source/Shared/All.h 1_MAC_1026_SDK_updated/Source/S #define APE_ODS OutputDebugString #define TICK_COUNT_TYPE unsigned long long #if _WIN32_WINNT >= 0x600 -diff -ur 0_MAC_1026_SDK_orig/Source/Shared/GlobalFunctions.cpp 1_MAC_1026_SDK_updated/Source/Shared/GlobalFunctions.cpp ---- 0_MAC_1026_SDK_orig/Source/Shared/GlobalFunctions.cpp 2023-05-23 14:52:16.000000000 +0200 -+++ 1_MAC_1026_SDK_updated/Source/Shared/GlobalFunctions.cpp 2023-11-01 09:49:24.000000000 +0100 +diff -ur 0_MAC_1037_SDK_orig/Source/Shared/GlobalFunctions.cpp 1_MAC_1037_SDK_updated/Source/Shared/GlobalFunctions.cpp +--- 0_MAC_1037_SDK_orig/Source/Shared/GlobalFunctions.cpp 2023-05-23 06:52:18.000000000 +0200 ++++ 1_MAC_1037_SDK_updated/Source/Shared/GlobalFunctions.cpp 2023-12-22 03:51:40.000000000 +0100 @@ -44,6 +44,7 @@ return nResult; }