You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(10) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
(2) |
May
(10) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2008 |
Jan
(6) |
Feb
(4) |
Mar
(5) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(4) |
Aug
(6) |
Sep
(2) |
Oct
(9) |
Nov
(1) |
Dec
(4) |
2009 |
Jan
(9) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(6) |
Jun
(18) |
Jul
(33) |
Aug
(39) |
Sep
(33) |
Oct
(24) |
Nov
(23) |
Dec
(22) |
2010 |
Jan
(29) |
Feb
(32) |
Mar
(51) |
Apr
(17) |
May
(31) |
Jun
(21) |
Jul
(32) |
Aug
(28) |
Sep
(35) |
Oct
(27) |
Nov
(11) |
Dec
(13) |
2011 |
Jan
(14) |
Feb
(13) |
Mar
(27) |
Apr
(27) |
May
(28) |
Jun
(20) |
Jul
(43) |
Aug
(52) |
Sep
(66) |
Oct
(61) |
Nov
(11) |
Dec
(8) |
2012 |
Jan
(20) |
Feb
(30) |
Mar
(38) |
Apr
(21) |
May
(33) |
Jun
(21) |
Jul
(25) |
Aug
(9) |
Sep
(24) |
Oct
(42) |
Nov
(27) |
Dec
(41) |
2013 |
Jan
(20) |
Feb
(35) |
Mar
(156) |
Apr
(298) |
May
(258) |
Jun
(201) |
Jul
(105) |
Aug
(60) |
Sep
(193) |
Oct
(245) |
Nov
(280) |
Dec
(194) |
2014 |
Jan
(63) |
Feb
(202) |
Mar
(200) |
Apr
(23) |
May
(53) |
Jun
(105) |
Jul
(18) |
Aug
(26) |
Sep
(110) |
Oct
(187) |
Nov
(97) |
Dec
(74) |
2015 |
Jan
(45) |
Feb
(55) |
Mar
(116) |
Apr
(116) |
May
(193) |
Jun
(164) |
Jul
(50) |
Aug
(111) |
Sep
(98) |
Oct
(71) |
Nov
(103) |
Dec
(63) |
2016 |
Jan
(33) |
Feb
(101) |
Mar
(182) |
Apr
(139) |
May
(140) |
Jun
(103) |
Jul
(165) |
Aug
(286) |
Sep
(208) |
Oct
(127) |
Nov
(97) |
Dec
(54) |
2017 |
Jan
(64) |
Feb
(335) |
Mar
(202) |
Apr
(212) |
May
(139) |
Jun
(127) |
Jul
(294) |
Aug
(154) |
Sep
(170) |
Oct
(152) |
Nov
(156) |
Dec
(62) |
2018 |
Jan
(168) |
Feb
(237) |
Mar
(196) |
Apr
(174) |
May
(174) |
Jun
(161) |
Jul
(127) |
Aug
(88) |
Sep
(149) |
Oct
(66) |
Nov
(52) |
Dec
(135) |
2019 |
Jan
(146) |
Feb
(126) |
Mar
(104) |
Apr
(58) |
May
(60) |
Jun
(28) |
Jul
(197) |
Aug
(129) |
Sep
(141) |
Oct
(148) |
Nov
(63) |
Dec
(100) |
2020 |
Jan
(74) |
Feb
(37) |
Mar
(59) |
Apr
(154) |
May
(194) |
Jun
(133) |
Jul
(313) |
Aug
(197) |
Sep
(49) |
Oct
(162) |
Nov
(143) |
Dec
(57) |
2021 |
Jan
(120) |
Feb
(107) |
Mar
(314) |
Apr
(157) |
May
(524) |
Jun
(169) |
Jul
(72) |
Aug
(133) |
Sep
(135) |
Oct
(146) |
Nov
(198) |
Dec
(325) |
2022 |
Jan
(409) |
Feb
(249) |
Mar
(138) |
Apr
(95) |
May
(102) |
Jun
(221) |
Jul
(66) |
Aug
(120) |
Sep
(192) |
Oct
(131) |
Nov
(53) |
Dec
(171) |
2023 |
Jan
(357) |
Feb
(82) |
Mar
(168) |
Apr
(218) |
May
(196) |
Jun
(86) |
Jul
(115) |
Aug
(49) |
Sep
(190) |
Oct
(102) |
Nov
(45) |
Dec
(76) |
2024 |
Jan
(86) |
Feb
(50) |
Mar
(324) |
Apr
(209) |
May
(197) |
Jun
(232) |
Jul
(194) |
Aug
(247) |
Sep
(219) |
Oct
(266) |
Nov
(328) |
Dec
(304) |
2025 |
Jan
(191) |
Feb
(115) |
Mar
(137) |
Apr
(32) |
May
(126) |
Jun
(345) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2025-06-20 20:53:49
|
Author: manx Date: Fri Jun 20 22:53:40 2025 New Revision: 23593 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23593 Log: Merged revision(s) 23345, 23434 from trunk/OpenMPT: [Imp] FLAC: Apply <https://github.com/xiph/flac/pull/822> in order to get some testing exposure for C11 threads in VS2022 builds. ........ [Var] FLAC: Silence false-positive MSVC static analyzer warning. ........ Added: branches/OpenMPT-1.32/include/flac/include/share/compat_threads.h - copied unchanged from r23345, trunk/OpenMPT/include/flac/include/share/compat_threads.h Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/build/premake/ext-flac.lua branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2022win10/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10clang/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2022win10clang/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10uwp/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2022win10uwp/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win7/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2022win7/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win8/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2022win8/ext/flac.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win81/ext/flac.vcxproj branches/OpenMPT-1.32/build/vs2022win81/ext/flac.vcxproj.filters branches/OpenMPT-1.32/include/flac/OpenMPT.txt branches/OpenMPT-1.32/include/flac/src/libFLAC/stream_encoder.c Modified: branches/OpenMPT-1.32/build/premake/ext-flac.lua ============================================================================== --- branches/OpenMPT-1.32/build/premake/ext-flac.lua Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/premake/ext-flac.lua Fri Jun 20 22:53:40 2025 (r23593) @@ -97,6 +97,7 @@ files { "../../include/flac/include/share/alloc.h", "../../include/flac/include/share/compat.h", + "../../include/flac/include/share/compat_threads.h", "../../include/flac/include/share/endswap.h", "../../include/flac/include/share/macros.h", "../../include/flac/include/share/private.h", @@ -111,7 +112,7 @@ buildoptions { "/wd4101", "/wd4244", "/wd4267", "/wd4334" } filter {} filter { "action:vs*" } - buildoptions { "/wd6001", "/wd6011", "/wd6031", "/wd6297", "/wd6386", "/wd28182" } -- /analyze + buildoptions { "/wd6001", "/wd6011", "/wd6031", "/wd6297", "/wd6386", "/wd26110", "/wd28182" } -- /analyze filter {} defines { "FLAC__HAS_OGG=1" } links { "ogg" } @@ -132,6 +133,12 @@ "FLAC__USE_AVX", } filter {} + filter { "not configurations:DebugShared" } + -- Debug DLL runtime is missing a DLL when using C11 threads + if _ACTION >= "vs2022" then + defines { "HAVE_C11THREADS" } + end + filter {} function mpt_use_flac () filter {} Modified: branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj Fri Jun 20 22:53:40 2025 (r23593) @@ -302,7 +302,7 @@ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -321,7 +321,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -344,7 +344,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -367,7 +367,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -392,7 +392,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -416,7 +416,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -437,7 +437,7 @@ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -457,7 +457,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -481,7 +481,7 @@ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -506,7 +506,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -533,7 +533,7 @@ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -559,7 +559,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -582,6 +582,7 @@ <ClInclude Include="..\..\..\include\flac\include\FLAC\stream_encoder.h" /> <ClInclude Include="..\..\..\include\flac\include\share\alloc.h" /> <ClInclude Include="..\..\..\include\flac\include\share\compat.h" /> + <ClInclude Include="..\..\..\include\flac\include\share\compat_threads.h" /> <ClInclude Include="..\..\..\include\flac\include\share\endswap.h" /> <ClInclude Include="..\..\..\include\flac\include\share\macros.h" /> <ClInclude Include="..\..\..\include\flac\include\share\private.h" /> Modified: branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj.filters Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/vs2017winxp/ext/flac.vcxproj.filters Fri Jun 20 22:53:40 2025 (r23593) @@ -66,6 +66,9 @@ <ClInclude Include="..\..\..\include\flac\include\share\compat.h"> <Filter>include\share</Filter> </ClInclude> + <ClInclude Include="..\..\..\include\flac\include\share\compat_threads.h"> + <Filter>include\share</Filter> + </ClInclude> <ClInclude Include="..\..\..\include\flac\include\share\endswap.h"> <Filter>include\share</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj Fri Jun 20 22:53:40 2025 (r23593) @@ -302,7 +302,7 @@ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -321,7 +321,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -344,7 +344,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -367,7 +367,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -392,7 +392,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -416,7 +416,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -437,7 +437,7 @@ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -457,7 +457,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -481,7 +481,7 @@ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -506,7 +506,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -533,7 +533,7 @@ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -559,7 +559,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Zc:threadSafeInit- /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -582,6 +582,7 @@ <ClInclude Include="..\..\..\include\flac\include\FLAC\stream_encoder.h" /> <ClInclude Include="..\..\..\include\flac\include\share\alloc.h" /> <ClInclude Include="..\..\..\include\flac\include\share\compat.h" /> + <ClInclude Include="..\..\..\include\flac\include\share\compat_threads.h" /> <ClInclude Include="..\..\..\include\flac\include\share\endswap.h" /> <ClInclude Include="..\..\..\include\flac\include\share\macros.h" /> <ClInclude Include="..\..\..\include\flac\include\share\private.h" /> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj.filters Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/ext/flac.vcxproj.filters Fri Jun 20 22:53:40 2025 (r23593) @@ -66,6 +66,9 @@ <ClInclude Include="..\..\..\include\flac\include\share\compat.h"> <Filter>include\share</Filter> </ClInclude> + <ClInclude Include="..\..\..\include\flac\include\share\compat_threads.h"> + <Filter>include\share</Filter> + </ClInclude> <ClInclude Include="..\..\..\include\flac\include\share\endswap.h"> <Filter>include\share</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj Fri Jun 20 22:53:40 2025 (r23593) @@ -276,7 +276,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -298,7 +298,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -324,7 +324,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -350,7 +350,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -378,7 +378,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -405,7 +405,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -428,7 +428,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -451,7 +451,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -478,7 +478,7 @@ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -506,7 +506,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -536,7 +536,7 @@ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -565,7 +565,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <UseStandardPreprocessor>true</UseStandardPreprocessor> @@ -591,6 +591,7 @@ <ClInclude Include="..\..\..\include\flac\include\FLAC\stream_encoder.h" /> <ClInclude Include="..\..\..\include\flac\include\share\alloc.h" /> <ClInclude Include="..\..\..\include\flac\include\share\compat.h" /> + <ClInclude Include="..\..\..\include\flac\include\share\compat_threads.h" /> <ClInclude Include="..\..\..\include\flac\include\share\endswap.h" /> <ClInclude Include="..\..\..\include\flac\include\share\macros.h" /> <ClInclude Include="..\..\..\include\flac\include\share\private.h" /> Modified: branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj.filters Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/vs2019win7/ext/flac.vcxproj.filters Fri Jun 20 22:53:40 2025 (r23593) @@ -66,6 +66,9 @@ <ClInclude Include="..\..\..\include\flac\include\share\compat.h"> <Filter>include\share</Filter> </ClInclude> + <ClInclude Include="..\..\..\include\flac\include\share\compat_threads.h"> + <Filter>include\share</Filter> + </ClInclude> <ClInclude Include="..\..\..\include\flac\include\share\endswap.h"> <Filter>include\share</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10/ext/flac.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/ext/flac.vcxproj Fri Jun 20 22:33:16 2025 (r23592) +++ branches/OpenMPT-1.32/build/vs2022win10/ext/flac.vcxproj Fri Jun 20 22:53:40 2025 (r23593) @@ -680,14 +680,14 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> <Optimization>Disabled</Optimization> <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -703,14 +703,14 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> <Optimization>Disabled</Optimization> <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -726,14 +726,14 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Disabled</Optimization> <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -748,14 +748,14 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Disabled</Optimization> <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -770,14 +770,14 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000E;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_DEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000E;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Disabled</Optimization> <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -792,7 +792,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>MaxSpeed</Optimization> @@ -803,7 +803,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -820,7 +820,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>MaxSpeed</Optimization> @@ -830,7 +830,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -847,7 +847,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>MaxSpeed</Optimization> @@ -857,7 +857,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -874,7 +874,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>MaxSpeed</Optimization> @@ -884,7 +884,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -901,7 +901,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000E;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000E;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>MaxSpeed</Optimization> @@ -911,7 +911,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -928,7 +928,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Full</Optimization> @@ -940,7 +940,7 @@ <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -957,7 +957,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;FLAC__HAS_X86INTRIN;FLAC__USE_AVX;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Full</Optimization> @@ -968,7 +968,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -985,7 +985,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Full</Optimization> @@ -996,7 +996,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1013,7 +1013,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000C;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Full</Optimization> @@ -1024,7 +1024,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1041,7 +1041,7 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000E;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>DEBUG;MPT_BUILD_CHECKED;MPT_BUILD_MSVC;WIN32;NOMINMAX;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1;_WIN32_WINNT=0x0A00;NTDDI_VERSION=0x0A00000E;FLAC__HAS_OGG=1;PACKAGE_VERSION="1.5.0";FLAC__NO_DLL;HAVE_C11THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <AdditionalIncludeDirectories>..\..\..\include\ogg\include;..\..\..\include\flac\include;..\..\..\include\flac\src\libFLAC\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <Optimization>Full</Optimization> @@ -1052,7 +1052,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/Gw /Zc:checkGwOdr /wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd26110 /wd28182 %(AdditionalOptions)</AdditionalOptions> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1076,7 +1076,7 @@ <MinimalRebuild>false</MinimalRebuild> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <AdditionalOptions>/wd4101 /wd4244 /wd4267 /wd4334 /wd6001 /wd6011 /wd6031 /wd6297 /wd6386 /wd28182 %(AdditionalOptions)</AdditionalOptions> + <AdditionalOptions>/wd4101 /wd4244 /wd426... [truncated message content] |
From: <sv...@op...> - 2025-06-20 20:33:22
|
Author: manx Date: Fri Jun 20 22:33:16 2025 New Revision: 23592 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23592 Log: Merged revision(s) 23590 from trunk/OpenMPT: [Mod] build: CI: Cirrus-CI: FreeBSD: Update to 14.3. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/.cirrus.yml Modified: branches/OpenMPT-1.31/.cirrus.yml ============================================================================== --- branches/OpenMPT-1.31/.cirrus.yml Fri Jun 20 22:32:51 2025 (r23591) +++ branches/OpenMPT-1.31/.cirrus.yml Fri Jun 20 22:33:16 2025 (r23592) @@ -1,7 +1,7 @@ task: - name: freebsd-14-2 + name: freebsd-14-3 freebsd_instance: - image_family: freebsd-14-2 + image_family: freebsd-14-3 install_script: pkg install -y subversion p5-XML-XPath git mawk gmake pkgconf autoconf autoconf-archive automake libtool doxygen help2man mpg123 libogg libvorbis flac libsndfile pulseaudio portaudio sdl2 build_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 test_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 check |
From: <sv...@op...> - 2025-06-20 20:33:03
|
Author: manx Date: Fri Jun 20 22:32:51 2025 New Revision: 23591 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23591 Log: Merged revision(s) 23590 from trunk/OpenMPT: [Mod] build: CI: Cirrus-CI: FreeBSD: Update to 14.3. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/.cirrus.yml Modified: branches/OpenMPT-1.32/.cirrus.yml ============================================================================== --- branches/OpenMPT-1.32/.cirrus.yml Fri Jun 20 22:32:25 2025 (r23590) +++ branches/OpenMPT-1.32/.cirrus.yml Fri Jun 20 22:32:51 2025 (r23591) @@ -1,7 +1,7 @@ task: - name: freebsd-14-2 + name: freebsd-14-3 freebsd_instance: - image_family: freebsd-14-2 + image_family: freebsd-14-3 install_script: pkg install -y subversion p5-XML-XPath git mawk gmake pkgconf autoconf autoconf-archive automake libtool doxygen help2man mpg123 libogg libvorbis flac libsndfile pulseaudio portaudio sdl2 build_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 test_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 check |
From: <sv...@op...> - 2025-06-20 20:32:32
|
Author: manx Date: Fri Jun 20 22:32:25 2025 New Revision: 23590 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23590 Log: [Mod] build: CI: Cirrus-CI: FreeBSD: Update to 14.3. Modified: trunk/OpenMPT/.cirrus.yml Modified: trunk/OpenMPT/.cirrus.yml ============================================================================== --- trunk/OpenMPT/.cirrus.yml Fri Jun 20 22:01:48 2025 (r23589) +++ trunk/OpenMPT/.cirrus.yml Fri Jun 20 22:32:25 2025 (r23590) @@ -1,7 +1,7 @@ task: - name: freebsd-14-2 + name: freebsd-14-3 freebsd_instance: - image_family: freebsd-14-2 + image_family: freebsd-14-3 install_script: pkg install -y subversion p5-XML-XPath git mawk gmake pkgconf autoconf autoconf-archive automake libtool doxygen help2man mpg123 libogg libvorbis flac libsndfile pulseaudio portaudio sdl2 build_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 test_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 check |
From: <sv...@op...> - 2025-06-20 20:02:00
|
Author: manx Date: Fri Jun 20 22:01:48 2025 New Revision: 23589 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23589 Log: Merged revision(s) 23587 from branches/OpenMPT-1.30: [Mod] build: CI: Cirrus-CI: FreeBSD: Update to 13.5. ........ Modified: branches/OpenMPT-1.28/ (props changed) branches/OpenMPT-1.28/.cirrus.yml Modified: branches/OpenMPT-1.28/.cirrus.yml ============================================================================== --- branches/OpenMPT-1.28/.cirrus.yml Fri Jun 20 22:01:28 2025 (r23588) +++ branches/OpenMPT-1.28/.cirrus.yml Fri Jun 20 22:01:48 2025 (r23589) @@ -1,7 +1,7 @@ task: - name: freebsd-13-4 + name: freebsd-13-5 freebsd_instance: - image_family: freebsd-13-4 + image_family: freebsd-13-5 install_script: pkg install -y subversion p5-XML-XPath git mawk gmake pkgconf autoconf autoconf-archive automake libtool doxygen help2man mpg123 libogg libvorbis flac libsndfile pulseaudio portaudio sdl2 build_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 test_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 check |
From: <sv...@op...> - 2025-06-20 20:01:46
|
Author: manx Date: Fri Jun 20 22:01:28 2025 New Revision: 23588 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23588 Log: Merged revision(s) 23587 from branches/OpenMPT-1.30: [Mod] build: CI: Cirrus-CI: FreeBSD: Update to 13.5. ........ Modified: branches/OpenMPT-1.29/ (props changed) branches/OpenMPT-1.29/.cirrus.yml Modified: branches/OpenMPT-1.29/.cirrus.yml ============================================================================== --- branches/OpenMPT-1.29/.cirrus.yml Fri Jun 20 22:00:58 2025 (r23587) +++ branches/OpenMPT-1.29/.cirrus.yml Fri Jun 20 22:01:28 2025 (r23588) @@ -1,7 +1,7 @@ task: - name: freebsd-13-4 + name: freebsd-13-5 freebsd_instance: - image_family: freebsd-13-4 + image_family: freebsd-13-5 install_script: pkg install -y subversion p5-XML-XPath git mawk gmake pkgconf autoconf autoconf-archive automake libtool doxygen help2man mpg123 libogg libvorbis flac libsndfile pulseaudio portaudio sdl2 build_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 test_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 check |
From: <sv...@op...> - 2025-06-20 20:01:07
|
Author: manx Date: Fri Jun 20 22:00:58 2025 New Revision: 23587 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23587 Log: [Mod] build: CI: Cirrus-CI: FreeBSD: Update to 13.5. Modified: branches/OpenMPT-1.30/.cirrus.yml Modified: branches/OpenMPT-1.30/.cirrus.yml ============================================================================== --- branches/OpenMPT-1.30/.cirrus.yml Fri Jun 20 21:30:24 2025 (r23586) +++ branches/OpenMPT-1.30/.cirrus.yml Fri Jun 20 22:00:58 2025 (r23587) @@ -1,7 +1,7 @@ task: - name: freebsd-13-4 + name: freebsd-13-5 freebsd_instance: - image_family: freebsd-13-4 + image_family: freebsd-13-5 install_script: pkg install -y subversion p5-XML-XPath git mawk gmake pkgconf autoconf autoconf-archive automake libtool doxygen help2man mpg123 libogg libvorbis flac libsndfile pulseaudio portaudio sdl2 build_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 test_script: gmake -j$(sysctl -n hw.ncpu) STRICT=1 VERBOSE=1 AUTO_DEPS=1 check |
From: <sv...@op...> - 2025-06-20 19:30:36
|
Author: manx Date: Fri Jun 20 21:30:24 2025 New Revision: 23586 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23586 Log: [Ref] mpt/random/device.hpp: Use mpt::chrono::default_system_clock. Modified: trunk/OpenMPT/src/mpt/random/device.hpp Modified: trunk/OpenMPT/src/mpt/random/device.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/random/device.hpp Fri Jun 20 21:26:37 2025 (r23585) +++ trunk/OpenMPT/src/mpt/random/device.hpp Fri Jun 20 21:30:24 2025 (r23586) @@ -11,6 +11,7 @@ #include "mpt/base/math.hpp" #include "mpt/base/integer.hpp" #include "mpt/base/namespace.hpp" +#include "mpt/chrono/system_clock.hpp" #include "mpt/crc/crc.hpp" #include "mpt/endian/integer.hpp" #include "mpt/mutex/mutex.hpp" @@ -30,9 +31,6 @@ #include <cmath> #include <cstring> -#if defined(MPT_LIBCXX_QUIRK_NO_CHRONO) -#include <ctime> -#endif // MPT_LIBCXX_QUIRK_NO_CHRONO @@ -81,15 +79,14 @@ // really need here is whitening of the bits. typename mpt::default_random_seed_hash<T>::type hash; -#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) { uint64be time; - time = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::system_clock().now().time_since_epoch()).count(); + time = mpt::chrono::default_system_clock::to_unix_nanoseconds(mpt::chrono::default_system_clock::now()); std::byte bytes[sizeof(time)]; std::memcpy(bytes, &time, sizeof(time)); hash(std::begin(bytes), std::end(bytes)); } -#if !defined(MPT_COMPILER_QUIRK_CHRONO_NO_HIGH_RESOLUTION_CLOCK) +#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_COMPILER_QUIRK_CHRONO_NO_HIGH_RESOLUTION_CLOCK) // Avoid std::chrono::high_resolution_clock on Emscripten because availability is problematic in AudioWorklet context. { uint64be time; @@ -99,15 +96,6 @@ hash(std::begin(bytes), std::end(bytes)); } #endif // !MPT_COMPILER_QUIRK_CHRONO_NO_HIGH_RESOLUTION_CLOCK -#else // MPT_LIBCXX_QUIRK_NO_CHRONO - { - uint64be time; - time = static_cast<uint64>(std::time(nullptr)); - std::byte bytes[sizeof(time)]; - std::memcpy(bytes, &time, sizeof(time)); - hash(std::begin(bytes), std::end(bytes)); - } -#endif // !MPT_LIBCXX_QUIRK_NO_CHRONO return static_cast<T>(hash.result()); } |
Author: manx Date: Fri Jun 20 21:26:37 2025 New Revision: 23585 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23585 Log: [Ref] mpt/chrono: Relicense and move unix_clock and system_clock from mptTime here. Added: trunk/OpenMPT/src/mpt/chrono/ trunk/OpenMPT/src/mpt/chrono/system_clock.hpp (contents, props changed) - copied, changed from r23580, trunk/OpenMPT/common/mptTime.h trunk/OpenMPT/src/mpt/chrono/unix_clock.hpp (contents, props changed) - copied, changed from r23580, trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/Makefile trunk/OpenMPT/build/autotools/Makefile.am trunk/OpenMPT/build/premake/mpt-openmpt123.lua trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/openmpt123.vcxproj trunk/OpenMPT/build/vs2017winxpansi/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2019win7/PluginBridge.vcxproj trunk/OpenMPT/build/vs2019win7/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2019win7/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2019win7/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2019win7/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2019win7/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2019win7/libopenmpt.vcxproj trunk/OpenMPT/build/vs2019win7/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2019win7/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2019win7/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2019win7/openmpt123.vcxproj trunk/OpenMPT/build/vs2019win7/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win10/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win10/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win10/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win10/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win10/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win10/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win10/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win10/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win10/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win10/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win10/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win10/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win10uwp/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win10uwp/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win10uwp/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win10uwp/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win10uwp/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win10uwp/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win10uwp/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win10uwp/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win11/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win11/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win11/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win11/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win11/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win11/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win11/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win11/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win11/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win11/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win11/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win11/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win11/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win11/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win11/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win11/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win11/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win11/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win11/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win11/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win11/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win11/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win11clang/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win11clang/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win11clang/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win11clang/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win11clang/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win11clang/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win11clang/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win11clang/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win11clang/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win11clang/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win11clang/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win11clang/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win11uwp/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win11uwp/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win11uwp/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win11uwp/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win11uwp/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win11uwp/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win11uwp/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win11uwp/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win7/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win7/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win7/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win7/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win7/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win7/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win7/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win7/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win7/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win7/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win7/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win7/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win7/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win7/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win8/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win8/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win8/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win8/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win8/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win8/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win8/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win8/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win8/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win8/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win8/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win8/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win8/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win8/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win8/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win8/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win81/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win81/PluginBridge.vcxproj.filters trunk/OpenMPT/build/vs2022win81/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win81/PluginBridgeLegacy.vcxproj.filters trunk/OpenMPT/build/vs2022win81/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win81/libopenmpt-small.vcxproj.filters trunk/OpenMPT/build/vs2022win81/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win81/libopenmpt.vcxproj.filters trunk/OpenMPT/build/vs2022win81/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win81/libopenmpt_test.vcxproj.filters trunk/OpenMPT/build/vs2022win81/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win81/openmpt123.vcxproj.filters trunk/OpenMPT/build/vs2022win81/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win81/updatesigntool.vcxproj.filters trunk/OpenMPT/build/xcode-ios/libopenmpt.xcodeproj/project.pbxproj trunk/OpenMPT/build/xcode-macosx/libopenmpt.xcodeproj/project.pbxproj trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/Makefile ============================================================================== --- trunk/OpenMPT/Makefile Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/Makefile Fri Jun 20 21:26:37 2025 (r23585) @@ -2106,6 +2106,7 @@ svn export ./src/mpt/base bin/$(FLAVOUR_DIR)dist-tar/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/base svn export ./src/mpt/binary bin/$(FLAVOUR_DIR)dist-tar/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/binary svn export ./src/mpt/check bin/$(FLAVOUR_DIR)dist-tar/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/check + svn export ./src/mpt/chrono bin/$(FLAVOUR_DIR)dist-tar/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/chrono svn export ./src/mpt/crc bin/$(FLAVOUR_DIR)dist-tar/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/crc #svn export ./src/mpt/crypto bin/$(FLAVOUR_DIR)dist-tar/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/crypto svn export ./src/mpt/detect bin/$(FLAVOUR_DIR)dist-tar/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/detect @@ -2209,6 +2210,7 @@ svn export ./src/mpt/base bin/$(FLAVOUR_DIR)dist-zip/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/base --native-eol CRLF svn export ./src/mpt/binary bin/$(FLAVOUR_DIR)dist-zip/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/binary --native-eol CRLF svn export ./src/mpt/check bin/$(FLAVOUR_DIR)dist-zip/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/check --native-eol CRLF + svn export ./src/mpt/chrono bin/$(FLAVOUR_DIR)dist-zip/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/chrono --native-eol CRLF svn export ./src/mpt/crc bin/$(FLAVOUR_DIR)dist-zip/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/crc --native-eol CRLF #svn export ./src/mpt/crypto bin/$(FLAVOUR_DIR)dist-zip/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/crypto --native-eol CRLF svn export ./src/mpt/detect bin/$(FLAVOUR_DIR)dist-zip/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/src/mpt/detect --native-eol CRLF Modified: trunk/OpenMPT/build/autotools/Makefile.am ============================================================================== --- trunk/OpenMPT/build/autotools/Makefile.am Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/autotools/Makefile.am Fri Jun 20 21:26:37 2025 (r23585) @@ -172,6 +172,8 @@ MPT_FILES_SRC_MPT += src/mpt/check/libcxx.hpp MPT_FILES_SRC_MPT += src/mpt/check/mfc.hpp MPT_FILES_SRC_MPT += src/mpt/check/windows.hpp +MPT_FILES_SRC_MPT += src/mpt/chrono/system_clock.hpp +MPT_FILES_SRC_MPT += src/mpt/chrono/unix_clock.hpp MPT_FILES_SRC_MPT += src/mpt/crc/crc.hpp #MPT_FILES_SRC_MPT += src/mpt/crypto/exception.hpp #MPT_FILES_SRC_MPT += src/mpt/crypto/hash.hpp Modified: trunk/OpenMPT/build/premake/mpt-openmpt123.lua ============================================================================== --- trunk/OpenMPT/build/premake/mpt-openmpt123.lua Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/premake/mpt-openmpt123.lua Fri Jun 20 21:26:37 2025 (r23585) @@ -27,6 +27,7 @@ } files { "../../src/mpt/base/*.hpp", + "../../src/mpt/chrono/*.hpp", "../../src/mpt/detect/*.hpp", "../../src/mpt/exception/*.hpp", "../../src/mpt/format/*.hpp", Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -1098,6 +1098,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -118,6 +118,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -1293,6 +1296,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -788,6 +788,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -79,6 +79,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -663,6 +666,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -1098,6 +1098,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -118,6 +118,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -1293,6 +1296,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -1098,6 +1098,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -118,6 +118,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -1293,6 +1296,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -790,6 +790,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridge.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -37,6 +37,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -369,6 +372,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -796,6 +796,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/PluginBridgeLegacy.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -37,6 +37,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -369,6 +372,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -828,6 +828,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\detect\dl.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt-small.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -46,6 +46,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -711,6 +714,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -828,6 +828,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\detect\dl.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -46,6 +46,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -711,6 +714,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -906,6 +906,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\detect\dl.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/libopenmpt_test.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -49,6 +49,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -726,6 +729,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -790,6 +790,8 @@ <ClInclude Include="..\..\src\mpt\base\utility.hpp" /> <ClInclude Include="..\..\src\mpt\base\version.hpp" /> <ClInclude Include="..\..\src\mpt\base\wrapping_divide.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\detect\dl.hpp" /> <ClInclude Include="..\..\src\mpt\detect\ltdl.hpp" /> <ClInclude Include="..\..\src\mpt\detect\mfc.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/openmpt123.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -16,6 +16,9 @@ <Filter Include="src\mpt\base"> <UniqueIdentifier>{D7D6CF03-C339-5FA8-6CBF-975E58012B2B}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\detect"> <UniqueIdentifier>{7535143C-6103-0842-4A97-78683604E4A6}</UniqueIdentifier> </Filter> @@ -210,6 +213,12 @@ <ClInclude Include="..\..\src\mpt\base\wrapping_divide.hpp"> <Filter>src\mpt\base</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\detect\dl.hpp"> <Filter>src\mpt\detect</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -771,6 +771,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -79,6 +79,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -642,6 +645,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -1098,6 +1098,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -118,6 +118,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -1293,6 +1296,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -788,6 +788,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -79,6 +79,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -663,6 +666,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -1098,6 +1098,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -118,6 +118,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -1293,6 +1296,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -1098,6 +1098,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -118,6 +118,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -1293,6 +1296,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -790,6 +790,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridge.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -37,6 +37,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -369,6 +372,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -796,6 +796,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\crypto\config.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/PluginBridgeLegacy.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -37,6 +37,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -369,6 +372,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -828,6 +828,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\detect\dl.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt-small.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -46,6 +46,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -711,6 +714,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -828,6 +828,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\detect\dl.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -46,6 +46,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -711,6 +714,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -906,6 +906,8 @@ <ClInclude Include="..\..\src\mpt\check\libcxx.hpp" /> <ClInclude Include="..\..\src\mpt\check\mfc.hpp" /> <ClInclude Include="..\..\src\mpt\check\windows.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp" /> <ClInclude Include="..\..\src\mpt\crc\crc.hpp" /> <ClInclude Include="..\..\src\mpt\crc\tests\tests_crc.hpp" /> <ClInclude Include="..\..\src\mpt\detect\dl.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/libopenmpt_test.vcxproj.filters Fri Jun 20 21:26:37 2025 (r23585) @@ -49,6 +49,9 @@ <Filter Include="src\mpt\check"> <UniqueIdentifier>{7A65E07D-E625-5CB4-AF60-A5311BE0A090}</UniqueIdentifier> </Filter> + <Filter Include="src\mpt\chrono"> + <UniqueIdentifier>{8569F439-7137-E83F-5ACB-58664638C4A4}</UniqueIdentifier> + </Filter> <Filter Include="src\mpt\crc"> <UniqueIdentifier>{94D615E1-008C-8ED6-8980-88ADF53485DA}</UniqueIdentifier> </Filter> @@ -726,6 +729,12 @@ <ClInclude Include="..\..\src\mpt\check\windows.hpp"> <Filter>src\mpt\check</Filter> </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp"> + <Filter>src\mpt\chrono</Filter> + </ClInclude> <ClInclude Include="..\..\src\mpt\crc\crc.hpp"> <Filter>src\mpt\crc</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/openmpt123.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/openmpt123.vcxproj Fri Jun 20 21:24:27 2025 (r23584) +++ trunk/OpenMPT/build/vs2017winxpansi/openmpt123.vcxproj Fri Jun 20 21:26:37 2025 (r23585) @@ -790,6 +790,8 @@ <ClInclude Include="..\..\src\mpt\base\utility.hpp" /> <ClInclude Include="..\..\src\mpt\base\version.hpp" /> <ClInclude Include="..\..\src\mpt\base\wrapping_divide.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\system_clock.hpp" /> + <ClInclude Include="..\..\src\mpt\chrono\unix_clock.hpp... [truncated message content] |
From: <sv...@op...> - 2025-06-20 19:24:40
|
Author: manx Date: Fri Jun 20 21:24:27 2025 New Revision: 23584 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23584 Log: Merged revision(s) 23581 from trunk/OpenMPT: [Ref] mpt/crc/crc.hpp: Fix include order. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/src/mpt/crc/crc.hpp Modified: branches/OpenMPT-1.30/src/mpt/crc/crc.hpp ============================================================================== --- branches/OpenMPT-1.30/src/mpt/crc/crc.hpp Fri Jun 20 21:24:08 2025 (r23583) +++ branches/OpenMPT-1.30/src/mpt/crc/crc.hpp Fri Jun 20 21:24:27 2025 (r23584) @@ -7,10 +7,9 @@ #include "mpt/base/array.hpp" #include "mpt/base/detect.hpp" -#include "mpt/base/namespace.hpp" - #include "mpt/base/integer.hpp" #include "mpt/base/memory.hpp" +#include "mpt/base/namespace.hpp" #include <array> |
From: <sv...@op...> - 2025-06-20 19:24:20
|
Author: manx Date: Fri Jun 20 21:24:08 2025 New Revision: 23583 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23583 Log: Merged revision(s) 23581 from trunk/OpenMPT: [Ref] mpt/crc/crc.hpp: Fix include order. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/src/mpt/crc/crc.hpp Modified: branches/OpenMPT-1.31/src/mpt/crc/crc.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/crc/crc.hpp Fri Jun 20 21:23:50 2025 (r23582) +++ branches/OpenMPT-1.31/src/mpt/crc/crc.hpp Fri Jun 20 21:24:08 2025 (r23583) @@ -7,10 +7,9 @@ #include "mpt/base/array.hpp" #include "mpt/base/detect.hpp" -#include "mpt/base/namespace.hpp" - #include "mpt/base/integer.hpp" #include "mpt/base/memory.hpp" +#include "mpt/base/namespace.hpp" #include <array> |
From: <sv...@op...> - 2025-06-20 19:24:02
|
Author: manx Date: Fri Jun 20 21:23:50 2025 New Revision: 23582 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23582 Log: Merged revision(s) 23581 from trunk/OpenMPT: [Ref] mpt/crc/crc.hpp: Fix include order. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/src/mpt/crc/crc.hpp Modified: branches/OpenMPT-1.32/src/mpt/crc/crc.hpp ============================================================================== --- branches/OpenMPT-1.32/src/mpt/crc/crc.hpp Fri Jun 20 21:23:30 2025 (r23581) +++ branches/OpenMPT-1.32/src/mpt/crc/crc.hpp Fri Jun 20 21:23:50 2025 (r23582) @@ -7,10 +7,9 @@ #include "mpt/base/array.hpp" #include "mpt/base/detect.hpp" -#include "mpt/base/namespace.hpp" - #include "mpt/base/integer.hpp" #include "mpt/base/memory.hpp" +#include "mpt/base/namespace.hpp" #include <array> |
From: <sv...@op...> - 2025-06-20 19:23:42
|
Author: manx Date: Fri Jun 20 21:23:30 2025 New Revision: 23581 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23581 Log: [Ref] mpt/crc/crc.hpp: Fix include order. Modified: trunk/OpenMPT/src/mpt/crc/crc.hpp Modified: trunk/OpenMPT/src/mpt/crc/crc.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/crc/crc.hpp Fri Jun 20 21:01:14 2025 (r23580) +++ trunk/OpenMPT/src/mpt/crc/crc.hpp Fri Jun 20 21:23:30 2025 (r23581) @@ -7,10 +7,9 @@ #include "mpt/base/array.hpp" #include "mpt/base/detect.hpp" -#include "mpt/base/namespace.hpp" - #include "mpt/base/integer.hpp" #include "mpt/base/memory.hpp" +#include "mpt/base/namespace.hpp" #include <array> |
From: <sv...@op...> - 2025-06-20 19:01:21
|
Author: manx Date: Fri Jun 20 21:01:14 2025 New Revision: 23580 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23580 Log: [Ref] mptTime: Minor cleanup. Modified: trunk/OpenMPT/common/mptTime.cpp Modified: trunk/OpenMPT/common/mptTime.cpp ============================================================================== --- trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 20:56:15 2025 (r23579) +++ trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 21:01:14 2025 (r23580) @@ -42,6 +42,11 @@ +namespace detail +{ + + + static int32 ToDaynum(int32 year, int32 month, int32 day) { month = (month + 9) % 12; @@ -72,10 +77,24 @@ day = static_cast<int32>(dd); } +#if defined(MODPLUG_TRACKER) + +struct tz_error +{ +}; + +#endif // MODPLUG_TRACKER + + + +} // namespace detail + + + mpt::chrono::unix_clock::time_point unix_from_UTC(mpt::Date::UTC timeUtc) { - int32 daynum = ToDaynum(timeUtc.year, timeUtc.month, timeUtc.day); - int64 seconds = static_cast<int64>(daynum - ToDaynum(1970, 1, 1)) * 24 * 60 * 60 + timeUtc.hours * 60 * 60 + timeUtc.minutes * 60 + timeUtc.seconds; + int32 daynum = mpt::Date::detail::ToDaynum(timeUtc.year, timeUtc.month, timeUtc.day); + int64 seconds = static_cast<int64>(daynum - mpt::Date::detail::ToDaynum(1970, 1, 1)) * 24 * 60 * 60 + timeUtc.hours * 60 * 60 + timeUtc.minutes * 60 + timeUtc.seconds; return mpt::chrono::unix_clock::time_point{seconds, timeUtc.nanoseconds}; } @@ -86,7 +105,7 @@ int64 minutes = tmp % 60; tmp /= 60; int64 hours = tmp % 24; tmp /= 24; int32 year = 0, month = 0, day = 0; - FromDaynum(static_cast<int32>(tmp) + ToDaynum(1970,1,1), year, month, day); + mpt::Date::detail::FromDaynum(static_cast<int32>(tmp) + mpt::Date::detail::ToDaynum(1970,1,1), year, month, day); mpt::Date::UTC result = {}; result.year = year; result.month = month; @@ -100,10 +119,6 @@ #if defined(MODPLUG_TRACKER) -struct tz_error -{ -}; - mpt::chrono::unix_clock::time_point unix_from_local(mpt::Date::Local timeLocal) { #if defined(MPT_FALLBACK_TIMEZONE_WINDOWS_HISTORIC) @@ -111,7 +126,7 @@ { if(mpt::osinfo::windows::current_is_wine()) { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } SYSTEMTIME sys_local{}; sys_local.wYear = static_cast<uint16>(timeLocal.year); @@ -124,23 +139,23 @@ DYNAMIC_TIME_ZONE_INFORMATION dtzi{}; if(GetDynamicTimeZoneInformation(&dtzi) == TIME_ZONE_ID_INVALID) // WinVista { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } SYSTEMTIME sys_utc{}; if(TzSpecificLocalTimeToSystemTimeEx(&dtzi, &sys_local, &sys_utc) == FALSE) // Win7/Win8 { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } FILETIME ft{}; if(SystemTimeToFileTime(&sys_utc, &ft) == FALSE) // Win 2000 { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } ULARGE_INTEGER time_value{}; time_value.LowPart = ft.dwLowDateTime; time_value.HighPart = ft.dwHighDateTime; return mpt::chrono::unix_clock::from_unix_nanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); - } catch(const tz_error &) + } catch(const mpt::Date::detail::tz_error &) { // nothing } @@ -159,18 +174,18 @@ SYSTEMTIME sys_utc{}; if(TzSpecificLocalTimeToSystemTime(NULL, &sys_local, &sys_utc) == FALSE) // WinXP { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } FILETIME ft{}; if(SystemTimeToFileTime(&sys_utc, &ft) == FALSE) // Win 2000 { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } ULARGE_INTEGER time_value{}; time_value.LowPart = ft.dwLowDateTime; time_value.HighPart = ft.dwHighDateTime; return mpt::chrono::unix_clock::from_unix_nanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); - } catch(const tz_error &) + } catch(const mpt::Date::detail::tz_error &) { // nothing } @@ -194,7 +209,7 @@ { if(mpt::osinfo::windows::current_is_wine()) { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } ULARGE_INTEGER time_value{}; time_value.QuadPart = (static_cast<int64>(mpt::chrono::unix_clock::to_unix_nanoseconds(tp)) / 100LL) + 116444736000000000LL; @@ -204,17 +219,17 @@ SYSTEMTIME sys_utc{}; if(FileTimeToSystemTime(&ft, &sys_utc) == FALSE) // WinXP { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } DYNAMIC_TIME_ZONE_INFORMATION dtzi{}; if(GetDynamicTimeZoneInformation(&dtzi) == TIME_ZONE_ID_INVALID) // WinVista { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } SYSTEMTIME sys_local{}; if(SystemTimeToTzSpecificLocalTimeEx(&dtzi, &sys_utc, &sys_local) == FALSE) // Win7/Win8 { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } mpt::Date::Local result{}; result.year = sys_local.wYear; @@ -225,7 +240,7 @@ result.seconds = sys_local.wSecond; result.nanoseconds = static_cast<int32>(sys_local.wMilliseconds) * 1'000'000; return result; - } catch(const tz_error&) + } catch(const mpt::Date::detail::tz_error&) { // nothing } @@ -241,12 +256,12 @@ SYSTEMTIME sys_utc{}; if(FileTimeToSystemTime(&ft, &sys_utc) == FALSE) // WinXP { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } SYSTEMTIME sys_local{}; if(SystemTimeToTzSpecificLocalTime(NULL, &sys_utc, &sys_local) == FALSE) // Win2000 { - throw tz_error{}; + throw mpt::Date::detail::tz_error{}; } mpt::Date::Local result{}; result.year = sys_local.wYear; @@ -257,7 +272,7 @@ result.seconds = sys_local.wSecond; result.nanoseconds = static_cast<int32>(sys_local.wMilliseconds) * 1'000'000; return result; - } catch(const tz_error&) + } catch(const mpt::Date::detail::tz_error&) { // nothing } |
From: <sv...@op...> - 2025-06-20 18:56:22
|
Author: manx Date: Fri Jun 20 20:56:15 2025 New Revision: 23579 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23579 Log: [Fix] mptTime: Fix C++17 build again. Modified: trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 20:55:50 2025 (r23578) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 20:56:15 2025 (r23579) @@ -431,6 +431,8 @@ return mpt::Date::local_from_unix(mpt::chrono::unix_clock::from_unix_nanoseconds(mpt::chrono::default_system_clock::to_unix_nanoseconds(tp))); } +#endif // MODPLUG_TRACKER + #else inline mpt::chrono::default_system_clock::time_point default_from_UTC(mpt::Date::UTC timeUtc) |
From: <sv...@op...> - 2025-06-20 18:55:57
|
Author: manx Date: Fri Jun 20 20:55:50 2025 New Revision: 23578 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23578 Log: [Fix] mptTime: Fix C++17 build again. Modified: trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 20:32:29 2025 (r23577) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 20:55:50 2025 (r23578) @@ -385,7 +385,7 @@ -#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) +#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) && 0 inline mpt::chrono::default_system_clock::time_point default_from_UTC(mpt::Date::UTC timeUtc) { @@ -409,6 +409,28 @@ #endif // MODPLUG_TRACKER +#elif !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) + +inline mpt::chrono::default_system_clock::time_point default_from_UTC(mpt::Date::UTC timeUtc) +{ + return mpt::chrono::default_system_clock::from_unix_nanoseconds(mpt::chrono::unix_clock::to_unix_nanoseconds(mpt::Date::unix_from_UTC(timeUtc))); +} +inline mpt::Date::UTC UTC_from_default(mpt::chrono::default_system_clock::time_point tp) +{ + return mpt::Date::UTC_from_unix(mpt::chrono::unix_clock::from_unix_nanoseconds(mpt::chrono::default_system_clock::to_unix_nanoseconds(tp))); +} + +#if defined(MODPLUG_TRACKER) + +inline mpt::chrono::default_system_clock::time_point default_from_local(mpt::Date::Local timeLocal) +{ + return mpt::chrono::default_system_clock::from_unix_nanoseconds(mpt::chrono::unix_clock::to_unix_nanoseconds(mpt::Date::unix_from_local(timeLocal))); +} +inline mpt::Date::Local local_from_default(mpt::chrono::default_system_clock::time_point tp) +{ + return mpt::Date::local_from_unix(mpt::chrono::unix_clock::from_unix_nanoseconds(mpt::chrono::default_system_clock::to_unix_nanoseconds(tp))); +} + #else inline mpt::chrono::default_system_clock::time_point default_from_UTC(mpt::Date::UTC timeUtc) |
From: <sv...@op...> - 2025-06-20 18:32:41
|
Author: manx Date: Fri Jun 20 20:32:29 2025 New Revision: 23577 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23577 Log: [Fix] mptTime: Fix C++17 build. Modified: trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 20:27:48 2025 (r23576) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 20:32:29 2025 (r23577) @@ -385,7 +385,7 @@ -#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) +#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) inline mpt::chrono::default_system_clock::time_point default_from_UTC(mpt::Date::UTC timeUtc) { |
From: <sv...@op...> - 2025-06-20 18:27:57
|
Author: manx Date: Fri Jun 20 20:27:48 2025 New Revision: 23576 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23576 Log: [Ref] mptTime: Bring naming and syntax more in line with C++ <chrono>. We now provide a very limited mpt::chrono::default_system_clock on all systems, even without std::chrono being available. [Ref] mptTime: Simplify preprocessor logic. [Ref] mptTime: Use std::chrono::system_clock instead of std::time() in all cases except for MPT_LIBCXX_QUIRK_NO_CHRONO. Modified: trunk/OpenMPT/common/Logging.cpp trunk/OpenMPT/common/mptTime.cpp trunk/OpenMPT/common/mptTime.h trunk/OpenMPT/misc/GzipWriter.h trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/Moddoc.h trunk/OpenMPT/mptrack/TrackerSettings.cpp trunk/OpenMPT/mptrack/TrackerSettings.h trunk/OpenMPT/mptrack/UpdateCheck.cpp trunk/OpenMPT/mptrack/UpdateCheck.h trunk/OpenMPT/mptrack/dlg_misc.cpp trunk/OpenMPT/soundlib/Load_it.cpp trunk/OpenMPT/soundlib/Load_s3m.cpp trunk/OpenMPT/soundlib/Sndfile.cpp trunk/OpenMPT/test/test.cpp Modified: trunk/OpenMPT/common/Logging.cpp ============================================================================== --- trunk/OpenMPT/common/Logging.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/common/Logging.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -125,8 +125,8 @@ #if defined(MODPLUG_TRACKER) && !defined(MPT_BUILD_WINESUPPORT) #if MPT_OS_WINDOWS static uint64 s_lastlogtime = 0; - mpt::Date::Unix cur = mpt::Date::UnixNow(); - int64 cur_ms = mpt::Date::UnixAsNanoseconds(cur) / 1'000'000; + mpt::chrono::default_system_clock::time_point cur = mpt::chrono::default_system_clock::now(); + int64 cur_ms = mpt::chrono::default_system_clock::to_unix_nanoseconds(cur) / 1'000'000; uint64 diff = cur_ms - s_lastlogtime; s_lastlogtime = cur_ms ; #else @@ -143,7 +143,7 @@ if(s_logfile) { mpt::IO::WriteText(*s_logfile, mpt::transcode<std::string>(mpt::logfile_encoding, MPT_UFORMAT("{}+{} {}({}): {} [{}]\n") - ( mpt::Date::ToISO8601(mpt::Date::UnixAsUTC(cur)) + ( mpt::Date::ToISO8601(mpt::Date::UTC_from_default(cur)) , mpt::ufmt::right(6, mpt::ufmt::dec(diff)) , file , line @@ -320,8 +320,8 @@ LARGE_INTEGER qpcNow; qpcNow.QuadPart = 0; QueryPerformanceCounter(&qpcNow); - mpt::Date::Unix time_unix = mpt::Date::UnixNow(); - uint64 time_unix_ns = mpt::Date::UnixAsNanoseconds(time_unix); + mpt::chrono::default_system_clock::time_point time_system = mpt::chrono::default_system_clock::now(); + uint64 time_unix_ns = mpt::chrono::default_system_clock::to_unix_nanoseconds(time_system); // sort according to index in case of overflows std::stable_sort(Entries.begin(), Entries.end()); @@ -340,7 +340,7 @@ qpcValid = true; } - f << "Dump: " << mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ToISO8601(mpt::Date::UnixAsUTC(time_unix))) << std::endl; + f << "Dump: " << mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ToISO8601(mpt::Date::UTC_from_default(time_system))) << std::endl; f << "Captured events: " << Entries.size() << std::endl; if(qpcValid && (Entries.size() > 0)) { @@ -357,7 +357,7 @@ std::string time; if(qpcValid) { - time = mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ToISO8601( mpt::Date::UnixAsUTC( mpt::Date::UnixFromNanoseconds( time_unix_ns - static_cast<int64>( static_cast<double>(qpcNow.QuadPart - entry.Timestamp) * (1'000'000'000.0 / static_cast<double>(qpcFreq.QuadPart) ) ) ) ) ) ); + time = mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ToISO8601( mpt::Date::UTC_from_default( mpt::chrono::default_system_clock::from_unix_nanoseconds( time_unix_ns - static_cast<int64>( static_cast<double>(qpcNow.QuadPart - entry.Timestamp) * (1'000'000'000.0 / static_cast<double>(qpcFreq.QuadPart) ) ) ) ) ) ); } else { time = MPT_AFORMAT("0x{}")(mpt::afmt::hex0<16>(entry.Timestamp)); Modified: trunk/OpenMPT/common/mptTime.cpp ============================================================================== --- trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -15,7 +15,7 @@ #include "mpt/osinfo/windows_wine_version.hpp" #endif // MODPLUG_TRACKER && MPT_OS_WINDOWS -#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) +#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) #include <chrono> #endif @@ -31,16 +31,17 @@ OPENMPT_NAMESPACE_BEGIN + namespace mpt { -namespace Date -{ -namespace nochrono +namespace Date { + + static int32 ToDaynum(int32 year, int32 month, int32 day) { month = (month + 9) % 12; @@ -71,14 +72,14 @@ day = static_cast<int32>(dd); } -Unix UnixFromUTC(UTC timeUtc) +mpt::chrono::unix_clock::time_point unix_from_UTC(mpt::Date::UTC timeUtc) { int32 daynum = ToDaynum(timeUtc.year, timeUtc.month, timeUtc.day); int64 seconds = static_cast<int64>(daynum - ToDaynum(1970, 1, 1)) * 24 * 60 * 60 + timeUtc.hours * 60 * 60 + timeUtc.minutes * 60 + timeUtc.seconds; - return Unix{seconds, timeUtc.nanoseconds}; + return mpt::chrono::unix_clock::time_point{seconds, timeUtc.nanoseconds}; } -UTC UnixAsUTC(Unix tp) +mpt::Date::UTC UTC_from_unix(mpt::chrono::unix_clock::time_point tp) { int64 tmp = tp.seconds; int64 seconds = tmp % 60; tmp /= 60; @@ -86,7 +87,7 @@ int64 hours = tmp % 24; tmp /= 24; int32 year = 0, month = 0, day = 0; FromDaynum(static_cast<int32>(tmp) + ToDaynum(1970,1,1), year, month, day); - UTC result = {}; + mpt::Date::UTC result = {}; result.year = year; result.month = month; result.day = day; @@ -103,7 +104,7 @@ { }; -Unix UnixFromLocal(Local timeLocal) +mpt::chrono::unix_clock::time_point unix_from_local(mpt::Date::Local timeLocal) { #if defined(MPT_FALLBACK_TIMEZONE_WINDOWS_HISTORIC) try @@ -138,7 +139,7 @@ ULARGE_INTEGER time_value{}; time_value.LowPart = ft.dwLowDateTime; time_value.HighPart = ft.dwHighDateTime; - return UnixFromNanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); + return mpt::chrono::unix_clock::from_unix_nanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); } catch(const tz_error &) { // nothing @@ -168,7 +169,7 @@ ULARGE_INTEGER time_value{}; time_value.LowPart = ft.dwLowDateTime; time_value.HighPart = ft.dwHighDateTime; - return UnixFromNanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); + return mpt::chrono::unix_clock::from_unix_nanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); } catch(const tz_error &) { // nothing @@ -182,11 +183,11 @@ tmp.tm_hour = timeLocal.hours; tmp.tm_min = timeLocal.minutes; tmp.tm_sec = static_cast<int>(timeLocal.seconds); - return UnixFromSeconds(static_cast<int64>(std::mktime(&tmp))); + return mpt::chrono::unix_clock::from_unix_seconds(static_cast<int64>(std::mktime(&tmp))); #endif } -Local UnixAsLocal(Unix tp) +mpt::Date::Local local_from_unix(mpt::chrono::unix_clock::time_point tp) { #if defined(MPT_FALLBACK_TIMEZONE_WINDOWS_HISTORIC) try @@ -196,7 +197,7 @@ throw tz_error{}; } ULARGE_INTEGER time_value{}; - time_value.QuadPart = (static_cast<int64>(UnixAsNanoseconds(tp)) / 100LL) + 116444736000000000LL; + time_value.QuadPart = (static_cast<int64>(mpt::chrono::unix_clock::to_unix_nanoseconds(tp)) / 100LL) + 116444736000000000LL; FILETIME ft{}; ft.dwLowDateTime = time_value.LowPart; ft.dwHighDateTime = time_value.HighPart; @@ -215,7 +216,7 @@ { throw tz_error{}; } - Local result{}; + mpt::Date::Local result{}; result.year = sys_local.wYear; result.month = sys_local.wMonth; result.day = sys_local.wDay; @@ -233,7 +234,7 @@ try { ULARGE_INTEGER time_value{}; - time_value.QuadPart = (static_cast<int64>(UnixAsNanoseconds(tp)) / 100LL) + 116444736000000000LL; + time_value.QuadPart = (static_cast<int64>(mpt::chrono::unix_clock::to_unix_nanoseconds(tp)) / 100LL) + 116444736000000000LL; FILETIME ft{}; ft.dwLowDateTime = time_value.LowPart; ft.dwHighDateTime = time_value.HighPart; @@ -247,7 +248,7 @@ { throw tz_error{}; } - Local result{}; + mpt::Date::Local result{}; result.year = sys_local.wYear; result.month = sys_local.wMonth; result.day = sys_local.wDay; @@ -262,14 +263,14 @@ } #endif #if defined(MPT_FALLBACK_TIMEZONE_C) - std::time_t time_tp = static_cast<std::time_t>(UnixAsSeconds(tp)); + std::time_t time_tp = static_cast<std::time_t>(mpt::chrono::unix_clock::to_unix_seconds(tp)); std::tm *tmp = std::localtime(&time_tp); if(!tmp) { - return Local{}; + return mpt::Date::Local{}; } std::tm local = *tmp; - Local result{}; + mpt::Date::Local result{}; result.year = local.tm_year + 1900; result.month = local.tm_mon + 1; result.day = local.tm_mday; @@ -283,7 +284,16 @@ #endif // MODPLUG_TRACKER -} // namespace nochrono + + +} // namespace Date + + + +namespace Date +{ + + template <LogicalTimezone TZ> static mpt::ustring ToISO8601Impl(mpt::Date::Gregorian<TZ> date, bool shorten) @@ -361,7 +371,12 @@ } #endif // MODPLUG_TRACKER + + } // namespace Date + + + } // namespace mpt Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 20:27:48 2025 (r23576) @@ -12,17 +12,19 @@ #include "openmpt/all/BuildSettings.hpp" -#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) +#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) #include <chrono> +#endif +#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) #include <exception> -#elif MPT_CXX_AT_LEAST(17) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && defined(MODPLUG_TRACKER) -#include <chrono> #endif -#if MPT_CXX_BEFORE(20) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) +#if defined(MPT_LIBCXX_QUIRK_NO_CHRONO) #include <ctime> #endif + + #if MPT_WINNT_AT_LEAST(MPT_WIN_8) #define MPT_FALLBACK_TIMEZONE_WINDOWS_HISTORIC #define MPT_FALLBACK_TIMEZONE_WINDOWS_CURRENT @@ -64,6 +66,9 @@ namespace mpt { + + + namespace Date { @@ -141,97 +146,144 @@ return result; } -namespace nochrono + + +} // namespace Date + + + +namespace chrono { -// int64 counts 1s since 1970-01-01T00:00Z -struct Unix + + +struct unix_clock { - int64 seconds{}; - int32 nanoseconds{}; - friend bool operator==(const Unix &a, const Unix &b) + + // int64 counts 1s since 1970-01-01T00:00Z + struct time_point + { + int64 seconds = 0; + int32 nanoseconds = 0; + friend bool operator==(const time_point &a, const time_point &b) + { + return a.seconds == b.seconds && a.nanoseconds == b.nanoseconds; + } + friend bool operator!=(const time_point &a, const time_point &b) + { + return a.seconds != b.seconds || a.nanoseconds != b.nanoseconds; + } + }; + + using duration = int64; + + static int64 to_unix_seconds(time_point tp) { - return a.seconds == b.seconds && a.nanoseconds == b.nanoseconds; + return tp.seconds; } - friend bool operator!=(const Unix &a, const Unix &b) + + static int64 to_unix_nanoseconds(time_point tp) { - return a.seconds != b.seconds || a.nanoseconds != b.nanoseconds; + return (tp.seconds * 1'000'000'000) + tp.nanoseconds; } -}; -#if MPT_CXX_BEFORE(20) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO) || defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) + static time_point from_unix_seconds(int64 seconds) + { + return time_point{static_cast<int64>(seconds), static_cast<int32>(0)}; + } -inline Unix UnixNow() -{ - return Unix{static_cast<int64>(std::time(nullptr)), static_cast<int32>(0)}; -} + static time_point from_unix_nanoseconds(int64 nanoseconds) + { + return time_point{static_cast<int64>(nanoseconds / 1'000'000'000ll), static_cast<int32>(nanoseconds % 1'000'000'000ll)}; + } + static time_point now() + { +#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) + return from_unix_nanoseconds(std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::system_clock::now().time_since_epoch()).count()); +#else + return from_unix_seconds(static_cast<int64>(std::time(nullptr))); #endif + } -inline int64 UnixAsSeconds(Unix tp) -{ - return tp.seconds; -} +}; // unix_clock -inline int64 UnixAsNanoseconds(Unix tp) -{ - return (tp.seconds * 1'000'000'000) + tp.nanoseconds; -} -inline Unix UnixFromSeconds(int64 seconds) -{ - return Unix{static_cast<int64>(seconds), static_cast<int32>(0)}; -} -inline Unix UnixFromNanoseconds(int64 nanoseconds) +#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) + +struct system_clock { - return Unix{static_cast<int64>(nanoseconds / 1'000'000'000ll), static_cast<int32>(nanoseconds % 1'000'000'000ll)}; -} -Unix UnixFromUTC(UTC timeUtc); + using time_point = std::chrono::system_clock::time_point; -UTC UnixAsUTC(Unix tp); + using duration = std::chrono::system_clock::duration; -#if defined(MODPLUG_TRACKER) + static int64 to_unix_seconds(time_point tp) + { + return static_cast<int64>(std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch()).count()); + } -Unix UnixFromLocal(Local timeLocal); + static int64 to_unix_nanoseconds(time_point tp) + { + return static_cast<int64>(std::chrono::duration_cast<std::chrono::nanoseconds>(tp.time_since_epoch()).count()); + } -Local UnixAsLocal(Unix tp); + static time_point from_unix_seconds(int64 seconds) + { + return std::chrono::system_clock::time_point{std::chrono::seconds{seconds}}; + } -#endif // MODPLUG_TRACKER + static time_point from_unix_nanoseconds(int64 nanoseconds) + { + return std::chrono::system_clock::time_point{std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{nanoseconds})}; + } -} // namespace nochrono + static time_point now() + { + return std::chrono::system_clock::now(); + } -#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) +}; // system_clock -using Unix = std::chrono::system_clock::time_point; +#endif -inline Unix UnixNow() -{ - return std::chrono::system_clock::now(); -} -inline int64 UnixAsSeconds(Unix tp) -{ - return std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch()).count(); -} -inline int64 UnixAsNanoseconds(Unix tp) -{ - return std::chrono::duration_cast<std::chrono::nanoseconds>(tp.time_since_epoch()).count(); -} +#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) +using default_system_clock = system_clock; +#else +using default_system_clock = unix_clock; +#endif -inline Unix UnixFromSeconds(int64 seconds) -{ - return std::chrono::system_clock::time_point{std::chrono::seconds{seconds}}; -} -inline Unix UnixFromNanoseconds(int64 nanoseconds) + +} // namespace chrono + + + +namespace Date { - return std::chrono::system_clock::time_point{std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{nanoseconds})}; -} -inline mpt::Date::Unix UnixFromUTC(UTC utc) + + +mpt::chrono::unix_clock::time_point unix_from_UTC(mpt::Date::UTC timeUtc); + +mpt::Date::UTC UTC_from_unix(mpt::chrono::unix_clock::time_point tp); + +#if defined(MODPLUG_TRACKER) + +mpt::chrono::unix_clock::time_point unix_from_local(mpt::Date::Local timeLocal); + +mpt::Date::Local local_from_unix(mpt::chrono::unix_clock::time_point tp); + +#endif // MODPLUG_TRACKER + + + +#if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) + +inline mpt::chrono::system_clock::time_point system_from_UTC(mpt::Date::UTC utc) { try { @@ -247,11 +299,11 @@ std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{ utc.nanoseconds })}; } catch(const std::exception &) { - return mpt::Date::UnixFromNanoseconds(mpt::Date::nochrono::UnixAsNanoseconds(mpt::Date::nochrono::UnixFromUTC(utc))); + return mpt::chrono::system_clock::from_unix_nanoseconds(mpt::chrono::unix_clock::to_unix_nanoseconds(mpt::Date::unix_from_UTC(utc))); } } -inline mpt::Date::UTC UnixAsUTC(Unix tp) +inline mpt::Date::UTC UTC_from_system(mpt::chrono::system_clock::time_point tp) { try { @@ -269,13 +321,13 @@ return result; } catch(const std::exception &) { - return mpt::Date::nochrono::UnixAsUTC(mpt::Date::nochrono::UnixFromNanoseconds(mpt::Date::UnixAsNanoseconds(tp))); + return mpt::Date::UTC_from_unix(mpt::chrono::unix_clock::from_unix_nanoseconds(mpt::chrono::system_clock::to_unix_nanoseconds(tp))); } } #if defined(MODPLUG_TRACKER) -inline mpt::Date::Unix UnixFromLocal(Local local) +inline mpt::chrono::system_clock::time_point system_from_local(mpt::Date::Local local) { #if !defined(MPT_LIBCXX_QUIRK_CHRONO_DATE_NO_ZONED_TIME) try @@ -298,11 +350,11 @@ } catch(const std::exception &) #endif { - return mpt::Date::UnixFromNanoseconds(mpt::Date::nochrono::UnixAsNanoseconds(mpt::Date::nochrono::UnixFromLocal(local))); + return mpt::chrono::system_clock::from_unix_nanoseconds(mpt::chrono::unix_clock::to_unix_nanoseconds(mpt::Date::unix_from_local(local))); } } -inline mpt::Date::Local UnixAsLocal(Unix tp) +inline mpt::Date::Local local_from_system(mpt::chrono::system_clock::time_point tp) { #if !defined(MPT_LIBCXX_QUIRK_CHRONO_DATE_NO_ZONED_TIME) try @@ -323,34 +375,77 @@ } catch(const std::exception &) #endif { - return mpt::Date::nochrono::UnixAsLocal(mpt::Date::nochrono::UnixFromNanoseconds(mpt::Date::UnixAsNanoseconds(tp))); + return mpt::Date::local_from_unix(mpt::chrono::unix_clock::from_unix_nanoseconds(mpt::chrono::system_clock::to_unix_nanoseconds(tp))); } } #endif // MODPLUG_TRACKER -#else +#endif -using Unix = nochrono::Unix; -using nochrono::UnixNow; -using nochrono::UnixAsSeconds; -using nochrono::UnixAsNanoseconds; -using nochrono::UnixFromSeconds; -using nochrono::UnixFromNanoseconds; -using nochrono::UnixFromUTC; -using nochrono::UnixAsUTC; +#if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) + +inline mpt::chrono::default_system_clock::time_point default_from_UTC(mpt::Date::UTC timeUtc) +{ + return mpt::Date::system_from_UTC(timeUtc); +} +inline mpt::Date::UTC UTC_from_default(mpt::chrono::default_system_clock::time_point tp) +{ + return mpt::Date::UTC_from_system(tp); +} #if defined(MODPLUG_TRACKER) -using nochrono::UnixFromLocal; -using nochrono::UnixAsLocal; +inline mpt::chrono::default_system_clock::time_point default_from_local(mpt::Date::Local timeLocal) +{ + return mpt::Date::system_from_local(timeLocal); +} +inline mpt::Date::Local local_from_default(mpt::chrono::default_system_clock::time_point tp) +{ + return mpt::Date::local_from_system(tp); +} + +#endif // MODPLUG_TRACKER + +#else + +inline mpt::chrono::default_system_clock::time_point default_from_UTC(mpt::Date::UTC timeUtc) +{ + return mpt::Date::unix_from_UTC(timeUtc); +} +inline mpt::Date::UTC UTC_from_default(mpt::chrono::default_system_clock::time_point tp) +{ + return mpt::Date::UTC_from_unix(tp); +} + +#if defined(MODPLUG_TRACKER) + +inline mpt::chrono::default_system_clock::time_point default_from_local(mpt::Date::Local timeLocal) +{ + return mpt::Date::unix_from_local(timeLocal); +} +inline mpt::Date::Local local_from_default(mpt::chrono::default_system_clock::time_point tp) +{ + return mpt::Date::local_from_unix(tp); +} #endif // MODPLUG_TRACKER #endif + + +} // namespace Date + + + +namespace Date +{ + + + mpt::ustring ToShortenedISO8601(AnyGregorian date); // i.e. 2015-01-15T18:32:01 mpt::ustring ToShortenedISO8601(UTC date); // i.e. 2015-01-15T18:32:01Z @@ -367,7 +462,12 @@ mpt::ustring ToISO8601(Local date); #endif // MODPLUG_TRACKER + + } // namespace Date + + + } // namespace mpt Modified: trunk/OpenMPT/misc/GzipWriter.h ============================================================================== --- trunk/OpenMPT/misc/GzipWriter.h Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/misc/GzipWriter.h Fri Jun 20 20:27:48 2025 (r23576) @@ -39,7 +39,7 @@ strm->next_in = mpt::byte_cast<Bytef *>(outData.data()); zlib::expect_Z_OK(deflateInit2(&*strm, Z_BEST_COMPRESSION, Z_DEFLATED, 15 | 16, 9, Z_DEFAULT_STRATEGY), "deflateInit2() failed"); gz_header gzHeader{}; - gzHeader.time = mpt::saturate_cast<uLong>(mpt::Date::UnixAsSeconds(mpt::Date::UnixNow())); + gzHeader.time = mpt::saturate_cast<uLong>(mpt::chrono::default_system_clock::to_unix_seconds(mpt::chrono::default_system_clock::now())); std::string filenameISO = mpt::transcode<std::string>(mpt::common_encoding::iso8859_1, fileName); gzHeader.name = mpt::byte_cast<Bytef *>(filenameISO.data()); zlib::expect_Z_OK(deflateSetHeader(&*strm, &gzHeader), "deflateSetHeader() failed"); Modified: trunk/OpenMPT/mptrack/MainFrm.cpp ============================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/MainFrm.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -3071,7 +3071,7 @@ const bool isAutoUpdate = CUpdateCheck::IsAutoUpdateFromMessage(wparam, lparam); const UpdateCheckResult &result = CUpdateCheck::MessageAsResult(wparam, lparam); CUpdateCheck::AcknowledgeSuccess(result); - if(result.CheckTime != mpt::Date::Unix{}) + if(result.CheckTime != mpt::chrono::default_system_clock::time_point{}) { TrackerSettings::Instance().UpdateLastUpdateCheck = result.CheckTime; } Modified: trunk/OpenMPT/mptrack/Moddoc.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/Moddoc.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -144,7 +144,7 @@ , m_InstrumentUndo(*this) { // Set the creation date of this file (or the load time if we're loading an existing file) - m_creationTime = mpt::Date::UnixNow(); + m_creationTime = mpt::chrono::default_system_clock::now(); ReinitRecordState(); Modified: trunk/OpenMPT/mptrack/Moddoc.h ============================================================================== --- trunk/OpenMPT/mptrack/Moddoc.h Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/Moddoc.h Fri Jun 20 20:27:48 2025 (r23576) @@ -130,7 +130,7 @@ CSampleUndo m_SampleUndo; CInstrumentUndo m_InstrumentUndo; SplitKeyboardSettings m_SplitKeyboardSettings; // this is maybe not the best place to keep them, but it should do the job - mpt::Date::Unix m_creationTime; + mpt::chrono::default_system_clock::time_point m_creationTime; std::atomic<bool> m_modifiedAutosave = false; // Modified since last autosave? @@ -220,7 +220,7 @@ CInstrumentUndo &GetInstrumentUndo() { return m_InstrumentUndo; } SplitKeyboardSettings &GetSplitKeyboardSettings() { return m_SplitKeyboardSettings; } - mpt::Date::Unix GetCreationTime() const { return m_creationTime; } + mpt::chrono::default_system_clock::time_point GetCreationTime() const { return m_creationTime; } // operations public: Modified: trunk/OpenMPT/mptrack/TrackerSettings.cpp ============================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/TrackerSettings.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -345,7 +345,7 @@ // Update , UpdateEnabled(conf, UL_("Update"), UL_("Enabled"), true) , UpdateInstallAutomatically(conf, UL_("Update"), UL_("InstallAutomatically"), false) - , UpdateLastUpdateCheck(conf, UL_("Update"), UL_("LastUpdateCheck"), mpt::Date::Unix{}) + , UpdateLastUpdateCheck(conf, UL_("Update"), UL_("LastUpdateCheck"), mpt::chrono::default_system_clock::time_point{}) , UpdateUpdateCheckPeriod_DEPRECATED(conf, UL_("Update"), UL_("UpdateCheckPeriod"), 7) , UpdateIntervalDays(conf, UL_("Update"), UL_("UpdateCheckIntervalDays"), 7) , UpdateChannel(conf, UL_("Update"), UL_("Channel"), UpdateChannelRelease) @@ -855,7 +855,7 @@ } if(storedVersion < MPT_V("1.31.00.12")) { - UpdateLastUpdateCheck = mpt::Date::Unix{}; + UpdateLastUpdateCheck = mpt::chrono::default_system_clock::time_point{}; } #endif // MPT_ENABLE_UPDATE Modified: trunk/OpenMPT/mptrack/TrackerSettings.h ============================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.h Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/TrackerSettings.h Fri Jun 20 20:27:48 2025 (r23576) @@ -564,14 +564,14 @@ } -template<> inline SettingValue ToSettingValue(const mpt::Date::Unix &val) +template<> inline SettingValue ToSettingValue(const mpt::chrono::default_system_clock::time_point &val) { - return SettingValue(mpt::ufmt::val(mpt::Date::UnixAsSeconds(val)), "UnixTime"); + return SettingValue(mpt::ufmt::val(mpt::chrono::default_system_clock::to_unix_seconds(val)), "UnixTime"); } -template<> inline mpt::Date::Unix FromSettingValue(const SettingValue &val) +template<> inline mpt::chrono::default_system_clock::time_point FromSettingValue(const SettingValue &val) { MPT_ASSERT(val.GetTypeTag() == "UnixTime"); - return mpt::Date::UnixFromSeconds(mpt::parse<int64>(val.as<mpt::ustring>())); + return mpt::chrono::default_system_clock::from_unix_seconds(mpt::parse<int64>(val.as<mpt::ustring>())); } struct FontSetting @@ -994,7 +994,7 @@ Setting<bool> UpdateEnabled; Setting<bool> UpdateInstallAutomatically; - Setting<mpt::Date::Unix> UpdateLastUpdateCheck; + Setting<mpt::chrono::default_system_clock::time_point> UpdateLastUpdateCheck; Setting<int32> UpdateUpdateCheckPeriod_DEPRECATED; Setting<int32> UpdateIntervalDays; Setting<uint32> UpdateChannel; Modified: trunk/OpenMPT/mptrack/UpdateCheck.cpp ============================================================================== --- trunk/OpenMPT/mptrack/UpdateCheck.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/UpdateCheck.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -503,10 +503,10 @@ return; } // Do we actually need to run the update check right now? - const mpt::Date::Unix now = mpt::Date::UnixNow(); - const mpt::Date::Unix lastCheck = TrackerSettings::Instance().UpdateLastUpdateCheck.Get(); + const mpt::chrono::default_system_clock::time_point now = mpt::chrono::default_system_clock::now(); + const mpt::chrono::default_system_clock::time_point lastCheck = TrackerSettings::Instance().UpdateLastUpdateCheck.Get(); // Check update interval. Note that we always check for updates when the system time had gone backwards (i.e. when the last update check supposedly happened in the future). - const int64 secsSinceLastCheck = mpt::Date::UnixAsSeconds(now) - mpt::Date::UnixAsSeconds(lastCheck); + const int64 secsSinceLastCheck = mpt::chrono::default_system_clock::to_unix_seconds(now) - mpt::chrono::default_system_clock::to_unix_seconds(lastCheck); if(secsSinceLastCheck > 0 && secsSinceLastCheck < updateCheckPeriod * 86400) { loadPersisted = true; @@ -705,7 +705,7 @@ { std::vector<std::byte> data = GetFileReader(f).ReadRawDataAsByteVector(); nlohmann::json::parse(mpt::buffer_cast<std::string>(data)).get<Update::versions>(); - result.CheckTime = mpt::Date::Unix{}; + result.CheckTime = mpt::chrono::default_system_clock::time_point{}; result.json = data; loaded = true; } @@ -863,7 +863,7 @@ // Now, evaluate the downloaded data. UpdateCheckResult result; - result.CheckTime = mpt::Date::UnixNow(); + result.CheckTime = mpt::chrono::default_system_clock::now(); try { nlohmann::json::parse(mpt::buffer_cast<std::string>(resultHTTP.Data)).get<Update::versions>(); @@ -1796,10 +1796,10 @@ if(changedPath == TrackerSettings::Instance().UpdateLastUpdateCheck.GetPath()) { CString updateText; - const mpt::Date::Unix t = TrackerSettings::Instance().UpdateLastUpdateCheck.Get(); - if(t != mpt::Date::Unix{}) + const mpt::chrono::default_system_clock::time_point t = TrackerSettings::Instance().UpdateLastUpdateCheck.Get(); + if(t != mpt::chrono::default_system_clock::time_point{}) { - updateText += CTime(mpt::Date::UnixAsSeconds(t)).Format(_T("The last successful update check was run on %F, %R.")); + updateText += CTime(mpt::chrono::default_system_clock::to_unix_seconds(t)).Format(_T("The last successful update check was run on %F, %R.")); } updateText += _T("\r\n"); SetDlgItemText(IDC_LASTUPDATE, updateText); Modified: trunk/OpenMPT/mptrack/UpdateCheck.h ============================================================================== --- trunk/OpenMPT/mptrack/UpdateCheck.h Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/UpdateCheck.h Fri Jun 20 20:27:48 2025 (r23576) @@ -39,11 +39,11 @@ struct UpdateCheckResult { - mpt::Date::Unix CheckTime = mpt::Date::Unix{}; + mpt::chrono::default_system_clock::time_point CheckTime = mpt::chrono::default_system_clock::time_point{}; std::vector<std::byte> json; bool IsFromCache() const noexcept { - return CheckTime == mpt::Date::Unix{}; + return CheckTime == mpt::chrono::default_system_clock::time_point{}; } }; Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp ============================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -1387,11 +1387,11 @@ CString sDate = CString(_T("<unknown date>")); if(entry.HasValidDate()) { - const mpt::Date::Unix unixdate = ((m_modDoc.GetSoundFile().GetTimezoneInternal() == mpt::Date::LogicalTimezone::Local) || (m_modDoc.GetSoundFile().GetTimezoneInternal() == mpt::Date::LogicalTimezone::Unspecified)) - ? mpt::Date::UnixFromLocal(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::Local>(entry.loadDate)) - : mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(entry.loadDate)); + const mpt::chrono::default_system_clock::time_point unixdate = ((m_modDoc.GetSoundFile().GetTimezoneInternal() == mpt::Date::LogicalTimezone::Local) || (m_modDoc.GetSoundFile().GetTimezoneInternal() == mpt::Date::LogicalTimezone::Unspecified)) + ? mpt::Date::default_from_local(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::Local>(entry.loadDate)) + : mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(entry.loadDate)); ; - sDate = CTime(mpt::Date::UnixAsSeconds(unixdate)).Format(_T("%d %b %Y, %H:%M:%S")); + sDate = CTime(mpt::chrono::default_system_clock::to_unix_seconds(unixdate)).Format(_T("%d %b %Y, %H:%M:%S")); } // Time + stuff uint32 duration = mpt::saturate_round<uint32>(entry.openTime / HISTORY_TIMER_PRECISION); Modified: trunk/OpenMPT/soundlib/Load_it.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_it.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/soundlib/Load_it.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -1476,19 +1476,19 @@ } else if(pModDoc != nullptr) { // Current ("new") timestamp - const mpt::Date::Unix creationTime = pModDoc->GetCreationTime(); + const mpt::chrono::default_system_clock::time_point creationTime = pModDoc->GetCreationTime(); if(sndFile.GetTimezoneInternal() == mpt::Date::LogicalTimezone::UTC) { - mptHistory.loadDate = mpt::Date::forget_timezone(mpt::Date::UnixAsUTC(creationTime)); + mptHistory.loadDate = mpt::Date::forget_timezone(mpt::Date::UTC_from_default(creationTime)); } else if(sndFile.GetTimezoneInternal() == mpt::Date::LogicalTimezone::Local) { - mptHistory.loadDate = mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(creationTime)); + mptHistory.loadDate = mpt::Date::forget_timezone(mpt::Date::local_from_default(creationTime)); } else { // assume UTC - mptHistory.loadDate = mpt::Date::forget_timezone(mpt::Date::UnixAsUTC(creationTime)); + mptHistory.loadDate = mpt::Date::forget_timezone(mpt::Date::UTC_from_default(creationTime)); } - mptHistory.openTime = static_cast<uint32>(mpt::round((mpt::Date::UnixAsSeconds(mpt::Date::UnixNow()) - mpt::Date::UnixAsSeconds(creationTime)) * HISTORY_TIMER_PRECISION)); + mptHistory.openTime = static_cast<uint32>(mpt::round((mpt::chrono::default_system_clock::to_unix_seconds(mpt::chrono::default_system_clock::now()) - mpt::chrono::default_system_clock::to_unix_seconds(creationTime)) * HISTORY_TIMER_PRECISION)); #endif // MODPLUG_TRACKER } Modified: trunk/OpenMPT/soundlib/Load_s3m.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_s3m.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/soundlib/Load_s3m.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -859,7 +859,7 @@ if(const auto modDoc = GetpModDoc(); modDoc != nullptr) { auto creationTime = modDoc->GetCreationTime(); - editTimer += mpt::saturate_round<uint64>((mpt::Date::UnixAsSeconds(mpt::Date::UnixNow()) - mpt::Date::UnixAsSeconds(creationTime)) * HISTORY_TIMER_PRECISION); + editTimer += mpt::saturate_round<uint64>((mpt::chrono::default_system_clock::to_unix_seconds(mpt::chrono::default_system_clock::now()) - mpt::chrono::default_system_clock::to_unix_seconds(creationTime)) * HISTORY_TIMER_PRECISION); } #endif // MODPLUG_TRACKER fileHeader.reserved3 = mpt::saturate_cast<uint32>(editTimer); Modified: trunk/OpenMPT/soundlib/Sndfile.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Sndfile.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/soundlib/Sndfile.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -68,22 +68,22 @@ mpt::Date::AnyGregorian tmpLoadDate = loadDate; if (internalTimezone == mpt::Date::LogicalTimezone::UTC) { - int64 loadDateSinceEpoch = mpt::Date::UnixAsSeconds(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(tmpLoadDate))); + int64 loadDateSinceEpoch = mpt::chrono::default_system_clock::to_unix_seconds(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(tmpLoadDate))); int64 saveDateSinceEpoch = loadDateSinceEpoch + mpt::saturate_round<int64>(openSeconds); - return mpt::Date::ToShortenedISO8601(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds(saveDateSinceEpoch))); + return mpt::Date::ToShortenedISO8601(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds(saveDateSinceEpoch))); #ifdef MODPLUG_TRACKER } else if(internalTimezone == mpt::Date::LogicalTimezone::Local) { - int64 loadDateSinceEpoch = mpt::Date::UnixAsSeconds(mpt::Date::UnixFromLocal(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::Local>(tmpLoadDate))); + int64 loadDateSinceEpoch = mpt::chrono::default_system_clock::to_unix_seconds(mpt::Date::default_from_local(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::Local>(tmpLoadDate))); int64 saveDateSinceEpoch = loadDateSinceEpoch + mpt::saturate_round<int64>(openSeconds); - return mpt::Date::ToShortenedISO8601(mpt::Date::UnixAsLocal(mpt::Date::UnixFromSeconds(saveDateSinceEpoch))); + return mpt::Date::ToShortenedISO8601(mpt::Date::local_from_default(mpt::chrono::default_system_clock::from_unix_seconds(saveDateSinceEpoch))); #endif // MODPLUG_TRACKER } else { // assume UTC for unspecified timezone when calculating - int64 loadDateSinceEpoch = mpt::Date::UnixAsSeconds(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(tmpLoadDate))); + int64 loadDateSinceEpoch = mpt::chrono::default_system_clock::to_unix_seconds(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(tmpLoadDate))); int64 saveDateSinceEpoch = loadDateSinceEpoch + mpt::saturate_round<int64>(openSeconds); - return mpt::Date::ToShortenedISO8601(mpt::Date::forget_timezone(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds(saveDateSinceEpoch)))); + return mpt::Date::ToShortenedISO8601(mpt::Date::forget_timezone(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds(saveDateSinceEpoch)))); } } else { Modified: trunk/OpenMPT/test/test.cpp ============================================================================== --- trunk/OpenMPT/test/test.cpp Fri Jun 20 18:04:04 2025 (r23575) +++ trunk/OpenMPT/test/test.cpp Fri Jun 20 20:27:48 2025 (r23576) @@ -1044,7 +1044,7 @@ static int64 TestDate1(int s, int m, int h, unsigned int D, unsigned int M, int Y) { - return mpt::Date::UnixAsSeconds(mpt::Date::UnixFromUTC(mpt::Date::UTC{Y,M,D,h,m,s})); + return mpt::chrono::default_system_clock::to_unix_seconds(mpt::Date::default_from_UTC(mpt::Date::UTC{Y,M,D,h,m,s})); } static mpt::Date::UTC TestDate2(int s, int m, int h, unsigned int D, unsigned int M, int Y) { @@ -1317,30 +1317,30 @@ VERIFY_EQUAL( 1413064016, TestDate1( 56, 46, 21, 11, 10, 2014 )); VERIFY_EQUAL( 1413064100, TestDate1( 20, 48, 21, 11, 10, 2014 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 0)), TestDate2( 0, 0, 0, 1, 1, 1970 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 3600)), TestDate2( 0, 0, 1, 1, 1, 1970 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 86400)), TestDate2( 0, 0, 0, 2, 1, 1970 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 31536000)), TestDate2( 0, 0, 0, 1, 1, 1971 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 100000000)), TestDate2( 40, 46, 9, 3, 3, 1973 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 951782400)), TestDate2( 0, 0, 0, 29, 2, 2000 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1000000000)), TestDate2( 40, 46, 1, 9, 9, 2001 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1044057600)), TestDate2( 0, 0, 0, 1, 2, 2003 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1044144000)), TestDate2( 0, 0, 0, 2, 2, 2003 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1046476800)), TestDate2( 0, 0, 0, 1, 3, 2003 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1064966400)), TestDate2( 0, 0, 0, 1, 10, 2003 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1077926399)), TestDate2( 59, 59, 23, 27, 2, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1077926400)), TestDate2( 0, 0, 0, 28, 2, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1077926410)), TestDate2( 10, 0, 0, 28, 2, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1078012799)), TestDate2( 59, 59, 23, 28, 2, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1078012800)), TestDate2( 0, 0, 0, 29, 2, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1078012820)), TestDate2( 20, 0, 0, 29, 2, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1078099199)), TestDate2( 59, 59, 23, 29, 2, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1078099200)), TestDate2( 0, 0, 0, 1, 3, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1078099230)), TestDate2( 30, 0, 0, 1, 3, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1078185599)), TestDate2( 59, 59, 23, 1, 3, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1096588800)), TestDate2( 0, 0, 0, 1, 10, 2004 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1413064016)), TestDate2( 56, 46, 21, 11, 10, 2014 )); - VERIFY_EQUAL(mpt::Date::UnixAsUTC(mpt::Date::UnixFromSeconds( 1413064100)), TestDate2( 20, 48, 21, 11, 10, 2014 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 0)), TestDate2( 0, 0, 0, 1, 1, 1970 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 3600)), TestDate2( 0, 0, 1, 1, 1, 1970 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 86400)), TestDate2( 0, 0, 0, 2, 1, 1970 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 31536000)), TestDate2( 0, 0, 0, 1, 1, 1971 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 100000000)), TestDate2( 40, 46, 9, 3, 3, 1973 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 951782400)), TestDate2( 0, 0, 0, 29, 2, 2000 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1000000000)), TestDate2( 40, 46, 1, 9, 9, 2001 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1044057600)), TestDate2( 0, 0, 0, 1, 2, 2003 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1044144000)), TestDate2( 0, 0, 0, 2, 2, 2003 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1046476800)), TestDate2( 0, 0, 0, 1, 3, 2003 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1064966400)), TestDate2( 0, 0, 0, 1, 10, 2003 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1077926399)), TestDate2( 59, 59, 23, 27, 2, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1077926400)), TestDate2( 0, 0, 0, 28, 2, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1077926410)), TestDate2( 10, 0, 0, 28, 2, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1078012799)), TestDate2( 59, 59, 23, 28, 2, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1078012800)), TestDate2( 0, 0, 0, 29, 2, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1078012820)), TestDate2( 20, 0, 0, 29, 2, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1078099199)), TestDate2( 59, 59, 23, 29, 2, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1078099200)), TestDate2( 0, 0, 0, 1, 3, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1078099230)), TestDate2( 30, 0, 0, 1, 3, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1078185599)), TestDate2( 59, 59, 23, 1, 3, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1096588800)), TestDate2( 0, 0, 0, 1, 10, 2004 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1413064016)), TestDate2( 56, 46, 21, 11, 10, 2014 )); + VERIFY_EQUAL(mpt::Date::UTC_from_default(mpt::chrono::default_system_clock::from_unix_seconds( 1413064100)), TestDate2( 20, 48, 21, 11, 10, 2014 )); #ifdef MODPLUG_TRACKER @@ -2966,24 +2966,24 @@ #ifdef MODPLUG_TRACKER if(sndFile.GetTimezoneInternal() == mpt::Date::LogicalTimezone::UTC) { - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).year, 2011); - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).month, 6); - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).day, 14); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).year, 2011); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).month, 6); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).day, 14); #if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 21); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 21); #else #if defined(MPT_FALLBACK_TIMEZONE_WINDOWS_HISTORIC) - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 21); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 21); #elif defined(MPT_FALLBACK_TIMEZONE_WINDOWS_CURRENT) - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 21); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 21); #elif defined(MPT_FALLBACK_TIMEZONE_C) - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 22); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 22); #else - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 22); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).hours, 22); #endif #endif - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).minutes, 8); - VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::UnixAsLocal(mpt::Date::UnixFromUTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).seconds, 32); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).minutes, 8); + VERIFY_EQUAL_NONCONT(mpt::Date::forget_timezone(mpt::Date::local_from_default(mpt::Date::default_from_UTC(mpt::Date::interpret_as_timezone<mpt::Date::LogicalTimezone::UTC>(fh.loadDate)))).seconds, 32); } else #endif // MODPLUG_TRACKER { |
From: <sv...@op...> - 2025-06-20 16:04:16
|
Author: manx Date: Fri Jun 20 18:04:04 2025 New Revision: 23575 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23575 Log: [Ref] mptTime: Remove unneeded try block. Modified: trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 17:52:35 2025 (r23574) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 18:04:04 2025 (r23575) @@ -228,13 +228,7 @@ inline Unix UnixFromNanoseconds(int64 nanoseconds) { - try - { - return std::chrono::system_clock::time_point{std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{nanoseconds})}; - } catch(const std::exception &) - { - return mpt::Date::UnixFromSeconds(mpt::Date::nochrono::UnixAsSeconds(mpt::Date::nochrono::UnixFromNanoseconds(nanoseconds))); - } + return std::chrono::system_clock::time_point{std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{nanoseconds})}; } inline mpt::Date::Unix UnixFromUTC(UTC utc) |
From: <sv...@op...> - 2025-06-20 15:52:47
|
Author: manx Date: Fri Jun 20 17:52:35 2025 New Revision: 23574 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23574 Log: [Ref] mptTime: Improve precision of fallback conversions when std::chrono is not behaving. Modified: trunk/OpenMPT/common/mptTime.cpp trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/common/mptTime.cpp ============================================================================== --- trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 16:58:34 2025 (r23573) +++ trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 17:52:35 2025 (r23574) @@ -138,7 +138,7 @@ ULARGE_INTEGER time_value{}; time_value.LowPart = ft.dwLowDateTime; time_value.HighPart = ft.dwHighDateTime; - return UnixFromSeconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) / 10000000LL)); + return UnixFromNanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); } catch(const tz_error &) { // nothing @@ -168,7 +168,7 @@ ULARGE_INTEGER time_value{}; time_value.LowPart = ft.dwLowDateTime; time_value.HighPart = ft.dwHighDateTime; - return UnixFromSeconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) / 10000000LL)); + return UnixFromNanoseconds(static_cast<int64>((time_value.QuadPart - 116444736000000000LL) * 100LL)); } catch(const tz_error &) { // nothing @@ -196,7 +196,7 @@ throw tz_error{}; } ULARGE_INTEGER time_value{}; - time_value.QuadPart = static_cast<int64>(UnixAsSeconds(tp)) * 10000000LL + 116444736000000000LL; + time_value.QuadPart = (static_cast<int64>(UnixAsNanoseconds(tp)) / 100LL) + 116444736000000000LL; FILETIME ft{}; ft.dwLowDateTime = time_value.LowPart; ft.dwHighDateTime = time_value.HighPart; @@ -233,7 +233,7 @@ try { ULARGE_INTEGER time_value{}; - time_value.QuadPart = static_cast<int64>(UnixAsSeconds(tp)) * 10000000LL + 116444736000000000LL; + time_value.QuadPart = (static_cast<int64>(UnixAsNanoseconds(tp)) / 100LL) + 116444736000000000LL; FILETIME ft{}; ft.dwLowDateTime = time_value.LowPart; ft.dwHighDateTime = time_value.HighPart; Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 16:58:34 2025 (r23573) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 17:52:35 2025 (r23574) @@ -253,7 +253,7 @@ std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{ utc.nanoseconds })}; } catch(const std::exception &) { - return mpt::Date::UnixFromSeconds(mpt::Date::nochrono::UnixAsSeconds(mpt::Date::nochrono::UnixFromUTC(utc))); + return mpt::Date::UnixFromNanoseconds(mpt::Date::nochrono::UnixAsNanoseconds(mpt::Date::nochrono::UnixFromUTC(utc))); } } @@ -275,7 +275,7 @@ return result; } catch(const std::exception &) { - return mpt::Date::nochrono::UnixAsUTC(mpt::Date::nochrono::UnixFromSeconds(mpt::Date::UnixAsSeconds(tp))); + return mpt::Date::nochrono::UnixAsUTC(mpt::Date::nochrono::UnixFromNanoseconds(mpt::Date::UnixAsNanoseconds(tp))); } } @@ -304,7 +304,7 @@ } catch(const std::exception &) #endif { - return mpt::Date::UnixFromSeconds(mpt::Date::nochrono::UnixAsSeconds(mpt::Date::nochrono::UnixFromLocal(local))); + return mpt::Date::UnixFromNanoseconds(mpt::Date::nochrono::UnixAsNanoseconds(mpt::Date::nochrono::UnixFromLocal(local))); } } @@ -329,7 +329,7 @@ } catch(const std::exception &) #endif { - return mpt::Date::nochrono::UnixAsLocal(mpt::Date::nochrono::UnixFromSeconds(mpt::Date::UnixAsSeconds(tp))); + return mpt::Date::nochrono::UnixAsLocal(mpt::Date::nochrono::UnixFromNanoseconds(mpt::Date::UnixAsNanoseconds(tp))); } } |
From: <sv...@op...> - 2025-06-20 14:58:45
|
Author: manx Date: Fri Jun 20 16:58:34 2025 New Revision: 23573 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23573 Log: [Fix] mptTime: Fix C++17 build. Broken since r23571. Modified: trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 16:57:52 2025 (r23572) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 16:58:34 2025 (r23573) @@ -163,7 +163,7 @@ inline Unix UnixNow() { - return Unix{static_cast<int64>(std::time(nullptr))}; + return Unix{static_cast<int64>(std::time(nullptr)), static_cast<int32>(0)}; } #endif |
From: <sv...@op...> - 2025-06-20 14:58:03
|
Author: manx Date: Fri Jun 20 16:57:52 2025 New Revision: 23572 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23572 Log: [Ref] mptTime: Remove unused include. Modified: trunk/OpenMPT/common/mptTime.cpp Modified: trunk/OpenMPT/common/mptTime.cpp ============================================================================== --- trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 15:42:50 2025 (r23571) +++ trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 16:57:52 2025 (r23572) @@ -15,8 +15,6 @@ #include "mpt/osinfo/windows_wine_version.hpp" #endif // MODPLUG_TRACKER && MPT_OS_WINDOWS -#include "mptStringBuffer.h" - #if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) #include <chrono> #endif |
From: <sv...@op...> - 2025-06-20 13:43:03
|
Author: manx Date: Fri Jun 20 15:42:50 2025 New Revision: 23571 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23571 Log: [Ref] mptTime: Improve mpt::Date::Unix to 1ns internal precision (Windows only provides 100ns, but we normalize across all systems). [Ref] mptTime: Improve mpt::Date::Gregorian to 1ns internal precision. [Ref] mptTime: Add mpt::Date::ToISO8601() which prints full nanoseconds precision. [Ref] Logging: Use mpt::Date::Unix everywhere and avoid Windows-specific mpt::Date::ANSI. [Ref] mptTime: Remove mpt::Date::ANSI. Modified: trunk/OpenMPT/common/Logging.cpp trunk/OpenMPT/common/mptTime.cpp trunk/OpenMPT/common/mptTime.h Modified: trunk/OpenMPT/common/Logging.cpp ============================================================================== --- trunk/OpenMPT/common/Logging.cpp Fri Jun 20 15:39:58 2025 (r23570) +++ trunk/OpenMPT/common/Logging.cpp Fri Jun 20 15:42:50 2025 (r23571) @@ -125,9 +125,10 @@ #if defined(MODPLUG_TRACKER) && !defined(MPT_BUILD_WINESUPPORT) #if MPT_OS_WINDOWS static uint64 s_lastlogtime = 0; - uint64 cur = mpt::Date::ANSI::Now(); - uint64 diff = cur/10000 - s_lastlogtime; - s_lastlogtime = cur/10000; + mpt::Date::Unix cur = mpt::Date::UnixNow(); + int64 cur_ms = mpt::Date::UnixAsNanoseconds(cur) / 1'000'000; + uint64 diff = cur_ms - s_lastlogtime; + s_lastlogtime = cur_ms ; #else uint64 cur = 0; uint64 diff = 0; @@ -142,7 +143,7 @@ if(s_logfile) { mpt::IO::WriteText(*s_logfile, mpt::transcode<std::string>(mpt::logfile_encoding, MPT_UFORMAT("{}+{} {}({}): {} [{}]\n") - ( mpt::Date::ANSI::ToUString(cur) + ( mpt::Date::ToISO8601(mpt::Date::UnixAsUTC(cur)) , mpt::ufmt::right(6, mpt::ufmt::dec(diff)) , file , line @@ -319,7 +320,8 @@ LARGE_INTEGER qpcNow; qpcNow.QuadPart = 0; QueryPerformanceCounter(&qpcNow); - uint64 ftNow = mpt::Date::ANSI::Now(); + mpt::Date::Unix time_unix = mpt::Date::UnixNow(); + uint64 time_unix_ns = mpt::Date::UnixAsNanoseconds(time_unix); // sort according to index in case of overflows std::stable_sort(Entries.begin(), Entries.end()); @@ -338,7 +340,7 @@ qpcValid = true; } - f << "Dump: " << mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ANSI::ToUString(ftNow)) << std::endl; + f << "Dump: " << mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ToISO8601(mpt::Date::UnixAsUTC(time_unix))) << std::endl; f << "Captured events: " << Entries.size() << std::endl; if(qpcValid && (Entries.size() > 0)) { @@ -355,7 +357,7 @@ std::string time; if(qpcValid) { - time = mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ANSI::ToUString( ftNow - static_cast<int64>( static_cast<double>(qpcNow.QuadPart - entry.Timestamp) * (10000000.0 / static_cast<double>(qpcFreq.QuadPart) ) ) ) ); + time = mpt::transcode<std::string>(mpt::logfile_encoding, mpt::Date::ToISO8601( mpt::Date::UnixAsUTC( mpt::Date::UnixFromNanoseconds( time_unix_ns - static_cast<int64>( static_cast<double>(qpcNow.QuadPart - entry.Timestamp) * (1'000'000'000.0 / static_cast<double>(qpcFreq.QuadPart) ) ) ) ) ) ); } else { time = MPT_AFORMAT("0x{}")(mpt::afmt::hex0<16>(entry.Timestamp)); Modified: trunk/OpenMPT/common/mptTime.cpp ============================================================================== --- trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 15:39:58 2025 (r23570) +++ trunk/OpenMPT/common/mptTime.cpp Fri Jun 20 15:42:50 2025 (r23571) @@ -21,10 +21,6 @@ #include <chrono> #endif -#if defined(MODPLUG_TRACKER) && MPT_OS_WINDOWS -#include <optional> -#endif // MODPLUG_TRACKER && MPT_OS_WINDOWS - #if defined(MPT_FALLBACK_TIMEZONE_C) #include <ctime> #endif // MPT_FALLBACK_TIMEZONE_C @@ -44,62 +40,6 @@ -#if defined(MODPLUG_TRACKER) - -#if MPT_OS_WINDOWS - -namespace ANSI -{ - -uint64 Now() -{ - FILETIME filetime; -#if MPT_WIN_AT_LEAST(MPT_WIN_8) - GetSystemTimePreciseAsFileTime(&filetime); -#else - GetSystemTimeAsFileTime(&filetime); -#endif - return ((uint64)filetime.dwHighDateTime << 32 | filetime.dwLowDateTime); -} - -mpt::ustring ToUString(uint64 time100ns) -{ - constexpr std::size_t bufsize = 256; - - mpt::ustring result; - - FILETIME filetime; - SYSTEMTIME systime; - filetime.dwHighDateTime = (DWORD)(((uint64)time100ns) >> 32); - filetime.dwLowDateTime = (DWORD)((uint64)time100ns); - FileTimeToSystemTime(&filetime, &systime); - - TCHAR buf[bufsize]; - - GetDateFormat(LOCALE_SYSTEM_DEFAULT, 0, &systime, TEXT("yyyy-MM-dd"), buf, bufsize); - result.append(mpt::ToUnicode(mpt::String::ReadWinBuf(buf))); - - result.append(U_(" ")); - - GetTimeFormat(LOCALE_SYSTEM_DEFAULT, TIME_FORCE24HOURFORMAT, &systime, TEXT("HH:mm:ss"), buf, bufsize); - result.append(mpt::ToUnicode(mpt::String::ReadWinBuf(buf))); - - result.append(U_(".")); - - result.append(mpt::ufmt::dec0<3>((unsigned)systime.wMilliseconds)); - - return result; - -} - -} // namespace ANSI - -#endif // MPT_OS_WINDOWS - -#endif // MODPLUG_TRACKER - - - namespace nochrono { @@ -137,12 +77,12 @@ { int32 daynum = ToDaynum(timeUtc.year, timeUtc.month, timeUtc.day); int64 seconds = static_cast<int64>(daynum - ToDaynum(1970, 1, 1)) * 24 * 60 * 60 + timeUtc.hours * 60 * 60 + timeUtc.minutes * 60 + timeUtc.seconds; - return Unix{seconds}; + return Unix{seconds, timeUtc.nanoseconds}; } UTC UnixAsUTC(Unix tp) { - int64 tmp = tp.value; + int64 tmp = tp.seconds; int64 seconds = tmp % 60; tmp /= 60; int64 minutes = tmp % 60; tmp /= 60; int64 hours = tmp % 24; tmp /= 24; @@ -154,7 +94,8 @@ result.day = day; result.hours = static_cast<int32>(hours); result.minutes = static_cast<int32>(minutes); - result.seconds = seconds; + result.seconds = static_cast<int32>(seconds); + result.nanoseconds = tp.nanoseconds; return result; } @@ -180,7 +121,7 @@ sys_local.wHour = static_cast<uint16>(timeLocal.hours); sys_local.wMinute = static_cast<uint16>(timeLocal.minutes); sys_local.wSecond = static_cast<uint16>(timeLocal.seconds); - sys_local.wMilliseconds = 0; + sys_local.wMilliseconds = static_cast<uint16>(timeLocal.nanoseconds / 1'000'000); DYNAMIC_TIME_ZONE_INFORMATION dtzi{}; if(GetDynamicTimeZoneInformation(&dtzi) == TIME_ZONE_ID_INVALID) // WinVista { @@ -215,7 +156,7 @@ sys_local.wHour = static_cast<uint16>(timeLocal.hours); sys_local.wMinute = static_cast<uint16>(timeLocal.minutes); sys_local.wSecond = static_cast<uint16>(timeLocal.seconds); - sys_local.wMilliseconds = 0; + sys_local.wMilliseconds = static_cast<uint16>(timeLocal.nanoseconds / 1'000'000); SYSTEMTIME sys_utc{}; if(TzSpecificLocalTimeToSystemTime(NULL, &sys_local, &sys_utc) == FALSE) // WinXP { @@ -283,6 +224,7 @@ result.hours = sys_local.wHour; result.minutes = sys_local.wMinute; result.seconds = sys_local.wSecond; + result.nanoseconds = static_cast<int32>(sys_local.wMilliseconds) * 1'000'000; return result; } catch(const tz_error&) { @@ -314,6 +256,7 @@ result.hours = sys_local.wHour; result.minutes = sys_local.wMinute; result.seconds = sys_local.wSecond; + result.nanoseconds = static_cast<int32>(sys_local.wMilliseconds) * 1'000'000; return result; } catch(const tz_error&) { @@ -335,6 +278,7 @@ result.hours = local.tm_hour; result.minutes = local.tm_min; result.seconds = local.tm_sec; + result.nanoseconds = 0; return result; #endif } @@ -344,7 +288,7 @@ } // namespace nochrono template <LogicalTimezone TZ> -static mpt::ustring ToShortenedISO8601Impl(mpt::Date::Gregorian<TZ> date) +static mpt::ustring ToISO8601Impl(mpt::Date::Gregorian<TZ> date, bool shorten) { mpt::ustring result; mpt::ustring tz; @@ -358,42 +302,64 @@ { tz = U_(""); } - if(date.year == 0) + if(shorten && (date.year == 0)) { return result; } result += mpt::ufmt::dec0<4>(date.year); result += U_("-") + mpt::ufmt::dec0<2>(date.month); result += U_("-") + mpt::ufmt::dec0<2>(date.day); - if(date.hours == 0 && date.minutes == 0 && date.seconds) + if(shorten && (date.hours == 0 && date.minutes == 0 && date.seconds)) { return result; } result += U_("T"); result += mpt::ufmt::dec0<2>(date.hours) + U_(":") + mpt::ufmt::dec0<2>(date.minutes); - if(date.seconds == 0) + if(shorten && (date.seconds == 0)) { return result + tz; } result += U_(":") + mpt::ufmt::dec0<2>(date.seconds); + if(shorten) + { + return result + tz; + } + result += U_(".") + mpt::ufmt::dec0<9>(date.nanoseconds); result += tz; return result; } mpt::ustring ToShortenedISO8601(mpt::Date::AnyGregorian date) { - return ToShortenedISO8601Impl(date); + return ToISO8601Impl(date, true); } mpt::ustring ToShortenedISO8601(mpt::Date::UTC date) { - return ToShortenedISO8601Impl(date); + return ToISO8601Impl(date, true); } #ifdef MODPLUG_TRACKER mpt::ustring ToShortenedISO8601(Local date) { - return ToShortenedISO8601Impl(date); + return ToISO8601Impl(date, true); +} +#endif // MODPLUG_TRACKER + +mpt::ustring ToISO8601(mpt::Date::AnyGregorian date) +{ + return ToISO8601Impl(date, false); +} + +mpt::ustring ToISO8601(mpt::Date::UTC date) +{ + return ToISO8601Impl(date, false); +} + +#ifdef MODPLUG_TRACKER +mpt::ustring ToISO8601(Local date) +{ + return ToISO8601Impl(date, false); } #endif // MODPLUG_TRACKER Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Fri Jun 20 15:39:58 2025 (r23570) +++ trunk/OpenMPT/common/mptTime.h Fri Jun 20 15:42:50 2025 (r23571) @@ -69,26 +69,6 @@ -#if defined(MODPLUG_TRACKER) - -#if MPT_OS_WINDOWS - -namespace ANSI -{ -// uint64 counts 100ns since 1601-01-01T00:00Z - -uint64 Now(); - -mpt::ustring ToUString(uint64 time100ns); // i.e. 2015-01-15 18:32:01.718 - -} // namespacee ANSI - -#endif // MPT_OS_WINDOWS - -#endif // MODPLUG_TRACKER - - - enum class LogicalTimezone { Unspecified, @@ -101,26 +81,27 @@ template <LogicalTimezone tz> struct Gregorian { - int year = 0; - unsigned int month = 0; - unsigned int day = 0; - int32 hours = 0; - int32 minutes = 0; - int64 seconds = 0; + int year = 0; + unsigned int month = 0; + unsigned int day = 0; + int32 hours = 0; + int32 minutes = 0; + int32 seconds = 0; + int32 nanoseconds = 0; friend bool operator==(const Gregorian<tz>& lhs, const Gregorian<tz>& rhs) { - return std::tie(lhs.year, lhs.month, lhs.day, lhs.hours, lhs.minutes, lhs.seconds) - == std::tie(rhs.year, rhs.month, rhs.day, rhs.hours, rhs.minutes, rhs.seconds); + return std::tie(lhs.year, lhs.month, lhs.day, lhs.hours, lhs.minutes, lhs.seconds, lhs.nanoseconds) + == std::tie(rhs.year, rhs.month, rhs.day, rhs.hours, rhs.minutes, rhs.seconds, rhs.nanoseconds); } friend bool operator!=(const Gregorian<tz>& lhs, const Gregorian<tz>& rhs) { - return std::tie(lhs.year, lhs.month, lhs.day, lhs.hours, lhs.minutes, lhs.seconds) - != std::tie(rhs.year, rhs.month, rhs.day, rhs.hours, rhs.minutes, rhs.seconds); + return std::tie(lhs.year, lhs.month, lhs.day, lhs.hours, lhs.minutes, lhs.seconds, lhs.nanoseconds) + != std::tie(rhs.year, rhs.month, rhs.day, rhs.hours, rhs.minutes, rhs.seconds, rhs.nanoseconds); } friend bool operator<(const Gregorian<tz> &lhs, const Gregorian<tz> &rhs) { - return std::tie(lhs.year, lhs.month, lhs.day, lhs.hours, lhs.minutes, lhs.seconds) - < std::tie(rhs.year, rhs.month, rhs.day, rhs.hours, rhs.minutes, rhs.seconds); + return std::tie(lhs.year, lhs.month, lhs.day, lhs.hours, lhs.minutes, lhs.seconds, lhs.nanoseconds) + < std::tie(rhs.year, rhs.month, rhs.day, rhs.hours, rhs.minutes, rhs.seconds, rhs.nanoseconds); } }; @@ -142,6 +123,7 @@ result.hours = gregorian.hours; result.minutes = gregorian.minutes; result.seconds = gregorian.seconds; + result.nanoseconds = gregorian.nanoseconds; return result; } @@ -155,6 +137,7 @@ result.hours = gregorian.hours; result.minutes = gregorian.minutes; result.seconds = gregorian.seconds; + result.nanoseconds = gregorian.nanoseconds; return result; } @@ -164,14 +147,15 @@ // int64 counts 1s since 1970-01-01T00:00Z struct Unix { - int64 value{}; + int64 seconds{}; + int32 nanoseconds{}; friend bool operator==(const Unix &a, const Unix &b) { - return a.value == b.value; + return a.seconds == b.seconds && a.nanoseconds == b.nanoseconds; } friend bool operator!=(const Unix &a, const Unix &b) { - return a.value != b.value; + return a.seconds != b.seconds || a.nanoseconds != b.nanoseconds; } }; @@ -186,12 +170,22 @@ inline int64 UnixAsSeconds(Unix tp) { - return tp.value; + return tp.seconds; +} + +inline int64 UnixAsNanoseconds(Unix tp) +{ + return (tp.seconds * 1'000'000'000) + tp.nanoseconds; } inline Unix UnixFromSeconds(int64 seconds) { - return Unix{seconds}; + return Unix{static_cast<int64>(seconds), static_cast<int32>(0)}; +} + +inline Unix UnixFromNanoseconds(int64 nanoseconds) +{ + return Unix{static_cast<int64>(nanoseconds / 1'000'000'000ll), static_cast<int32>(nanoseconds % 1'000'000'000ll)}; } Unix UnixFromUTC(UTC timeUtc); @@ -222,11 +216,27 @@ return std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch()).count(); } +inline int64 UnixAsNanoseconds(Unix tp) +{ + return std::chrono::duration_cast<std::chrono::nanoseconds>(tp.time_since_epoch()).count(); +} + inline Unix UnixFromSeconds(int64 seconds) { return std::chrono::system_clock::time_point{std::chrono::seconds{seconds}}; } +inline Unix UnixFromNanoseconds(int64 nanoseconds) +{ + try + { + return std::chrono::system_clock::time_point{std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{nanoseconds})}; + } catch(const std::exception &) + { + return mpt::Date::UnixFromSeconds(mpt::Date::nochrono::UnixAsSeconds(mpt::Date::nochrono::UnixFromNanoseconds(nanoseconds))); + } +} + inline mpt::Date::Unix UnixFromUTC(UTC utc) { try @@ -239,7 +249,8 @@ } + std::chrono::hours{ utc.hours } + std::chrono::minutes{ utc.minutes } + - std::chrono::seconds{ utc.seconds }}; + std::chrono::seconds{ utc.seconds } + + std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{ utc.nanoseconds })}; } catch(const std::exception &) { return mpt::Date::UnixFromSeconds(mpt::Date::nochrono::UnixAsSeconds(mpt::Date::nochrono::UnixFromUTC(utc))); @@ -259,7 +270,8 @@ result.day = static_cast<unsigned int>(ymd.day()); result.hours = static_cast<int32>(hms.hours().count()); result.minutes = static_cast<int32>(hms.minutes().count()); - result.seconds = static_cast<int64>(hms.seconds().count()); + result.seconds = static_cast<int32>(hms.seconds().count()); + result.nanoseconds = static_cast<int32>(std::chrono::duration_cast<std::chrono::nanoseconds>(hms.subseconds()).count()); return result; } catch(const std::exception &) { @@ -274,7 +286,7 @@ #if !defined(MPT_LIBCXX_QUIRK_CHRONO_DATE_NO_ZONED_TIME) try { - std::chrono::time_point<std::chrono::local_t, std::chrono::seconds> local_tp = + std::chrono::time_point<std::chrono::local_t, std::chrono::system_clock::duration> local_tp = std::chrono::local_days { std::chrono::year{ local.year } / std::chrono::month{ local.month } / @@ -282,7 +294,8 @@ } + std::chrono::hours{ local.hours } + std::chrono::minutes{ local.minutes } + - std::chrono::seconds{ local.seconds }; + std::chrono::seconds{ local.seconds } + + std::chrono::duration_cast<std::chrono::system_clock::duration>(std::chrono::nanoseconds{ local.nanoseconds }); #if defined(MPT_LIBCXX_QUIRK_CHRONO_DATE_BROKEN_ZONED_TIME) return std::chrono::zoned_time{std::chrono::current_zone(), std::chrono::current_zone()->to_sys(local_tp)}.get_sys_time(); #else @@ -310,7 +323,8 @@ result.day = static_cast<unsigned int>(ymd.day()); result.hours = static_cast<int32>(hms.hours().count()); result.minutes = static_cast<int32>(hms.minutes().count()); - result.seconds = static_cast<int64>(hms.seconds().count()); + result.seconds = static_cast<int32>(hms.seconds().count()); + result.nanoseconds = static_cast<int32>(std::chrono::duration_cast<std::chrono::nanoseconds>(hms.subseconds()).count()); return result; } catch(const std::exception &) #endif @@ -327,7 +341,9 @@ using nochrono::UnixNow; using nochrono::UnixAsSeconds; +using nochrono::UnixAsNanoseconds; using nochrono::UnixFromSeconds; +using nochrono::UnixFromNanoseconds; using nochrono::UnixFromUTC; using nochrono::UnixAsUTC; @@ -349,6 +365,14 @@ mpt::ustring ToShortenedISO8601(Local date); // i.e. 2015-01-15T18:32:01 #endif // MODPLUG_TRACKER +mpt::ustring ToISO8601(AnyGregorian date); + +mpt::ustring ToISO8601(UTC date); + +#ifdef MODPLUG_TRACKER +mpt::ustring ToISO8601(Local date); +#endif // MODPLUG_TRACKER + } // namespace Date } // namespace mpt |
From: <sv...@op...> - 2025-06-20 13:40:12
|
Author: sagamusix Date: Fri Jun 20 15:39:58 2025 New Revision: 23570 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23570 Log: [Ref] Avoid quadratic complexity when sanitizing MIDI macros. Modified: trunk/OpenMPT/mptrack/plugins/MidiInOut.cpp trunk/OpenMPT/soundlib/MIDIMacros.cpp Modified: trunk/OpenMPT/mptrack/plugins/MidiInOut.cpp ============================================================================== --- trunk/OpenMPT/mptrack/plugins/MidiInOut.cpp Fri Jun 20 13:08:58 2025 (r23569) +++ trunk/OpenMPT/mptrack/plugins/MidiInOut.cpp Fri Jun 20 15:39:58 2025 (r23570) @@ -295,8 +295,8 @@ m_parameterMacros.resize(dumpID - kMacroParamMin + 1); auto &str = m_parameterMacros[dumpID - kMacroParamMin].first; file.ReadString<mpt::String::maybeNullTerminated>(str, dumpSize); - std::string::size_type pos; - while((pos = str.find_first_not_of(" 0123456789ABCDEFabchmnopsuvxyz")) != std::string::npos) + std::string::size_type pos = 0; + while((pos = str.find_first_not_of(" 0123456789ABCDEFabchmnopsuvxyz", pos)) != std::string::npos) { str.erase(pos, 1); } Modified: trunk/OpenMPT/soundlib/MIDIMacros.cpp ============================================================================== --- trunk/OpenMPT/soundlib/MIDIMacros.cpp Fri Jun 20 13:08:58 2025 (r23569) +++ trunk/OpenMPT/soundlib/MIDIMacros.cpp Fri Jun 20 15:39:58 2025 (r23570) @@ -357,8 +357,8 @@ { std::string sanitizedMacro = *this; - std::string::size_type pos; - while((pos = sanitizedMacro.find_first_not_of("0123456789ABCDEFabchmnopsuvxyz")) != std::string::npos) + std::string::size_type pos = 0; + while((pos = sanitizedMacro.find_first_not_of("0123456789ABCDEFabchmnopsuvxyz", pos)) != std::string::npos) { sanitizedMacro.erase(pos, 1); } |
From: <sv...@op...> - 2025-06-20 11:09:10
|
Author: manx Date: Fri Jun 20 13:08:58 2025 New Revision: 23569 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23569 Log: [Ref] sounddsp: Surround: Keep calculations in float. [Ref] sounddsp: Surround: Do not #define PI. Modified: trunk/OpenMPT/sounddsp/DSP.cpp Modified: trunk/OpenMPT/sounddsp/DSP.cpp ============================================================================== --- trunk/OpenMPT/sounddsp/DSP.cpp Fri Jun 20 09:04:04 2025 (r23568) +++ trunk/OpenMPT/sounddsp/DSP.cpp Fri Jun 20 13:08:58 2025 (r23569) @@ -11,8 +11,9 @@ #include "stdafx.h" #include "DSP.h" +#include "mpt/base/numbers.hpp" #include "openmpt/soundbase/MixSample.hpp" -#include <math.h> +#include <cmath> OPENMPT_NAMESPACE_BEGIN @@ -36,8 +37,8 @@ // -#define PI 3.14159265358979323f static inline float Sgn(float x) { return (x >= 0) ? 1.0f : -1.0f; } + static void ShelfEQ(int32 scale, int32 &outA1, int32 &outB0, int32 &outB1, int32 F_c, int32 F_s, float gainDC, float gainFT, float gainPI) @@ -47,7 +48,7 @@ float alpha, beta0, beta1, rho; float wT, quad; - wT = PI * F_c / F_s; + wT = mpt::numbers::pi_v<float> * F_c / F_s; gainPI2 = gainPI * gainPI; gainFT2 = gainFT * gainFT; gainDC2 = gainDC * gainDC; @@ -59,12 +60,12 @@ if (quad != 0) { float lambda = (gainPI2 - gainDC2) / quad; - alpha = (float)(lambda - Sgn(lambda)*sqrt(lambda*lambda - 1.0f)); + alpha = lambda - Sgn(lambda)*std::sqrt(lambda*lambda - 1.0f); } beta0 = 0.5f * ((gainDC + gainPI) + (gainDC - gainPI) * alpha); beta1 = 0.5f * ((gainDC - gainPI) + (gainDC + gainPI) * alpha); - rho = (float)((sin((wT*0.5f) - (PI/4.0f))) / (sin((wT*0.5f) + (PI/4.0f)))); + rho = std::sin((wT*0.5f) - (mpt::numbers::pi_v<float>/4.0f)) / std::sin((wT*0.5f) + (mpt::numbers::pi_v<float>/4.0f)); quad = 1.0f / (1.0f + rho*alpha); |