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
(403) |
Jul
(68) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2025-04-18 13:14:28
|
Author: sagamusix Date: Fri Apr 18 15:14:05 2025 New Revision: 23142 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23142 Log: Merged revision(s) 23128-23132, 23141 from trunk/OpenMPT: [Mod] FLAC: Store a zero-length loop in WAV metadata when only a sustain loop is present, similar to how the WAV writer does it. This way, we can distinguish it from a normal sample loop. ........ [Imp] MOD: Identify modules saved with TakeTracker. ........ [Mod] MOD: The last three bytes of the Tetramed tag can vary. Check that they are present but don't verify their contents. ........ [Fix] Compile fix. ........ [Mod] Sample tab: When adjusting sample offsets after resampling, round the result and never set it to 0, as that would just recall the previous offset. Also don't do any adjustments for relative offset commands - it's an unnecessary calculation as they should stay identical. ........ [Mod] XM: Allow to use 128 channels in XM files, as MilkyTracker can write such files as well (https://bugs.openmpt.org/view.php?id=1877). ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/soundlib/Load_mod.cpp branches/OpenMPT-1.32/soundlib/SampleFormatFLAC.cpp branches/OpenMPT-1.32/soundlib/mod_specifications.cpp branches/OpenMPT-1.32/tracklib/SampleEdit.cpp Modified: branches/OpenMPT-1.32/soundlib/Load_mod.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/Load_mod.cpp Fri Apr 18 15:10:05 2025 (r23141) +++ branches/OpenMPT-1.32/soundlib/Load_mod.cpp Fri Apr 18 15:14:05 2025 (r23142) @@ -697,7 +697,10 @@ file.Seek(nextSample); } } - if(isMdKd && file.ReadArray<char, 9>() == std::array<char, 9>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11, 0x04, 0x01, 0x01}) + // XOR with 0xDF gives the message "TakeTrackered with version 0.9E!!!!!" + if(GetNumChannels() <= 16 && file.ReadMagic("\x8B\xBE\xB4\xBA\x8B\xAD\xBE\xBC\xB4\xBA\xAD\xBA\xBB\xFF\xA8\xB6\xAB\xB7\xFF\xA9\xBA\xAD\xAC\xB6\xB0\xB1\xFF\xEF\xF1\xE6\xBA\xFE\xFE\xFE\xFE\xFE")) + modMagicResult.madeWithTracker = UL_("TakeTracker"); + else if(isMdKd && file.ReadArray<char, 6>() == std::array<char, 6>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11} && file.CanRead(3)) // 3 more bytes that differ between modules and Tetramed version, purpose unknown modMagicResult.madeWithTracker = UL_("Tetramed"); } Modified: branches/OpenMPT-1.32/soundlib/SampleFormatFLAC.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/SampleFormatFLAC.cpp Fri Apr 18 15:10:05 2025 (r23141) +++ branches/OpenMPT-1.32/soundlib/SampleFormatFLAC.cpp Fri Apr 18 15:14:05 2025 (r23142) @@ -644,6 +644,11 @@ { chunk.loops[chunk.info.numLoops++].ConvertToWAV(sample.nLoopStart, sample.nLoopEnd, sample.uFlags[CHN_PINGPONGLOOP]); chunk.header.length += sizeof(WAVSampleLoop); + } else if(sample.uFlags[CHN_SUSTAINLOOP]) + { + // Invent zero-length loop to distinguish sustain loop from normal loop + chunk.loops[chunk.info.numLoops++].ConvertToWAV(0, 0, false); + chunk.header.length += sizeof(WAVSampleLoop); } const uint32 length = sizeof(RIFFChunk) + chunk.header.length; Modified: branches/OpenMPT-1.32/soundlib/mod_specifications.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/mod_specifications.cpp Fri Apr 18 15:10:05 2025 (r23141) +++ branches/OpenMPT-1.32/soundlib/mod_specifications.cpp Fri Apr 18 15:14:05 2025 (r23142) @@ -176,7 +176,7 @@ 255, // Order max. 1, // Only one order list 1, // Channel min - 127, // Channel max + 128, // Channel max 32, // Min tempo 1000, // Max tempo 1, // Min Speed Modified: branches/OpenMPT-1.32/tracklib/SampleEdit.cpp ============================================================================== --- branches/OpenMPT-1.32/tracklib/SampleEdit.cpp Fri Apr 18 15:10:05 2025 (r23141) +++ branches/OpenMPT-1.32/tracklib/SampleEdit.cpp Fri Apr 18 15:14:05 2025 (r23142) @@ -1019,15 +1019,19 @@ { sndFile.Patterns.ForEachModCommand([&](ModCommand &m) { - if(m.command != CMD_OFFSET && m.command != CMD_REVERSEOFFSET && m.command != CMD_OFFSETPERCENTAGE) + if(m.command != CMD_OFFSET && m.command != CMD_REVERSEOFFSET) + return; + // Percentage offset is unaffected + if(m.volcmd == VOLCMD_OFFSET && m.vol == 0) + return; + // Recall last parameter + if(m.param == 0) return; if(sndFile.GetSampleIndex(m.note, m.instr) != sampleIndex) return; SmpLength point = m.param * 256u; - if(m.command == CMD_OFFSETPERCENTAGE || (m.volcmd == VOLCMD_OFFSET && m.vol == 0)) - point = Util::muldivr_unsigned(point, oldLength, 65536); - else if(m.volcmd == VOLCMD_OFFSET && m.vol <= std::size(oldCues)) + if(m.volcmd == VOLCMD_OFFSET && m.vol <= oldCues.size()) point += oldCues[m.vol - 1]; if(point >= oldLength) @@ -1038,16 +1042,19 @@ point = start + Util::muldivr_unsigned(point - start, newRate, oldRate); LimitMax(point, newTotalLength); - if(m.command == CMD_OFFSETPERCENTAGE || (m.volcmd == VOLCMD_OFFSET && m.vol == 0)) - point = Util::muldivr_unsigned(point, 65536, newTotalLength); - else if(m.volcmd == VOLCMD_OFFSET && m.vol <= std::size(smp.cues)) + if(m.volcmd == VOLCMD_OFFSET && m.vol <= smp.cues.size()) point -= smp.cues[m.vol - 1]; + + ModCommand::PARAM newParam = std::max(mpt::saturate_cast<ModCommand::PARAM>((point + 128u) / 256u), ModCommand::PARAM(1)); + if(m.param == newParam) + return; + if(!patternUndoCreated) { patternUndoCreated = true; preparePatternUndoFunc(); } - m.param = mpt::saturate_cast<ModCommand::PARAM>(point / 256u); + m.param = newParam; }); } |
From: <sv...@op...> - 2025-04-18 13:10:37
|
Author: sagamusix Date: Fri Apr 18 15:10:05 2025 New Revision: 23141 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23141 Log: [Mod] XM: Allow to use 128 channels in XM files, as MilkyTracker can write such files as well (https://bugs.openmpt.org/view.php?id=1877). Modified: trunk/OpenMPT/soundlib/mod_specifications.cpp Modified: trunk/OpenMPT/soundlib/mod_specifications.cpp ============================================================================== --- trunk/OpenMPT/soundlib/mod_specifications.cpp Fri Apr 18 11:21:21 2025 (r23140) +++ trunk/OpenMPT/soundlib/mod_specifications.cpp Fri Apr 18 15:10:05 2025 (r23141) @@ -176,7 +176,7 @@ 255, // Order max. 1, // Only one order list 1, // Channel min - 127, // Channel max + 128, // Channel max 32, // Min tempo 1000, // Max tempo 1, // Min Speed |
Author: manx Date: Fri Apr 18 11:21:21 2025 New Revision: 23140 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23140 Log: Merged revision(s) 23135 from trunk/OpenMPT: [Var] Regenerate project files. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj.filters branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win7/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2022win7/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win7/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2022win7/updatesigntool.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win8/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2022win8/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win8/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2022win8/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win8/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2022win8/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win8/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2022win8/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win8/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2022win8/updatesigntool.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win81/OpenMPT-ANSI.vcxproj branches/OpenMPT-1.32/build/vs2022win81/OpenMPT-ANSI.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win81/OpenMPT-NativeSupport.vcxproj branches/OpenMPT-1.32/build/vs2022win81/OpenMPT-NativeSupport.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win81/OpenMPT-UTF8.vcxproj branches/OpenMPT-1.32/build/vs2022win81/OpenMPT-UTF8.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win81/OpenMPT.vcxproj branches/OpenMPT-1.32/build/vs2022win81/OpenMPT.vcxproj.filters branches/OpenMPT-1.32/build/vs2022win81/updatesigntool.vcxproj branches/OpenMPT-1.32/build/vs2022win81/updatesigntool.vcxproj.filters Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -703,6 +703,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -691,6 +691,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -414,6 +414,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -703,6 +703,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -691,6 +691,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2017winxpansi/updatesigntool.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -414,6 +414,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -842,6 +842,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -710,6 +710,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -459,6 +459,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -842,6 +842,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -842,6 +842,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/OpenMPT.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -724,6 +724,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2019win7/updatesigntool.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -2044,6 +2044,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -1714,6 +1714,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -459,6 +459,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -2044,6 +2044,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -2044,6 +2044,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/OpenMPT.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -1764,6 +1764,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10/updatesigntool.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -1612,6 +1612,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -1300,6 +1300,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -1612,6 +1612,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -1612,6 +1612,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/OpenMPT.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -1348,6 +1348,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win10clang/updatesigntool.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -862,6 +862,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -730,6 +730,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:21:21 2025 (r23140) @@ -459,6 +459,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-UTF8.vcxproj ============================================================================== --- branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:20:47 2025 (r23139) +++ branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:21:21 2025 (r23140) @@ -862,6 +862,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: branches/OpenMPT-1.32/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters ==========... [truncated message content] |
Author: manx Date: Fri Apr 18 11:20:47 2025 New Revision: 23139 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23139 Log: Merged revision(s) 23134 from trunk/OpenMPT: [Var] nlohmann-json: Update to v3.12.0 (2025-04-11). ........ Added: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/string_utils.hpp - copied unchanged from r23134, trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/string_utils.hpp Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/include/nlohmann-json/LICENSE.MIT branches/OpenMPT-1.32/include/nlohmann-json/OpenMPT.txt branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/adl_serializer.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/hash.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/parser.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/position_t.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/iterators/internal_iterator.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/iterators/iter_impl.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/iterators/iteration_proxy.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/iterators/iterator_traits.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/iterators/json_reverse_iterator.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/iterators/primitive_iterator.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/json_custom_base_class.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/json_pointer.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/json_ref.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/macro_scope.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/macro_unscope.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/call_std/begin.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/call_std/end.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/cpp_future.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/detected.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/identity_tag.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/is_sax.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/std_fs.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/type_traits.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/meta/void_t.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/output/binary_writer.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/output/output_adapters.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/output/serializer.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/string_concat.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/string_escape.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/value_t.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/json.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/json_fwd.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/ordered_map.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/thirdparty/hedley/hedley.hpp branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/thirdparty/hedley/hedley_undef.hpp Modified: branches/OpenMPT-1.32/include/nlohmann-json/LICENSE.MIT ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/LICENSE.MIT Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/LICENSE.MIT Fri Apr 18 11:20:47 2025 (r23139) @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2013-2022 Niels Lohmann +Copyright (c) 2013-2025 Niels Lohmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Modified: branches/OpenMPT-1.32/include/nlohmann-json/OpenMPT.txt ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/OpenMPT.txt Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/OpenMPT.txt Fri Apr 18 11:20:47 2025 (r23139) @@ -1 +1 @@ -https://github.com/nlohmann/json version 3.11.3 (2023-11-28) +https://github.com/nlohmann/json version 3.12.0 (2025-01-11) Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/adl_serializer.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/adl_serializer.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/adl_serializer.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -12,20 +12,24 @@ #ifndef JSON_SKIP_LIBRARY_VERSION_CHECK #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) - #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 11 || NLOHMANN_JSON_VERSION_PATCH != 3 + #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0 #warning "Already included a different version of the library!" #endif #endif #endif #define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) -#define NLOHMANN_JSON_VERSION_MINOR 11 // NOLINT(modernize-macro-to-enum) -#define NLOHMANN_JSON_VERSION_PATCH 3 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_MINOR 12 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_PATCH 0 // NOLINT(modernize-macro-to-enum) #ifndef JSON_DIAGNOSTICS #define JSON_DIAGNOSTICS 0 #endif +#ifndef JSON_DIAGNOSTIC_POSITIONS + #define JSON_DIAGNOSTIC_POSITIONS 0 +#endif + #ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 #endif @@ -36,6 +40,12 @@ #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS #endif +#if JSON_DIAGNOSTIC_POSITIONS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS _dp +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS +#endif + #if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp #else @@ -47,14 +57,15 @@ #endif // Construct the namespace ABI tags component -#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) json_abi ## a ## b -#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b) \ - NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) +#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) json_abi ## a ## b ## c +#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b, c) \ + NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) #define NLOHMANN_JSON_ABI_TAGS \ NLOHMANN_JSON_ABI_TAGS_CONCAT( \ NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \ - NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON) + NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON, \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS) // Construct the namespace version component #define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \ Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -13,6 +13,9 @@ #include <forward_list> // forward_list #include <iterator> // inserter, front_inserter, end #include <map> // map +#ifdef JSON_HAS_CPP_17 + #include <optional> // optional +#endif #include <string> // string #include <tuple> // tuple, make_tuple #include <type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible @@ -43,6 +46,24 @@ n = nullptr; } +#ifdef JSON_HAS_CPP_17 +#ifndef JSON_USE_IMPLICIT_CONVERSIONS +template<typename BasicJsonType, typename T> +void from_json(const BasicJsonType& j, std::optional<T>& opt) +{ + if (j.is_null()) + { + opt = std::nullopt; + } + else + { + opt.emplace(j.template get<T>()); + } +} + +#endif // JSON_USE_IMPLICIT_CONVERSIONS +#endif // JSON_HAS_CPP_17 + // overloads for basic_json template parameters template < typename BasicJsonType, typename ArithmeticType, enable_if_t < std::is_arithmetic<ArithmeticType>::value&& @@ -190,6 +211,54 @@ } } +template<typename BasicJsonType, typename T, std::size_t N1, std::size_t N2> +auto from_json(const BasicJsonType& j, T (&arr)[N1][N2]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +-> decltype(j.template get<T>(), void()) +{ + for (std::size_t i1 = 0; i1 < N1; ++i1) + { + for (std::size_t i2 = 0; i2 < N2; ++i2) + { + arr[i1][i2] = j.at(i1).at(i2).template get<T>(); + } + } +} + +template<typename BasicJsonType, typename T, std::size_t N1, std::size_t N2, std::size_t N3> +auto from_json(const BasicJsonType& j, T (&arr)[N1][N2][N3]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +-> decltype(j.template get<T>(), void()) +{ + for (std::size_t i1 = 0; i1 < N1; ++i1) + { + for (std::size_t i2 = 0; i2 < N2; ++i2) + { + for (std::size_t i3 = 0; i3 < N3; ++i3) + { + arr[i1][i2][i3] = j.at(i1).at(i2).at(i3).template get<T>(); + } + } + } +} + +template<typename BasicJsonType, typename T, std::size_t N1, std::size_t N2, std::size_t N3, std::size_t N4> +auto from_json(const BasicJsonType& j, T (&arr)[N1][N2][N3][N4]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +-> decltype(j.template get<T>(), void()) +{ + for (std::size_t i1 = 0; i1 < N1; ++i1) + { + for (std::size_t i2 = 0; i2 < N2; ++i2) + { + for (std::size_t i3 = 0; i3 < N3; ++i3) + { + for (std::size_t i4 = 0; i4 < N4; ++i4) + { + arr[i1][i2][i3][i4] = j.at(i1).at(i2).at(i3).at(i4).template get<T>(); + } + } + } + } +} + template<typename BasicJsonType> inline void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/) { @@ -275,7 +344,7 @@ template < typename BasicJsonType, typename T, std::size_t... Idx > std::array<T, sizeof...(Idx)> from_json_inplace_array_impl(BasicJsonType&& j, - identity_tag<std::array<T, sizeof...(Idx)>> /*unused*/, index_sequence<Idx...> /*unused*/) + identity_tag<std::array<T, sizeof...(Idx)>> /*unused*/, index_sequence<Idx...> /*unused*/) { return { { std::forward<BasicJsonType>(j).at(Idx).template get<T>()... } }; } @@ -379,6 +448,12 @@ return std::make_tuple(std::forward<BasicJsonType>(j).at(Idx).template get<Args>()...); } +template<typename BasicJsonType> +std::tuple<> from_json_tuple_impl_base(BasicJsonType& /*unused*/, index_sequence<> /*unused*/) +{ + return {}; +} + template < typename BasicJsonType, class A1, class A2 > std::pair<A1, A2> from_json_tuple_impl(BasicJsonType&& j, identity_tag<std::pair<A1, A2>> /*unused*/, priority_tag<0> /*unused*/) { @@ -464,7 +539,12 @@ { JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j)); } - p = *j.template get_ptr<const typename BasicJsonType::string_t*>(); + const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>(); +#ifdef JSON_HAS_CPP_20 + p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size())); +#else + p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20 +#endif } #endif Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,10 +1,10 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // // SPDX-FileCopyrightText: 2009 Florian Loitsch <https://florian.loitsch.com/> -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -239,10 +239,10 @@ // v- m- v m+ v+ const bool lower_boundary_is_closer = F == 0 && E > 1; - const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1); + const diyfp m_plus = diyfp((2 * v.f) + 1, v.e - 1); const diyfp m_minus = lower_boundary_is_closer - ? diyfp(4 * v.f - 1, v.e - 2) // (B) - : diyfp(2 * v.f - 1, v.e - 1); // (A) + ? diyfp((4 * v.f) - 1, v.e - 2) // (B) + : diyfp((2 * v.f) - 1, v.e - 1); // (A) // Determine the normalized w+ = m+. const diyfp w_plus = diyfp::normalize(m_plus); @@ -472,7 +472,7 @@ JSON_ASSERT(e >= -1500); JSON_ASSERT(e <= 1500); const int f = kAlpha - e - 1; - const int k = (f * 78913) / (1 << 18) + static_cast<int>(f > 0); + const int k = ((f * 78913) / (1 << 18)) + static_cast<int>(f > 0); const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep; JSON_ASSERT(index >= 0); @@ -950,15 +950,15 @@ } else if (k < 100) { - *buf++ = static_cast<char>('0' + k / 10); + *buf++ = static_cast<char>('0' + (k / 10)); k %= 10; *buf++ = static_cast<char>('0' + k); } else { - *buf++ = static_cast<char>('0' + k / 100); + *buf++ = static_cast<char>('0' + (k / 100)); k %= 100; - *buf++ = static_cast<char>('0' + k / 10); + *buf++ = static_cast<char>('0' + (k / 10)); k %= 10; *buf++ = static_cast<char>('0' + k); } Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,13 +1,18 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once +#include <nlohmann/detail/macro_scope.hpp> // JSON_HAS_CPP_17 +#ifdef JSON_HAS_CPP_17 + #include <optional> // optional +#endif + #include <algorithm> // copy #include <iterator> // begin, end #include <string> // string @@ -18,7 +23,6 @@ #include <vector> // vector #include <nlohmann/detail/iterators/iteration_proxy.hpp> -#include <nlohmann/detail/macro_scope.hpp> #include <nlohmann/detail/meta/cpp_future.hpp> #include <nlohmann/detail/meta/std_fs.hpp> #include <nlohmann/detail/meta/type_traits.hpp> @@ -260,6 +264,22 @@ // to_json // ///////////// +#ifdef JSON_HAS_CPP_17 +template<typename BasicJsonType, typename T, + enable_if_t<std::is_constructible<BasicJsonType, T>::value, int> = 0> +void to_json(BasicJsonType& j, const std::optional<T>& opt) +{ + if (opt.has_value()) + { + j = *opt; + } + else + { + j = nullptr; + } +} +#endif + template<typename BasicJsonType, typename T, enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0> inline void to_json(BasicJsonType& j, T b) noexcept @@ -320,7 +340,8 @@ inline void to_json(BasicJsonType& j, EnumType e) noexcept { using underlying_type = typename std::underlying_type<EnumType>::type; - external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e)); + static constexpr value_t integral_value_t = std::is_unsigned<underlying_type>::value ? value_t::number_unsigned : value_t::number_integer; + external_constructor<integral_value_t>::construct(j, static_cast<underlying_type>(e)); } #endif // JSON_DISABLE_ENUM_SERIALIZATION @@ -405,6 +426,13 @@ j = { std::get<Idx>(t)... }; } +template<typename BasicJsonType, typename Tuple> +inline void to_json_tuple_impl(BasicJsonType& j, const Tuple& /*unused*/, index_sequence<> /*unused*/) +{ + using array_t = typename BasicJsonType::array_t; + j = array_t(); +} + template<typename BasicJsonType, typename T, enable_if_t<is_constructible_tuple<BasicJsonType, T>::value, int > = 0> inline void to_json(BasicJsonType& j, const T& t) { @@ -415,7 +443,12 @@ template<typename BasicJsonType> inline void to_json(BasicJsonType& j, const std_fs::path& p) { - j = p.string(); +#ifdef JSON_HAS_CPP_20 + const std::u8string s = p.u8string(); + j = std::string(s.begin(), s.end()); +#else + j = p.u8string(); // returns std::string in C++17 +#endif } #endif Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -25,6 +25,18 @@ #include <nlohmann/detail/meta/type_traits.hpp> #include <nlohmann/detail/string_concat.hpp> +// With -Wweak-vtables, Clang will complain about the exception classes as they +// have no out-of-line virtual method definitions and their vtable will be +// emitted in every translation unit. This issue cannot be fixed with a +// header-only library as there is no implementation file to move these +// functions to. As a result, we suppress this warning here to avoid client +// code to stumble over this. See https://github.com/nlohmann/json/issues/4087 +// for a discussion. +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wweak-vtables" +#endif + NLOHMANN_JSON_NAMESPACE_BEGIN namespace detail { @@ -119,16 +131,34 @@ { return concat(a, '/', detail::escape(b)); }); - return concat('(', str, ") "); + + return concat('(', str, ") ", get_byte_positions(leaf_element)); #else - static_cast<void>(leaf_element); - return ""; + return get_byte_positions(leaf_element); #endif } private: /// an exception object as storage for error messages std::runtime_error m; +#if JSON_DIAGNOSTIC_POSITIONS + template<typename BasicJsonType> + static std::string get_byte_positions(const BasicJsonType* leaf_element) + { + if ((leaf_element->start_pos() != std::string::npos) && (leaf_element->end_pos() != std::string::npos)) + { + return concat("(bytes ", std::to_string(leaf_element->start_pos()), "-", std::to_string(leaf_element->end_pos()), ") "); + } + return ""; + } +#else + template<typename BasicJsonType> + static std::string get_byte_positions(const BasicJsonType* leaf_element) + { + static_cast<void>(leaf_element); + return ""; + } +#endif }; /// @brief exception indicating a parse error @@ -255,3 +285,7 @@ } // namespace detail NLOHMANN_JSON_NAMESPACE_END + +#if defined(__clang__) + #pragma clang diagnostic pop +#endif Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/hash.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/hash.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/hash.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -20,6 +20,9 @@ #include <string> // char_traits, string #include <utility> // make_pair, move #include <vector> // vector +#ifdef __cpp_lib_byteswap + #include <bit> //byteswap +#endif #include <nlohmann/detail/exceptions.hpp> #include <nlohmann/detail/input/input_adapters.hpp> @@ -62,7 +65,7 @@ /*! @brief deserialization of CBOR, MessagePack, and UBJSON values */ -template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType>> +template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType, InputAdapterType>> class binary_reader { using number_integer_t = typename BasicJsonType::number_integer_t; @@ -169,7 +172,7 @@ std::int32_t document_size{}; get_number<std::int32_t, true>(input_format_t::bson, document_size); - if (JSON_HEDLEY_UNLIKELY(!sax->start_object(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(detail::unknown_size()))) { return false; } @@ -325,6 +328,12 @@ return get_number<std::int64_t, true>(input_format_t::bson, value) && sax->number_integer(value); } + case 0x11: // uint64 + { + std::uint64_t value{}; + return get_number<std::uint64_t, true>(input_format_t::bson, value) && sax->number_unsigned(value); + } + default: // anything else not supported (yet) { std::array<char, 3> cr{{}}; @@ -391,7 +400,7 @@ std::int32_t document_size{}; get_number<std::int32_t, true>(input_format_t::bson, document_size); - if (JSON_HEDLEY_UNLIKELY(!sax->start_array(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(detail::unknown_size()))) { return false; } @@ -651,7 +660,7 @@ } case 0x9F: // array (indefinite length) - return get_cbor_array(static_cast<std::size_t>(-1), tag_handler); + return get_cbor_array(detail::unknown_size(), tag_handler); // map (0x00..0x17 pairs of data items follow) case 0xA0: @@ -705,7 +714,7 @@ } case 0xBF: // map (indefinite length) - return get_cbor_object(static_cast<std::size_t>(-1), tag_handler); + return get_cbor_object(detail::unknown_size(), tag_handler); case 0xC6: // tagged item case 0xC7: @@ -1093,7 +1102,7 @@ } /*! - @param[in] len the length of the array or static_cast<std::size_t>(-1) for an + @param[in] len the length of the array or detail::unknown_size() for an array of indefinite size @param[in] tag_handler how CBOR tags should be treated @return whether array creation completed @@ -1106,7 +1115,7 @@ return false; } - if (len != static_cast<std::size_t>(-1)) + if (len != detail::unknown_size()) { for (std::size_t i = 0; i < len; ++i) { @@ -1131,7 +1140,7 @@ } /*! - @param[in] len the length of the object or static_cast<std::size_t>(-1) for an + @param[in] len the length of the object or detail::unknown_size() for an object of indefinite size @param[in] tag_handler how CBOR tags should be treated @return whether object creation completed @@ -1147,7 +1156,7 @@ if (len != 0) { string_t key; - if (len != static_cast<std::size_t>(-1)) + if (len != detail::unknown_size()) { for (std::size_t i = 0; i < len; ++i) { @@ -2310,6 +2319,16 @@ case 'Z': // null return sax->null(); + case 'B': // byte + { + if (input_format != input_format_t::bjdata) + { + break; + } + std::uint8_t number{}; + return get_number(input_format, number) && sax->number_unsigned(number); + } + case 'U': { std::uint8_t number{}; @@ -2510,7 +2529,7 @@ return false; } - if (size_and_type.second == 'C') + if (size_and_type.second == 'C' || size_and_type.second == 'B') { size_and_type.second = 'U'; } @@ -2532,6 +2551,13 @@ return (sax->end_array() && sax->end_object()); } + // If BJData type marker is 'B' decode as binary + if (input_format == input_format_t::bjdata && size_and_type.first != npos && size_and_type.second == 'B') + { + binary_t result; + return get_binary(input_format, size_and_type.first, result) && sax->binary(result); + } + if (size_and_type.first != npos) { if (JSON_HEDLEY_UNLIKELY(!sax->start_array(size_and_type.first))) @@ -2565,7 +2591,7 @@ } else { - if (JSON_HEDLEY_UNLIKELY(!sax->start_array(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(detail::unknown_size()))) { return false; } @@ -2643,7 +2669,7 @@ } else { - if (JSON_HEDLEY_UNLIKELY(!sax->start_object(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(detail::unknown_size()))) { return false; } @@ -2755,6 +2781,29 @@ } /*! + @brief get_to read into a primitive type + + This function provides the interface to the used input adapter. It does + not throw in case the input reached EOF, but returns false instead + + @return bool, whether the read was successful + */ + template<class T> + bool get_to(T& dest, const input_format_t format, const char* context) + { + auto new_chars_read = ia.get_elements(&dest); + chars_read += new_chars_read; + if (JSON_HEDLEY_UNLIKELY(new_chars_read < sizeof(T))) + { + // in case of failure, advance position by 1 to report failing location + ++chars_read; + sax->parse_error(chars_read, "<end of file>", parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context), nullptr)); + return false; + } + return true; + } + + /*! @return character read from the input after ignoring all 'N' entries */ char_int_type get_ignore_noop() @@ -2768,6 +2817,28 @@ return current; } + template<class NumberType> + static void byte_swap(NumberType& number) + { + constexpr std::size_t sz = sizeof(number); +#ifdef __cpp_lib_byteswap + if constexpr (sz == 1) + { + return; + } + if constexpr(std::is_integral_v<NumberType>) + { + number = std::byteswap(number); + return; + } +#endif + auto* ptr = reinterpret_cast<std::uint8_t*>(&number); + for (std::size_t i = 0; i < sz / 2; ++i) + { + std::swap(ptr[i], ptr[sz - i - 1]); + } + } + /* @brief read a number from the input @@ -2786,29 +2857,16 @@ template<typename NumberType, bool InputIsLittleEndian = false> bool get_number(const input_format_t format, NumberType& result) { - // step 1: read input into array with system's byte order - std::array<std::uint8_t, sizeof(NumberType)> vec{}; - for (std::size_t i = 0; i < sizeof(NumberType); ++i) - { - get(); - if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "number"))) - { - return false; - } + // read in the original format - // reverse byte order prior to conversion if necessary - if (is_little_endian != (InputIsLittleEndian || format == input_format_t::bjdata)) - { - vec[sizeof(NumberType) - i - 1] = static_cast<std::uint8_t>(current); - } - else - { - vec[i] = static_cast<std::uint8_t>(current); // LCOV_EXCL_LINE - } + if (JSON_HEDLEY_UNLIKELY(!get_to(result, format, "number"))) + { + return false; + } + if (is_little_endian != (InputIsLittleEndian || format == input_format_t::bjdata)) + { + byte_swap(result); } - - // step 2: convert array into number of type T and return - std::memcpy(&result, vec.data(), sizeof(NumberType)); return true; } @@ -2947,7 +3005,7 @@ } private: - static JSON_INLINE_VARIABLE constexpr std::size_t npos = static_cast<std::size_t>(-1); + static JSON_INLINE_VARIABLE constexpr std::size_t npos = detail::unknown_size(); /// input adapter InputAdapterType ia; @@ -2973,6 +3031,7 @@ #define JSON_BINARY_READER_MAKE_BJD_TYPES_MAP_ \ make_array<bjd_type>( \ + bjd_type{'B', "byte"}, \ bjd_type{'C', "char"}, \ bjd_type{'D', "double"}, \ bjd_type{'I', "int16"}, \ Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -23,6 +23,7 @@ #include <istream> // istream #endif // JSON_NO_IO +#include <nlohmann/detail/exceptions.hpp> #include <nlohmann/detail/iterators/iterator_traits.hpp> #include <nlohmann/detail/macro_scope.hpp> #include <nlohmann/detail/meta/type_traits.hpp> @@ -67,6 +68,13 @@ return std::fgetc(m_file); } + // returns the number of characters successfully read + template<class T> + std::size_t get_elements(T* dest, std::size_t count = 1) + { + return fread(dest, 1, sizeof(T) * count, m_file); + } + private: /// the file pointer to read from std::FILE* m_file; @@ -126,6 +134,17 @@ return res; } + template<class T> + std::size_t get_elements(T* dest, std::size_t count = 1) + { + auto res = static_cast<std::size_t>(sb->sgetn(reinterpret_cast<char*>(dest), static_cast<std::streamsize>(count * sizeof(T)))); + if (JSON_HEDLEY_UNLIKELY(res < count * sizeof(T))) + { + is->clear(is->rdstate() | std::ios::eofbit); + } + return res; + } + private: /// the associated input stream std::istream* is = nullptr; @@ -157,6 +176,26 @@ return char_traits<char_type>::eof(); } + // for general iterators, we cannot really do something better than falling back to processing the range one-by-one + template<class T> + std::size_t get_elements(T* dest, std::size_t count = 1) + { + auto* ptr = reinterpret_cast<char*>(dest); + for (std::size_t read_index = 0; read_index < count * sizeof(T); ++read_index) + { + if (JSON_HEDLEY_LIKELY(current != end)) + { + ptr[read_index] = static_cast<char>(*current); + std::advance(current, 1); + } + else + { + return read_index; + } + } + return count * sizeof(T); + } + private: IteratorType current; IteratorType end; @@ -320,6 +359,13 @@ return utf8_bytes[utf8_bytes_index++]; } + // parsing binary with wchar doesn't make sense, but since the parsing mode can be runtime, we need something here + template<class T> + std::size_t get_elements(T* /*dest*/, std::size_t /*count*/ = 1) + { + JSON_THROW(parse_error::create(112, 1, "wide string type cannot be interpreted as binary data", nullptr)); + } + private: BaseInputAdapter base_adapter; @@ -416,10 +462,17 @@ return container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::create(container); } +// specialization for std::string +using string_input_adapter_type = decltype(input_adapter(std::declval<std::string>())); + #ifndef JSON_NO_IO // Special cases with fast paths inline file_input_adapter input_adapter(std::FILE* file) { + if (file == nullptr) + { + JSON_THROW(parse_error::create(101, 0, "attempting to parse an empty input; check that your input string or stream contains the expected JSON", nullptr)); + } return file_input_adapter(file); } @@ -446,9 +499,13 @@ int >::type = 0 > contiguous_bytes_input_adapter input_adapter(CharT b) { + if (b == nullptr) + { + JSON_THROW(parse_error::create(101, 0, "attempting to parse an empty input; check that your input string or stream contains the expected JSON", nullptr)); + } auto length = std::strlen(reinterpret_cast<const char*>(b)); const auto* ptr = reinterpret_cast<const char*>(b); - return input_adapter(ptr, ptr + length); + return input_adapter(ptr, ptr + length); // cppcheck-suppress[nullPointerArithmeticRedundantCheck] } template<typename T, std::size_t N> Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,22 +1,23 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once #include <cstddef> #include <string> // string +#include <type_traits> // enable_if_t #include <utility> // move #include <vector> // vector #include <nlohmann/detail/exceptions.hpp> +#include <nlohmann/detail/input/lexer.hpp> #include <nlohmann/detail/macro_scope.hpp> #include <nlohmann/detail/string_concat.hpp> - NLOHMANN_JSON_NAMESPACE_BEGIN /*! @@ -144,6 +145,11 @@ namespace detail { +constexpr std::size_t unknown_size() +{ + return (std::numeric_limits<std::size_t>::max)(); +} + /*! @brief SAX implementation to create a JSON value from SAX events @@ -157,7 +163,7 @@ @tparam BasicJsonType the JSON type */ -template<typename BasicJsonType> +template<typename BasicJsonType, typename InputAdapterType> class json_sax_dom_parser { public: @@ -166,14 +172,15 @@ using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; using binary_t = typename BasicJsonType::binary_t; + using lexer_t = lexer<BasicJsonType, InputAdapterType>; /*! @param[in,out] r reference to a JSON value that is manipulated while parsing @param[in] allow_exceptions_ whether parse errors yield exceptions */ - explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true) - : root(r), allow_exceptions(allow_exceptions_) + explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true, lexer_t* lexer_ = nullptr) + : root(r), allow_exceptions(allow_exceptions_), m_lexer_ref(lexer_) {} // make class move-only @@ -229,7 +236,18 @@ { ref_stack.push_back(handle_value(BasicJsonType::value_t::object)); - if (JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the object here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + // Lexer has read the first character of the object, so + // subtract 1 from the position to get the correct start position. + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back())); } @@ -252,6 +270,14 @@ JSON_ASSERT(!ref_stack.empty()); JSON_ASSERT(ref_stack.back()->is_object()); +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing brace, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); ref_stack.pop_back(); return true; @@ -261,7 +287,16 @@ { ref_stack.push_back(handle_value(BasicJsonType::value_t::array)); - if (JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the array here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back())); } @@ -274,6 +309,14 @@ JSON_ASSERT(!ref_stack.empty()); JSON_ASSERT(ref_stack.back()->is_array()); +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing bracket, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); ref_stack.pop_back(); return true; @@ -298,6 +341,75 @@ } private: + +#if JSON_DIAGNOSTIC_POSITIONS + void handle_diagnostic_positions_for_json_value(BasicJsonType& v) + { + if (m_lexer_ref) + { + // Lexer has read past the current field value, so set the end position to the current position. + // The start position will be set below based on the length of the string representation + // of the value. + v.end_position = m_lexer_ref->get_position(); + + switch (v.type()) + { + case value_t::boolean: + { + // 4 and 5 are the string length of "true" and "false" + v.start_position = v.end_position - (v.m_data.m_value.boolean ? 4 : 5); + break; + } + + case value_t::null: + { + // 4 is the string length of "null" + v.start_position = v.end_position - 4; + break; + } + + case value_t::string: + { + // include the length of the quotes, which is 2 + v.start_position = v.end_position - v.m_data.m_value.string->size() - 2; + break; + } + + // As we handle the start and end positions for values created during parsing, + // we do not expect the following value type to be called. Regardless, set the positions + // in case this is created manually or through a different constructor. Exclude from lcov + // since the exact condition of this switch is esoteric. + // LCOV_EXCL_START + case value_t::discarded: + { + v.end_position = std::string::npos; + v.start_position = v.end_position; + break; + } + // LCOV_EXCL_STOP + case value_t::binary: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + { + v.start_position = v.end_position - m_lexer_ref->get_string().size(); + break; + } + case value_t::object: + case value_t::array: + { + // object and array are handled in start_object() and start_array() handlers + // skip setting the values here. + break; + } + default: // LCOV_EXCL_LINE + // Handle all possible types discretely, default handler should never be reached. + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert,-warnings-as-errors) LCOV_EXCL_LINE + } + } + } +#endif + /*! @invariant If the ref stack is empty, then the passed value will be the new root. @@ -311,6 +423,11 @@ if (ref_stack.empty()) { root = BasicJsonType(std::forward<Value>(v)); + +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(root); +#endif + return &root; } @@ -319,12 +436,22 @@ if (ref_stack.back()->is_array()) { ref_stack.back()->m_data.m_value.array->emplace_back(std::forward<Value>(v)); + +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(ref_stack.back()->m_data.m_value.array->back()); +#endif + return &(ref_stack.back()->m_data.m_value.array->back()); } JSON_ASSERT(ref_stack.back()->is_object()); JSON_ASSERT(object_element); *object_element = BasicJsonType(std::forward<Value>(v)); + +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(*object_element); +#endif + return object_element; } @@ -338,9 +465,11 @@ bool errored = false; /// whether to throw exceptions in case of errors const bool allow_exceptions = true; + /// the lexer reference to obtain the current position + lexer_t* m_lexer_ref = nullptr; }; -template<typename BasicJsonType> +template<typename BasicJsonType, typename InputAdapterType> class json_sax_dom_callback_parser { public: @@ -351,11 +480,13 @@ using binary_t = typename BasicJsonType::binary_t; using parser_callback_t = typename BasicJsonType::parser_callback_t; using parse_event_t = typename BasicJsonType::parse_event_t; + using lexer_t = lexer<BasicJsonType, InputAdapterType>; json_sax_dom_callback_parser(BasicJsonType& r, - const parser_callback_t cb, - const bool allow_exceptions_ = true) - : root(r), callback(cb), allow_exceptions(allow_exceptions_) + parser_callback_t cb, + const bool allow_exceptions_ = true, + lexer_t* lexer_ = nullptr) + : root(r), callback(std::move(cb)), allow_exceptions(allow_exceptions_), m_lexer_ref(lexer_) { keep_stack.push_back(true); } @@ -418,12 +549,26 @@ auto val = handle_value(BasicJsonType::value_t::object, true); ref_stack.push_back(val.second); - // check object limit - if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) + if (ref_stack.back()) { - JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back())); - } +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the object here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + // Lexer has read the first character of the object, so + // subtract 1 from the position to get the correct start position. + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + // check object limit + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back())); + } + } return true; } @@ -452,9 +597,23 @@ { // discard object *ref_stack.back() = discarded; + +#if JSON_DIAGNOSTIC_POSITIONS + // Set start/end positions for discarded object. + handle_diagnostic_positions_for_json_value(*ref_stack.back()); +#endif } else { + +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing brace, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); } } @@ -488,10 +647,25 @@ auto val = handle_value(BasicJsonType::value_t::array, true); ref_stack.push_back(val.second); - // check array limit - if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) + if (ref_stack.back()) { - JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back())); + +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the array here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + // Lexer has read the first character of the array, so + // subtract 1 from the position to get the correct start position. + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + // check array limit + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back())); + } } return true; @@ -506,12 +680,26 @@ keep = callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back()); if (keep) { + +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing bracket, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); } else { // discard array *ref_stack.back() = discarded; + +#if JSON_DIAGNOSTIC_POSITIONS + // Set start/end positions for discarded array. + handle_diagnostic_positions_for_json_value(*ref_stack.back()); +#endif } } @@ -548,6 +736,71 @@ } private: + +#if JSON_DIAGNOSTIC_POSITIONS + void handle_diagnostic_positions_for_json_value(BasicJsonType& v) + { + if (m_lexer_ref) + { + // Lexer has read past the current field value, so set the end position to the current position. + // The start position will be set below based on the length of the string representation + // of the value. + v.end_position = m_lexer_ref->get_position(); + + switch (v.type()) + { + case value_t::boolean: + { + // 4 and 5 are the string length of "true" and "false" + v.start_position = v.end_position - (v.m_data.m_value.boolean ? 4 : 5); + break; + } + + case value_t::null: + { + // 4 is the string length of "null" + v.start_position = v.end_position - 4; + break; + } + + case value_t::string: + { + // include the length of the quotes, which is 2 + v.start_position = v.end_position - v.m_data.m_value.string->size() - 2; + break; + } + + case value_t::discarded: + { + v.end_position = std::string::npos; + v.start_position = v.end_position; + break; + } + + case value_t::binary: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + { + v.start_position = v.end_position - m_lexer_ref->get_string().size(); + break; + } + + case value_t::object: + case value_t::array: + { + // object and array are handled in start_object() and start_array() handlers + // skip setting the values here. + break; + } + default: // LCOV_EXCL_LINE + // Handle all possible types discretely, default handler should never be reached. + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert,-warnings-as-errors) LCOV_EXCL_LINE + } + } + } +#endif + /*! @param[in] v value to add to the JSON value we build during parsing @param[in] skip_callback whether we should skip calling the callback @@ -578,6 +831,10 @@ // create value auto value = BasicJsonType(std::forward<Value>(v)); +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(value); +#endif + // check callback const bool keep = skip_callback || callback(static_cast<int>(ref_stack.size()), parse_event_t::value, value); @@ -632,9 +889,9 @@ /// stack to model hierarchy of values std::vector<BasicJsonType*> ref_stack {}; /// stack to manage which values to keep - std::vector<bool> keep_stack {}; + std::vector<bool> keep_stack {}; // NOLINT(readability-redundant-member-init) /// stack to manage which object keys to keep - std::vector<bool> key_keep_stack {}; + std::vector<bool> key_keep_stack {}; // NOLINT(readability-redundant-member-init) /// helper to hold the reference for the next object element BasicJsonType* object_element = nullptr; /// whether a syntax error occurred @@ -645,6 +902,8 @@ const bool allow_exceptions = true; /// a discarded value for the callback BasicJsonType discarded = BasicJsonType::value_t::discarded; + /// the lexer reference to obtain the current position + lexer_t* m_lexer_ref = nullptr; }; template<typename BasicJsonType> @@ -692,7 +951,7 @@ return true; } - bool start_object(std::size_t /*unused*/ = static_cast<std::size_t>(-1)) + bool start_object(std::size_t /*unused*/ = detail::unknown_size()) { return true; } @@ -707,7 +966,7 @@ return true; } - bool start_array(std::size_t /*unused*/ = static_cast<std::size_t>(-1)) + bool start_array(std::size_t /*unused*/ = detail::unknown_size()) { return true; } Modified: branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp ============================================================================== --- branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp Fri Apr 18 11:20:18 2025 (r23138) +++ branches/OpenMPT-1.32/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp Fri Apr 18 11:20:47 2025 (r23139) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 ... [truncated message content] |
From: <sv...@op...> - 2025-04-18 09:20:40
|
Author: manx Date: Fri Apr 18 11:20:18 2025 New Revision: 23138 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23138 Log: Merged revision(s) 23133 from trunk/OpenMPT: [Ref] mpt/json/json.hpp: std::optional support is in nlohmann-json 3.12.0, but it is broken without <https://github.com/nlohmann/json/pull/4742>. Enable support only for >= 3.12.1. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/src/mpt/json/json.hpp Modified: branches/OpenMPT-1.32/src/mpt/json/json.hpp ============================================================================== --- branches/OpenMPT-1.32/src/mpt/json/json.hpp Fri Apr 18 11:18:26 2025 (r23137) +++ branches/OpenMPT-1.32/src/mpt/json/json.hpp Fri Apr 18 11:20:18 2025 (r23138) @@ -22,16 +22,11 @@ #endif // MPT_COMPILER_MSVC #endif // MPT_DETECTED_NLOHMANN_JSON -#if 0 -// The precise version when std::optional support will be included is still unknown. #if NLOHMANN_JSON_VERSION_MAJOR < 3 #define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL -#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR < 11) +#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR < 12) #define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL -#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR == 11) && (NLOHMANN_JSON_VERSION_PATCH < 4) -#define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL -#endif -#else +#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR == 12) && (NLOHMANN_JSON_VERSION_PATCH < 1) #define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL #endif |
From: <sv...@op...> - 2025-04-18 09:18:48
|
Author: manx Date: Fri Apr 18 11:18:26 2025 New Revision: 23137 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23137 Log: Merged revision(s) 23136 from trunk/OpenMPT: [Var] python: Update to v3.13.3. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/build/download_externals.cmd branches/OpenMPT-1.32/build/download_externals.txt Modified: branches/OpenMPT-1.32/build/download_externals.cmd ============================================================================== --- branches/OpenMPT-1.32/build/download_externals.cmd Fri Apr 18 11:18:06 2025 (r23136) +++ branches/OpenMPT-1.32/build/download_externals.cmd Fri Apr 18 11:18:26 2025 (r23137) @@ -47,7 +47,7 @@ call build\scriptlib\unpack.cmd "include\winamp" "build\externals\WA5.55_SDK.exe" "." || goto error call build\scriptlib\unpack.cmd "include\xmplay" "build\externals\xmp-sdk.zip" "." || goto error -call build\scriptlib\unpack.cmd "build\tools\python3" "build\externals\python-3.13.2-embed-amd64.zip" "." || goto error +call build\scriptlib\unpack.cmd "build\tools\python3" "build\externals\python-3.13.3-embed-amd64.zip" "." || goto error call :killdir "build\tools\innosetup" || goto error Modified: branches/OpenMPT-1.32/build/download_externals.txt ============================================================================== --- branches/OpenMPT-1.32/build/download_externals.txt Fri Apr 18 11:18:06 2025 (r23136) +++ branches/OpenMPT-1.32/build/download_externals.txt Fri Apr 18 11:18:26 2025 (r23137) @@ -4,7 +4,7 @@ "build/externals/WA5.55_SDK.exe" 336166 394375db8a16bf155b5de9376f6290488ab339e503dbdfdc4e2f5bede967799e625c559cca363bc988324f1a8e86e5fd28a9f697422abd7bb3dcde4a766607b5 "https://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "https://web.archive.org/web/20131217072017id_/http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "build/externals/xmp-sdk.zip" 322903 67b96c6e6aa794e9de4f446d23f969e3591457196fd100c5475f5df52308de861a0c411db54fcb2bf46a12e9136ddda9d2974a5167432a979a701ef2c4679ef9 "https://www.un4seen.com/files/xmp-sdk.zip" "build/externals/htmlhelp.exe" 3509072 d91371244ea98c691b4674ee266c4a2496a296800c176adae069d21f5c52c0763b21cc7859cfffa865b89e50171a2c99a6d14620c32f7d72c0ef04045348f856 "https://web.archive.org/web/20200918004813id_/https://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe" "https://web.archive.org/web/20200918004813id_/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe" -"build/externals/python-3.13.2-embed-amd64.zip" 10854852 a87d1d8e74efd79de42459ab18761406d398a246cddba4832f748bc3bfe3d9b8945ff4d0a29e95c770ca9a13d120c924b7ea514af6db5905e5821ace2ec53723 "https://www.python.org/ftp/python/3.13.2/python-3.13.2-embed-amd64.zip" +"build/externals/python-3.13.3-embed-amd64.zip" 10885425 03415a37049606b0d9d78c5d8b0467b704d3b3d2577c4bf7fca83baa4eb51b4951170f6050f8591bf1720f91cd53435184545a6273285ebb88524d07e230f74e "https://www.python.org/ftp/python/3.13.3/python-3.13.3-embed-amd64.zip" "build/externals/innounp050.rar" 141621 dbbc809308267a866db9d6b751fdeda6d179e1a65d8ddb14bb51984431ae91493f9a76105e1789b245732043a2c696c869ed10964b48cf59f81e55bd52f85330 "https://netcologne.dl.sourceforge.net/project/innounp/innounp/innounp 0.50/innounp050.rar" "https://deac-fra.dl.sourceforge.net/project/innounp/innounp/innounp 0.50/innounp050.rar" "build/externals/innosetup-6.4.2.exe" 6310880 ff1522e05e59a41c8705d5da072a187eb0a414b670f1538e6d2b634a6f64a2b386f95b6cefc191fecc3673b25bdf2901f547c0b6cd725d9796e214db7ac0af86 "https://files.jrsoftware.org/is/6/innosetup-6.4.2.exe" "https://files.innosetup.nl/innosetup-6.4.2.exe" "build/externals/isetup-5.5.8-unicode.exe" 2342456 da7e27d85caec85b4194c7b1412c5a64c0ae12f22d903b94f2f4ee9ea0cb99c91b2d1dbb49262eefae8129e6b91f5c46f26f353011076e77e75f9c955fc5e1cb "https://files.jrsoftware.org/is/5/isetup-5.5.8-unicode.exe" "https://web.archive.org/web/20230523165634id_/https://files.jrsoftware.org/is/5/isetup-5.5.8-unicode.exe" |
From: <sv...@op...> - 2025-04-18 09:18:33
|
Author: manx Date: Fri Apr 18 11:18:06 2025 New Revision: 23136 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23136 Log: [Var] python: Update to v3.13.3. Modified: trunk/OpenMPT/build/download_externals.cmd trunk/OpenMPT/build/download_externals.txt Modified: trunk/OpenMPT/build/download_externals.cmd ============================================================================== --- trunk/OpenMPT/build/download_externals.cmd Fri Apr 18 11:05:46 2025 (r23135) +++ trunk/OpenMPT/build/download_externals.cmd Fri Apr 18 11:18:06 2025 (r23136) @@ -47,7 +47,7 @@ call build\scriptlib\unpack.cmd "include\winamp" "build\externals\WA5.55_SDK.exe" "." || goto error call build\scriptlib\unpack.cmd "include\xmplay" "build\externals\xmp-sdk.zip" "." || goto error -call build\scriptlib\unpack.cmd "build\tools\python3" "build\externals\python-3.13.2-embed-amd64.zip" "." || goto error +call build\scriptlib\unpack.cmd "build\tools\python3" "build\externals\python-3.13.3-embed-amd64.zip" "." || goto error call :killdir "build\tools\innosetup" || goto error Modified: trunk/OpenMPT/build/download_externals.txt ============================================================================== --- trunk/OpenMPT/build/download_externals.txt Fri Apr 18 11:05:46 2025 (r23135) +++ trunk/OpenMPT/build/download_externals.txt Fri Apr 18 11:18:06 2025 (r23136) @@ -4,7 +4,7 @@ "build/externals/WA5.55_SDK.exe" 336166 394375db8a16bf155b5de9376f6290488ab339e503dbdfdc4e2f5bede967799e625c559cca363bc988324f1a8e86e5fd28a9f697422abd7bb3dcde4a766607b5 "https://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "https://web.archive.org/web/20131217072017id_/http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "build/externals/xmp-sdk.zip" 322903 67b96c6e6aa794e9de4f446d23f969e3591457196fd100c5475f5df52308de861a0c411db54fcb2bf46a12e9136ddda9d2974a5167432a979a701ef2c4679ef9 "https://www.un4seen.com/files/xmp-sdk.zip" "build/externals/htmlhelp.exe" 3509072 d91371244ea98c691b4674ee266c4a2496a296800c176adae069d21f5c52c0763b21cc7859cfffa865b89e50171a2c99a6d14620c32f7d72c0ef04045348f856 "https://web.archive.org/web/20200918004813id_/https://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe" "https://web.archive.org/web/20200918004813id_/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe" -"build/externals/python-3.13.2-embed-amd64.zip" 10854852 a87d1d8e74efd79de42459ab18761406d398a246cddba4832f748bc3bfe3d9b8945ff4d0a29e95c770ca9a13d120c924b7ea514af6db5905e5821ace2ec53723 "https://www.python.org/ftp/python/3.13.2/python-3.13.2-embed-amd64.zip" +"build/externals/python-3.13.3-embed-amd64.zip" 10885425 03415a37049606b0d9d78c5d8b0467b704d3b3d2577c4bf7fca83baa4eb51b4951170f6050f8591bf1720f91cd53435184545a6273285ebb88524d07e230f74e "https://www.python.org/ftp/python/3.13.3/python-3.13.3-embed-amd64.zip" "build/externals/innounp050.rar" 141621 dbbc809308267a866db9d6b751fdeda6d179e1a65d8ddb14bb51984431ae91493f9a76105e1789b245732043a2c696c869ed10964b48cf59f81e55bd52f85330 "https://netcologne.dl.sourceforge.net/project/innounp/innounp/innounp 0.50/innounp050.rar" "https://deac-fra.dl.sourceforge.net/project/innounp/innounp/innounp 0.50/innounp050.rar" "build/externals/innosetup-6.4.2.exe" 6310880 ff1522e05e59a41c8705d5da072a187eb0a414b670f1538e6d2b634a6f64a2b386f95b6cefc191fecc3673b25bdf2901f547c0b6cd725d9796e214db7ac0af86 "https://files.jrsoftware.org/is/6/innosetup-6.4.2.exe" "https://files.innosetup.nl/innosetup-6.4.2.exe" "build/externals/isetup-5.5.8-unicode.exe" 2342456 da7e27d85caec85b4194c7b1412c5a64c0ae12f22d903b94f2f4ee9ea0cb99c91b2d1dbb49262eefae8129e6b91f5c46f26f353011076e77e75f9c955fc5e1cb "https://files.jrsoftware.org/is/5/isetup-5.5.8-unicode.exe" "https://web.archive.org/web/20230523165634id_/https://files.jrsoftware.org/is/5/isetup-5.5.8-unicode.exe" |
From: <sv...@op...> - 2025-04-18 09:06:15
|
Author: manx Date: Fri Apr 18 11:05:46 2025 New Revision: 23135 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23135 Log: [Var] Regenerate project files. Modified: 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/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/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/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/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win10clang/updatesigntool.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/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/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/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win81/updatesigntool.vcxproj.filters Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -703,6 +703,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -691,6 +691,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxp/updatesigntool.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -414,6 +414,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -703,6 +703,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -823,6 +823,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -691,6 +691,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2017winxpansi/updatesigntool.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -414,6 +414,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -842,6 +842,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -710,6 +710,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -459,6 +459,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -842,6 +842,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -842,6 +842,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -724,6 +724,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2019win7/updatesigntool.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -2044,6 +2044,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -1714,6 +1714,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -459,6 +459,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -2044,6 +2044,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -2044,6 +2044,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -1764,6 +1764,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10/updatesigntool.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -1612,6 +1612,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -1300,6 +1300,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -1612,6 +1612,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -1612,6 +1612,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -471,6 +471,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -1348,6 +1348,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -420,6 +420,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -862,6 +862,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -730,6 +730,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-NativeSupport.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -459,6 +459,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -862,6 +862,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters Fri Apr 18 11:05:46 2025 (r23135) @@ -510,6 +510,9 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp"> + <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> + </ClInclude> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp"> <Filter>include\nlohmann-json\include\nlohmann\detail</Filter> </ClInclude> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj Fri Apr 18 11:05:17 2025 (r23134) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj Fri Apr 18 11:05:46 2025 (r23135) @@ -862,6 +862,7 @@ <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\output\serializer.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_concat.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_escape.hpp" /> + <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\string_utils.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\detail\value_t.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json.hpp" /> <ClInclude Include="..\..\include\nlohmann-json\include\nlohmann\json_fwd.hpp" /> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters Fri Apr 18 11:05:17 2025 (r23134) +++ tr... [truncated message content] |
From: <sv...@op...> - 2025-04-18 09:05:47
|
Author: manx Date: Fri Apr 18 11:05:17 2025 New Revision: 23134 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23134 Log: [Var] nlohmann-json: Update to v3.12.0 (2025-04-11). Added: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/string_utils.hpp (contents, props changed) Modified: trunk/OpenMPT/include/nlohmann-json/LICENSE.MIT trunk/OpenMPT/include/nlohmann-json/OpenMPT.txt trunk/OpenMPT/include/nlohmann-json/include/nlohmann/adl_serializer.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/hash.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/parser.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/position_t.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/iterators/internal_iterator.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/iterators/iter_impl.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/iterators/iteration_proxy.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/iterators/iterator_traits.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/iterators/json_reverse_iterator.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/iterators/primitive_iterator.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/json_custom_base_class.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/json_pointer.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/json_ref.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/macro_scope.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/macro_unscope.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/call_std/begin.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/call_std/end.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/cpp_future.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/detected.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/identity_tag.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/is_sax.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/std_fs.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/type_traits.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/meta/void_t.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/output/binary_writer.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/output/output_adapters.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/output/serializer.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/string_concat.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/string_escape.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/value_t.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/json.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/json_fwd.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/ordered_map.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/thirdparty/hedley/hedley.hpp trunk/OpenMPT/include/nlohmann-json/include/nlohmann/thirdparty/hedley/hedley_undef.hpp Modified: trunk/OpenMPT/include/nlohmann-json/LICENSE.MIT ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/LICENSE.MIT Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/LICENSE.MIT Fri Apr 18 11:05:17 2025 (r23134) @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2013-2022 Niels Lohmann +Copyright (c) 2013-2025 Niels Lohmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Modified: trunk/OpenMPT/include/nlohmann-json/OpenMPT.txt ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/OpenMPT.txt Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/OpenMPT.txt Fri Apr 18 11:05:17 2025 (r23134) @@ -1 +1 @@ -https://github.com/nlohmann/json version 3.11.3 (2023-11-28) +https://github.com/nlohmann/json version 3.12.0 (2025-01-11) Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/adl_serializer.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/adl_serializer.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/adl_serializer.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/byte_container_with_subtype.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/abi_macros.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -12,20 +12,24 @@ #ifndef JSON_SKIP_LIBRARY_VERSION_CHECK #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) - #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 11 || NLOHMANN_JSON_VERSION_PATCH != 3 + #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0 #warning "Already included a different version of the library!" #endif #endif #endif #define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) -#define NLOHMANN_JSON_VERSION_MINOR 11 // NOLINT(modernize-macro-to-enum) -#define NLOHMANN_JSON_VERSION_PATCH 3 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_MINOR 12 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_PATCH 0 // NOLINT(modernize-macro-to-enum) #ifndef JSON_DIAGNOSTICS #define JSON_DIAGNOSTICS 0 #endif +#ifndef JSON_DIAGNOSTIC_POSITIONS + #define JSON_DIAGNOSTIC_POSITIONS 0 +#endif + #ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 #endif @@ -36,6 +40,12 @@ #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS #endif +#if JSON_DIAGNOSTIC_POSITIONS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS _dp +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS +#endif + #if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp #else @@ -47,14 +57,15 @@ #endif // Construct the namespace ABI tags component -#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) json_abi ## a ## b -#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b) \ - NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) +#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) json_abi ## a ## b ## c +#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b, c) \ + NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) #define NLOHMANN_JSON_ABI_TAGS \ NLOHMANN_JSON_ABI_TAGS_CONCAT( \ NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \ - NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON) + NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON, \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS) // Construct the namespace version component #define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \ Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/from_json.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -13,6 +13,9 @@ #include <forward_list> // forward_list #include <iterator> // inserter, front_inserter, end #include <map> // map +#ifdef JSON_HAS_CPP_17 + #include <optional> // optional +#endif #include <string> // string #include <tuple> // tuple, make_tuple #include <type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible @@ -43,6 +46,24 @@ n = nullptr; } +#ifdef JSON_HAS_CPP_17 +#ifndef JSON_USE_IMPLICIT_CONVERSIONS +template<typename BasicJsonType, typename T> +void from_json(const BasicJsonType& j, std::optional<T>& opt) +{ + if (j.is_null()) + { + opt = std::nullopt; + } + else + { + opt.emplace(j.template get<T>()); + } +} + +#endif // JSON_USE_IMPLICIT_CONVERSIONS +#endif // JSON_HAS_CPP_17 + // overloads for basic_json template parameters template < typename BasicJsonType, typename ArithmeticType, enable_if_t < std::is_arithmetic<ArithmeticType>::value&& @@ -190,6 +211,54 @@ } } +template<typename BasicJsonType, typename T, std::size_t N1, std::size_t N2> +auto from_json(const BasicJsonType& j, T (&arr)[N1][N2]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +-> decltype(j.template get<T>(), void()) +{ + for (std::size_t i1 = 0; i1 < N1; ++i1) + { + for (std::size_t i2 = 0; i2 < N2; ++i2) + { + arr[i1][i2] = j.at(i1).at(i2).template get<T>(); + } + } +} + +template<typename BasicJsonType, typename T, std::size_t N1, std::size_t N2, std::size_t N3> +auto from_json(const BasicJsonType& j, T (&arr)[N1][N2][N3]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +-> decltype(j.template get<T>(), void()) +{ + for (std::size_t i1 = 0; i1 < N1; ++i1) + { + for (std::size_t i2 = 0; i2 < N2; ++i2) + { + for (std::size_t i3 = 0; i3 < N3; ++i3) + { + arr[i1][i2][i3] = j.at(i1).at(i2).at(i3).template get<T>(); + } + } + } +} + +template<typename BasicJsonType, typename T, std::size_t N1, std::size_t N2, std::size_t N3, std::size_t N4> +auto from_json(const BasicJsonType& j, T (&arr)[N1][N2][N3][N4]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +-> decltype(j.template get<T>(), void()) +{ + for (std::size_t i1 = 0; i1 < N1; ++i1) + { + for (std::size_t i2 = 0; i2 < N2; ++i2) + { + for (std::size_t i3 = 0; i3 < N3; ++i3) + { + for (std::size_t i4 = 0; i4 < N4; ++i4) + { + arr[i1][i2][i3][i4] = j.at(i1).at(i2).at(i3).at(i4).template get<T>(); + } + } + } + } +} + template<typename BasicJsonType> inline void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/) { @@ -275,7 +344,7 @@ template < typename BasicJsonType, typename T, std::size_t... Idx > std::array<T, sizeof...(Idx)> from_json_inplace_array_impl(BasicJsonType&& j, - identity_tag<std::array<T, sizeof...(Idx)>> /*unused*/, index_sequence<Idx...> /*unused*/) + identity_tag<std::array<T, sizeof...(Idx)>> /*unused*/, index_sequence<Idx...> /*unused*/) { return { { std::forward<BasicJsonType>(j).at(Idx).template get<T>()... } }; } @@ -379,6 +448,12 @@ return std::make_tuple(std::forward<BasicJsonType>(j).at(Idx).template get<Args>()...); } +template<typename BasicJsonType> +std::tuple<> from_json_tuple_impl_base(BasicJsonType& /*unused*/, index_sequence<> /*unused*/) +{ + return {}; +} + template < typename BasicJsonType, class A1, class A2 > std::pair<A1, A2> from_json_tuple_impl(BasicJsonType&& j, identity_tag<std::pair<A1, A2>> /*unused*/, priority_tag<0> /*unused*/) { @@ -464,7 +539,12 @@ { JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j)); } - p = *j.template get_ptr<const typename BasicJsonType::string_t*>(); + const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>(); +#ifdef JSON_HAS_CPP_20 + p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size())); +#else + p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20 +#endif } #endif Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_chars.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,10 +1,10 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // // SPDX-FileCopyrightText: 2009 Florian Loitsch <https://florian.loitsch.com/> -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -239,10 +239,10 @@ // v- m- v m+ v+ const bool lower_boundary_is_closer = F == 0 && E > 1; - const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1); + const diyfp m_plus = diyfp((2 * v.f) + 1, v.e - 1); const diyfp m_minus = lower_boundary_is_closer - ? diyfp(4 * v.f - 1, v.e - 2) // (B) - : diyfp(2 * v.f - 1, v.e - 1); // (A) + ? diyfp((4 * v.f) - 1, v.e - 2) // (B) + : diyfp((2 * v.f) - 1, v.e - 1); // (A) // Determine the normalized w+ = m+. const diyfp w_plus = diyfp::normalize(m_plus); @@ -472,7 +472,7 @@ JSON_ASSERT(e >= -1500); JSON_ASSERT(e <= 1500); const int f = kAlpha - e - 1; - const int k = (f * 78913) / (1 << 18) + static_cast<int>(f > 0); + const int k = ((f * 78913) / (1 << 18)) + static_cast<int>(f > 0); const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep; JSON_ASSERT(index >= 0); @@ -950,15 +950,15 @@ } else if (k < 100) { - *buf++ = static_cast<char>('0' + k / 10); + *buf++ = static_cast<char>('0' + (k / 10)); k %= 10; *buf++ = static_cast<char>('0' + k); } else { - *buf++ = static_cast<char>('0' + k / 100); + *buf++ = static_cast<char>('0' + (k / 100)); k %= 100; - *buf++ = static_cast<char>('0' + k / 10); + *buf++ = static_cast<char>('0' + (k / 10)); k %= 10; *buf++ = static_cast<char>('0' + k); } Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/conversions/to_json.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,13 +1,18 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once +#include <nlohmann/detail/macro_scope.hpp> // JSON_HAS_CPP_17 +#ifdef JSON_HAS_CPP_17 + #include <optional> // optional +#endif + #include <algorithm> // copy #include <iterator> // begin, end #include <string> // string @@ -18,7 +23,6 @@ #include <vector> // vector #include <nlohmann/detail/iterators/iteration_proxy.hpp> -#include <nlohmann/detail/macro_scope.hpp> #include <nlohmann/detail/meta/cpp_future.hpp> #include <nlohmann/detail/meta/std_fs.hpp> #include <nlohmann/detail/meta/type_traits.hpp> @@ -260,6 +264,22 @@ // to_json // ///////////// +#ifdef JSON_HAS_CPP_17 +template<typename BasicJsonType, typename T, + enable_if_t<std::is_constructible<BasicJsonType, T>::value, int> = 0> +void to_json(BasicJsonType& j, const std::optional<T>& opt) +{ + if (opt.has_value()) + { + j = *opt; + } + else + { + j = nullptr; + } +} +#endif + template<typename BasicJsonType, typename T, enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value, int> = 0> inline void to_json(BasicJsonType& j, T b) noexcept @@ -320,7 +340,8 @@ inline void to_json(BasicJsonType& j, EnumType e) noexcept { using underlying_type = typename std::underlying_type<EnumType>::type; - external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e)); + static constexpr value_t integral_value_t = std::is_unsigned<underlying_type>::value ? value_t::number_unsigned : value_t::number_integer; + external_constructor<integral_value_t>::construct(j, static_cast<underlying_type>(e)); } #endif // JSON_DISABLE_ENUM_SERIALIZATION @@ -405,6 +426,13 @@ j = { std::get<Idx>(t)... }; } +template<typename BasicJsonType, typename Tuple> +inline void to_json_tuple_impl(BasicJsonType& j, const Tuple& /*unused*/, index_sequence<> /*unused*/) +{ + using array_t = typename BasicJsonType::array_t; + j = array_t(); +} + template<typename BasicJsonType, typename T, enable_if_t<is_constructible_tuple<BasicJsonType, T>::value, int > = 0> inline void to_json(BasicJsonType& j, const T& t) { @@ -415,7 +443,12 @@ template<typename BasicJsonType> inline void to_json(BasicJsonType& j, const std_fs::path& p) { - j = p.string(); +#ifdef JSON_HAS_CPP_20 + const std::u8string s = p.u8string(); + j = std::string(s.begin(), s.end()); +#else + j = p.u8string(); // returns std::string in C++17 +#endif } #endif Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/exceptions.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -25,6 +25,18 @@ #include <nlohmann/detail/meta/type_traits.hpp> #include <nlohmann/detail/string_concat.hpp> +// With -Wweak-vtables, Clang will complain about the exception classes as they +// have no out-of-line virtual method definitions and their vtable will be +// emitted in every translation unit. This issue cannot be fixed with a +// header-only library as there is no implementation file to move these +// functions to. As a result, we suppress this warning here to avoid client +// code to stumble over this. See https://github.com/nlohmann/json/issues/4087 +// for a discussion. +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wweak-vtables" +#endif + NLOHMANN_JSON_NAMESPACE_BEGIN namespace detail { @@ -119,16 +131,34 @@ { return concat(a, '/', detail::escape(b)); }); - return concat('(', str, ") "); + + return concat('(', str, ") ", get_byte_positions(leaf_element)); #else - static_cast<void>(leaf_element); - return ""; + return get_byte_positions(leaf_element); #endif } private: /// an exception object as storage for error messages std::runtime_error m; +#if JSON_DIAGNOSTIC_POSITIONS + template<typename BasicJsonType> + static std::string get_byte_positions(const BasicJsonType* leaf_element) + { + if ((leaf_element->start_pos() != std::string::npos) && (leaf_element->end_pos() != std::string::npos)) + { + return concat("(bytes ", std::to_string(leaf_element->start_pos()), "-", std::to_string(leaf_element->end_pos()), ") "); + } + return ""; + } +#else + template<typename BasicJsonType> + static std::string get_byte_positions(const BasicJsonType* leaf_element) + { + static_cast<void>(leaf_element); + return ""; + } +#endif }; /// @brief exception indicating a parse error @@ -255,3 +285,7 @@ } // namespace detail NLOHMANN_JSON_NAMESPACE_END + +#if defined(__clang__) + #pragma clang diagnostic pop +#endif Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/hash.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/hash.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/hash.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/binary_reader.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -20,6 +20,9 @@ #include <string> // char_traits, string #include <utility> // make_pair, move #include <vector> // vector +#ifdef __cpp_lib_byteswap + #include <bit> //byteswap +#endif #include <nlohmann/detail/exceptions.hpp> #include <nlohmann/detail/input/input_adapters.hpp> @@ -62,7 +65,7 @@ /*! @brief deserialization of CBOR, MessagePack, and UBJSON values */ -template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType>> +template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType, InputAdapterType>> class binary_reader { using number_integer_t = typename BasicJsonType::number_integer_t; @@ -169,7 +172,7 @@ std::int32_t document_size{}; get_number<std::int32_t, true>(input_format_t::bson, document_size); - if (JSON_HEDLEY_UNLIKELY(!sax->start_object(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(detail::unknown_size()))) { return false; } @@ -325,6 +328,12 @@ return get_number<std::int64_t, true>(input_format_t::bson, value) && sax->number_integer(value); } + case 0x11: // uint64 + { + std::uint64_t value{}; + return get_number<std::uint64_t, true>(input_format_t::bson, value) && sax->number_unsigned(value); + } + default: // anything else not supported (yet) { std::array<char, 3> cr{{}}; @@ -391,7 +400,7 @@ std::int32_t document_size{}; get_number<std::int32_t, true>(input_format_t::bson, document_size); - if (JSON_HEDLEY_UNLIKELY(!sax->start_array(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(detail::unknown_size()))) { return false; } @@ -651,7 +660,7 @@ } case 0x9F: // array (indefinite length) - return get_cbor_array(static_cast<std::size_t>(-1), tag_handler); + return get_cbor_array(detail::unknown_size(), tag_handler); // map (0x00..0x17 pairs of data items follow) case 0xA0: @@ -705,7 +714,7 @@ } case 0xBF: // map (indefinite length) - return get_cbor_object(static_cast<std::size_t>(-1), tag_handler); + return get_cbor_object(detail::unknown_size(), tag_handler); case 0xC6: // tagged item case 0xC7: @@ -1093,7 +1102,7 @@ } /*! - @param[in] len the length of the array or static_cast<std::size_t>(-1) for an + @param[in] len the length of the array or detail::unknown_size() for an array of indefinite size @param[in] tag_handler how CBOR tags should be treated @return whether array creation completed @@ -1106,7 +1115,7 @@ return false; } - if (len != static_cast<std::size_t>(-1)) + if (len != detail::unknown_size()) { for (std::size_t i = 0; i < len; ++i) { @@ -1131,7 +1140,7 @@ } /*! - @param[in] len the length of the object or static_cast<std::size_t>(-1) for an + @param[in] len the length of the object or detail::unknown_size() for an object of indefinite size @param[in] tag_handler how CBOR tags should be treated @return whether object creation completed @@ -1147,7 +1156,7 @@ if (len != 0) { string_t key; - if (len != static_cast<std::size_t>(-1)) + if (len != detail::unknown_size()) { for (std::size_t i = 0; i < len; ++i) { @@ -2310,6 +2319,16 @@ case 'Z': // null return sax->null(); + case 'B': // byte + { + if (input_format != input_format_t::bjdata) + { + break; + } + std::uint8_t number{}; + return get_number(input_format, number) && sax->number_unsigned(number); + } + case 'U': { std::uint8_t number{}; @@ -2510,7 +2529,7 @@ return false; } - if (size_and_type.second == 'C') + if (size_and_type.second == 'C' || size_and_type.second == 'B') { size_and_type.second = 'U'; } @@ -2532,6 +2551,13 @@ return (sax->end_array() && sax->end_object()); } + // If BJData type marker is 'B' decode as binary + if (input_format == input_format_t::bjdata && size_and_type.first != npos && size_and_type.second == 'B') + { + binary_t result; + return get_binary(input_format, size_and_type.first, result) && sax->binary(result); + } + if (size_and_type.first != npos) { if (JSON_HEDLEY_UNLIKELY(!sax->start_array(size_and_type.first))) @@ -2565,7 +2591,7 @@ } else { - if (JSON_HEDLEY_UNLIKELY(!sax->start_array(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_array(detail::unknown_size()))) { return false; } @@ -2643,7 +2669,7 @@ } else { - if (JSON_HEDLEY_UNLIKELY(!sax->start_object(static_cast<std::size_t>(-1)))) + if (JSON_HEDLEY_UNLIKELY(!sax->start_object(detail::unknown_size()))) { return false; } @@ -2755,6 +2781,29 @@ } /*! + @brief get_to read into a primitive type + + This function provides the interface to the used input adapter. It does + not throw in case the input reached EOF, but returns false instead + + @return bool, whether the read was successful + */ + template<class T> + bool get_to(T& dest, const input_format_t format, const char* context) + { + auto new_chars_read = ia.get_elements(&dest); + chars_read += new_chars_read; + if (JSON_HEDLEY_UNLIKELY(new_chars_read < sizeof(T))) + { + // in case of failure, advance position by 1 to report failing location + ++chars_read; + sax->parse_error(chars_read, "<end of file>", parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context), nullptr)); + return false; + } + return true; + } + + /*! @return character read from the input after ignoring all 'N' entries */ char_int_type get_ignore_noop() @@ -2768,6 +2817,28 @@ return current; } + template<class NumberType> + static void byte_swap(NumberType& number) + { + constexpr std::size_t sz = sizeof(number); +#ifdef __cpp_lib_byteswap + if constexpr (sz == 1) + { + return; + } + if constexpr(std::is_integral_v<NumberType>) + { + number = std::byteswap(number); + return; + } +#endif + auto* ptr = reinterpret_cast<std::uint8_t*>(&number); + for (std::size_t i = 0; i < sz / 2; ++i) + { + std::swap(ptr[i], ptr[sz - i - 1]); + } + } + /* @brief read a number from the input @@ -2786,29 +2857,16 @@ template<typename NumberType, bool InputIsLittleEndian = false> bool get_number(const input_format_t format, NumberType& result) { - // step 1: read input into array with system's byte order - std::array<std::uint8_t, sizeof(NumberType)> vec{}; - for (std::size_t i = 0; i < sizeof(NumberType); ++i) - { - get(); - if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "number"))) - { - return false; - } + // read in the original format - // reverse byte order prior to conversion if necessary - if (is_little_endian != (InputIsLittleEndian || format == input_format_t::bjdata)) - { - vec[sizeof(NumberType) - i - 1] = static_cast<std::uint8_t>(current); - } - else - { - vec[i] = static_cast<std::uint8_t>(current); // LCOV_EXCL_LINE - } + if (JSON_HEDLEY_UNLIKELY(!get_to(result, format, "number"))) + { + return false; + } + if (is_little_endian != (InputIsLittleEndian || format == input_format_t::bjdata)) + { + byte_swap(result); } - - // step 2: convert array into number of type T and return - std::memcpy(&result, vec.data(), sizeof(NumberType)); return true; } @@ -2947,7 +3005,7 @@ } private: - static JSON_INLINE_VARIABLE constexpr std::size_t npos = static_cast<std::size_t>(-1); + static JSON_INLINE_VARIABLE constexpr std::size_t npos = detail::unknown_size(); /// input adapter InputAdapterType ia; @@ -2973,6 +3031,7 @@ #define JSON_BINARY_READER_MAKE_BJD_TYPES_MAP_ \ make_array<bjd_type>( \ + bjd_type{'B', "byte"}, \ bjd_type{'C', "char"}, \ bjd_type{'D', "double"}, \ bjd_type{'I', "int16"}, \ Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/input_adapters.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -23,6 +23,7 @@ #include <istream> // istream #endif // JSON_NO_IO +#include <nlohmann/detail/exceptions.hpp> #include <nlohmann/detail/iterators/iterator_traits.hpp> #include <nlohmann/detail/macro_scope.hpp> #include <nlohmann/detail/meta/type_traits.hpp> @@ -67,6 +68,13 @@ return std::fgetc(m_file); } + // returns the number of characters successfully read + template<class T> + std::size_t get_elements(T* dest, std::size_t count = 1) + { + return fread(dest, 1, sizeof(T) * count, m_file); + } + private: /// the file pointer to read from std::FILE* m_file; @@ -126,6 +134,17 @@ return res; } + template<class T> + std::size_t get_elements(T* dest, std::size_t count = 1) + { + auto res = static_cast<std::size_t>(sb->sgetn(reinterpret_cast<char*>(dest), static_cast<std::streamsize>(count * sizeof(T)))); + if (JSON_HEDLEY_UNLIKELY(res < count * sizeof(T))) + { + is->clear(is->rdstate() | std::ios::eofbit); + } + return res; + } + private: /// the associated input stream std::istream* is = nullptr; @@ -157,6 +176,26 @@ return char_traits<char_type>::eof(); } + // for general iterators, we cannot really do something better than falling back to processing the range one-by-one + template<class T> + std::size_t get_elements(T* dest, std::size_t count = 1) + { + auto* ptr = reinterpret_cast<char*>(dest); + for (std::size_t read_index = 0; read_index < count * sizeof(T); ++read_index) + { + if (JSON_HEDLEY_LIKELY(current != end)) + { + ptr[read_index] = static_cast<char>(*current); + std::advance(current, 1); + } + else + { + return read_index; + } + } + return count * sizeof(T); + } + private: IteratorType current; IteratorType end; @@ -320,6 +359,13 @@ return utf8_bytes[utf8_bytes_index++]; } + // parsing binary with wchar doesn't make sense, but since the parsing mode can be runtime, we need something here + template<class T> + std::size_t get_elements(T* /*dest*/, std::size_t /*count*/ = 1) + { + JSON_THROW(parse_error::create(112, 1, "wide string type cannot be interpreted as binary data", nullptr)); + } + private: BaseInputAdapter base_adapter; @@ -416,10 +462,17 @@ return container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::create(container); } +// specialization for std::string +using string_input_adapter_type = decltype(input_adapter(std::declval<std::string>())); + #ifndef JSON_NO_IO // Special cases with fast paths inline file_input_adapter input_adapter(std::FILE* file) { + if (file == nullptr) + { + JSON_THROW(parse_error::create(101, 0, "attempting to parse an empty input; check that your input string or stream contains the expected JSON", nullptr)); + } return file_input_adapter(file); } @@ -446,9 +499,13 @@ int >::type = 0 > contiguous_bytes_input_adapter input_adapter(CharT b) { + if (b == nullptr) + { + JSON_THROW(parse_error::create(101, 0, "attempting to parse an empty input; check that your input string or stream contains the expected JSON", nullptr)); + } auto length = std::strlen(reinterpret_cast<const char*>(b)); const auto* ptr = reinterpret_cast<const char*>(b); - return input_adapter(ptr, ptr + length); + return input_adapter(ptr, ptr + length); // cppcheck-suppress[nullPointerArithmeticRedundantCheck] } template<typename T, std::size_t N> Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/json_sax.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,22 +1,23 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once #include <cstddef> #include <string> // string +#include <type_traits> // enable_if_t #include <utility> // move #include <vector> // vector #include <nlohmann/detail/exceptions.hpp> +#include <nlohmann/detail/input/lexer.hpp> #include <nlohmann/detail/macro_scope.hpp> #include <nlohmann/detail/string_concat.hpp> - NLOHMANN_JSON_NAMESPACE_BEGIN /*! @@ -144,6 +145,11 @@ namespace detail { +constexpr std::size_t unknown_size() +{ + return (std::numeric_limits<std::size_t>::max)(); +} + /*! @brief SAX implementation to create a JSON value from SAX events @@ -157,7 +163,7 @@ @tparam BasicJsonType the JSON type */ -template<typename BasicJsonType> +template<typename BasicJsonType, typename InputAdapterType> class json_sax_dom_parser { public: @@ -166,14 +172,15 @@ using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; using binary_t = typename BasicJsonType::binary_t; + using lexer_t = lexer<BasicJsonType, InputAdapterType>; /*! @param[in,out] r reference to a JSON value that is manipulated while parsing @param[in] allow_exceptions_ whether parse errors yield exceptions */ - explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true) - : root(r), allow_exceptions(allow_exceptions_) + explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true, lexer_t* lexer_ = nullptr) + : root(r), allow_exceptions(allow_exceptions_), m_lexer_ref(lexer_) {} // make class move-only @@ -229,7 +236,18 @@ { ref_stack.push_back(handle_value(BasicJsonType::value_t::object)); - if (JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the object here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + // Lexer has read the first character of the object, so + // subtract 1 from the position to get the correct start position. + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back())); } @@ -252,6 +270,14 @@ JSON_ASSERT(!ref_stack.empty()); JSON_ASSERT(ref_stack.back()->is_object()); +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing brace, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); ref_stack.pop_back(); return true; @@ -261,7 +287,16 @@ { ref_stack.push_back(handle_value(BasicJsonType::value_t::array)); - if (JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the array here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back())); } @@ -274,6 +309,14 @@ JSON_ASSERT(!ref_stack.empty()); JSON_ASSERT(ref_stack.back()->is_array()); +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing bracket, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); ref_stack.pop_back(); return true; @@ -298,6 +341,75 @@ } private: + +#if JSON_DIAGNOSTIC_POSITIONS + void handle_diagnostic_positions_for_json_value(BasicJsonType& v) + { + if (m_lexer_ref) + { + // Lexer has read past the current field value, so set the end position to the current position. + // The start position will be set below based on the length of the string representation + // of the value. + v.end_position = m_lexer_ref->get_position(); + + switch (v.type()) + { + case value_t::boolean: + { + // 4 and 5 are the string length of "true" and "false" + v.start_position = v.end_position - (v.m_data.m_value.boolean ? 4 : 5); + break; + } + + case value_t::null: + { + // 4 is the string length of "null" + v.start_position = v.end_position - 4; + break; + } + + case value_t::string: + { + // include the length of the quotes, which is 2 + v.start_position = v.end_position - v.m_data.m_value.string->size() - 2; + break; + } + + // As we handle the start and end positions for values created during parsing, + // we do not expect the following value type to be called. Regardless, set the positions + // in case this is created manually or through a different constructor. Exclude from lcov + // since the exact condition of this switch is esoteric. + // LCOV_EXCL_START + case value_t::discarded: + { + v.end_position = std::string::npos; + v.start_position = v.end_position; + break; + } + // LCOV_EXCL_STOP + case value_t::binary: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + { + v.start_position = v.end_position - m_lexer_ref->get_string().size(); + break; + } + case value_t::object: + case value_t::array: + { + // object and array are handled in start_object() and start_array() handlers + // skip setting the values here. + break; + } + default: // LCOV_EXCL_LINE + // Handle all possible types discretely, default handler should never be reached. + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert,-warnings-as-errors) LCOV_EXCL_LINE + } + } + } +#endif + /*! @invariant If the ref stack is empty, then the passed value will be the new root. @@ -311,6 +423,11 @@ if (ref_stack.empty()) { root = BasicJsonType(std::forward<Value>(v)); + +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(root); +#endif + return &root; } @@ -319,12 +436,22 @@ if (ref_stack.back()->is_array()) { ref_stack.back()->m_data.m_value.array->emplace_back(std::forward<Value>(v)); + +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(ref_stack.back()->m_data.m_value.array->back()); +#endif + return &(ref_stack.back()->m_data.m_value.array->back()); } JSON_ASSERT(ref_stack.back()->is_object()); JSON_ASSERT(object_element); *object_element = BasicJsonType(std::forward<Value>(v)); + +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(*object_element); +#endif + return object_element; } @@ -338,9 +465,11 @@ bool errored = false; /// whether to throw exceptions in case of errors const bool allow_exceptions = true; + /// the lexer reference to obtain the current position + lexer_t* m_lexer_ref = nullptr; }; -template<typename BasicJsonType> +template<typename BasicJsonType, typename InputAdapterType> class json_sax_dom_callback_parser { public: @@ -351,11 +480,13 @@ using binary_t = typename BasicJsonType::binary_t; using parser_callback_t = typename BasicJsonType::parser_callback_t; using parse_event_t = typename BasicJsonType::parse_event_t; + using lexer_t = lexer<BasicJsonType, InputAdapterType>; json_sax_dom_callback_parser(BasicJsonType& r, - const parser_callback_t cb, - const bool allow_exceptions_ = true) - : root(r), callback(cb), allow_exceptions(allow_exceptions_) + parser_callback_t cb, + const bool allow_exceptions_ = true, + lexer_t* lexer_ = nullptr) + : root(r), callback(std::move(cb)), allow_exceptions(allow_exceptions_), m_lexer_ref(lexer_) { keep_stack.push_back(true); } @@ -418,12 +549,26 @@ auto val = handle_value(BasicJsonType::value_t::object, true); ref_stack.push_back(val.second); - // check object limit - if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) + if (ref_stack.back()) { - JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back())); - } +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the object here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + // Lexer has read the first character of the object, so + // subtract 1 from the position to get the correct start position. + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + // check object limit + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, concat("excessive object size: ", std::to_string(len)), ref_stack.back())); + } + } return true; } @@ -452,9 +597,23 @@ { // discard object *ref_stack.back() = discarded; + +#if JSON_DIAGNOSTIC_POSITIONS + // Set start/end positions for discarded object. + handle_diagnostic_positions_for_json_value(*ref_stack.back()); +#endif } else { + +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing brace, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); } } @@ -488,10 +647,25 @@ auto val = handle_value(BasicJsonType::value_t::array, true); ref_stack.push_back(val.second); - // check array limit - if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != static_cast<std::size_t>(-1) && len > ref_stack.back()->max_size())) + if (ref_stack.back()) { - JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back())); + +#if JSON_DIAGNOSTIC_POSITIONS + // Manually set the start position of the array here. + // Ensure this is after the call to handle_value to ensure correct start position. + if (m_lexer_ref) + { + // Lexer has read the first character of the array, so + // subtract 1 from the position to get the correct start position. + ref_stack.back()->start_position = m_lexer_ref->get_position() - 1; + } +#endif + + // check array limit + if (JSON_HEDLEY_UNLIKELY(len != detail::unknown_size() && len > ref_stack.back()->max_size())) + { + JSON_THROW(out_of_range::create(408, concat("excessive array size: ", std::to_string(len)), ref_stack.back())); + } } return true; @@ -506,12 +680,26 @@ keep = callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back()); if (keep) { + +#if JSON_DIAGNOSTIC_POSITIONS + if (m_lexer_ref) + { + // Lexer's position is past the closing bracket, so set that as the end position. + ref_stack.back()->end_position = m_lexer_ref->get_position(); + } +#endif + ref_stack.back()->set_parents(); } else { // discard array *ref_stack.back() = discarded; + +#if JSON_DIAGNOSTIC_POSITIONS + // Set start/end positions for discarded array. + handle_diagnostic_positions_for_json_value(*ref_stack.back()); +#endif } } @@ -548,6 +736,71 @@ } private: + +#if JSON_DIAGNOSTIC_POSITIONS + void handle_diagnostic_positions_for_json_value(BasicJsonType& v) + { + if (m_lexer_ref) + { + // Lexer has read past the current field value, so set the end position to the current position. + // The start position will be set below based on the length of the string representation + // of the value. + v.end_position = m_lexer_ref->get_position(); + + switch (v.type()) + { + case value_t::boolean: + { + // 4 and 5 are the string length of "true" and "false" + v.start_position = v.end_position - (v.m_data.m_value.boolean ? 4 : 5); + break; + } + + case value_t::null: + { + // 4 is the string length of "null" + v.start_position = v.end_position - 4; + break; + } + + case value_t::string: + { + // include the length of the quotes, which is 2 + v.start_position = v.end_position - v.m_data.m_value.string->size() - 2; + break; + } + + case value_t::discarded: + { + v.end_position = std::string::npos; + v.start_position = v.end_position; + break; + } + + case value_t::binary: + case value_t::number_integer: + case value_t::number_unsigned: + case value_t::number_float: + { + v.start_position = v.end_position - m_lexer_ref->get_string().size(); + break; + } + + case value_t::object: + case value_t::array: + { + // object and array are handled in start_object() and start_array() handlers + // skip setting the values here. + break; + } + default: // LCOV_EXCL_LINE + // Handle all possible types discretely, default handler should never be reached. + JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert,-warnings-as-errors) LCOV_EXCL_LINE + } + } + } +#endif + /*! @param[in] v value to add to the JSON value we build during parsing @param[in] skip_callback whether we should skip calling the callback @@ -578,6 +831,10 @@ // create value auto value = BasicJsonType(std::forward<Value>(v)); +#if JSON_DIAGNOSTIC_POSITIONS + handle_diagnostic_positions_for_json_value(value); +#endif + // check callback const bool keep = skip_callback || callback(static_cast<int>(ref_stack.size()), parse_event_t::value, value); @@ -632,9 +889,9 @@ /// stack to model hierarchy of values std::vector<BasicJsonType*> ref_stack {}; /// stack to manage which values to keep - std::vector<bool> keep_stack {}; + std::vector<bool> keep_stack {}; // NOLINT(readability-redundant-member-init) /// stack to manage which object keys to keep - std::vector<bool> key_keep_stack {}; + std::vector<bool> key_keep_stack {}; // NOLINT(readability-redundant-member-init) /// helper to hold the reference for the next object element BasicJsonType* object_element = nullptr; /// whether a syntax error occurred @@ -645,6 +902,8 @@ const bool allow_exceptions = true; /// a discarded value for the callback BasicJsonType discarded = BasicJsonType::value_t::discarded; + /// the lexer reference to obtain the current position + lexer_t* m_lexer_ref = nullptr; }; template<typename BasicJsonType> @@ -692,7 +951,7 @@ return true; } - bool start_object(std::size_t /*unused*/ = static_cast<std::size_t>(-1)) + bool start_object(std::size_t /*unused*/ = detail::unknown_size()) { return true; } @@ -707,7 +966,7 @@ return true; } - bool start_array(std::size_t /*unused*/ = static_cast<std::size_t>(-1)) + bool start_array(std::size_t /*unused*/ = detail::unknown_size()) { return true; } Modified: trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp ============================================================================== --- trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp Fri Apr 18 11:04:13 2025 (r23133) +++ trunk/OpenMPT/include/nlohmann-json/include/nlohmann/detail/input/lexer.hpp Fri Apr 18 11:05:17 2025 (r23134) @@ -1,9 +1,9 @@ // __ _____ _____ _____ // __| | __| | | | JSON for Modern C++ -// | | |__ | | | | | | version 3.11.3 +// | | |__ | | | | | | version 3.12.0 // |_____|_____|_____|_|___| https://github.com/nlohmann/json // -// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann <https://nlohmann.me> +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann <https://nlohmann.me> // SPDX-License-Identifier: MIT #pragma once @@ -967,7 +967,7 @@ locale's decimal point is used instead of `.` to work with the locale-dependent converters. */ - token_type scan_number() // lgtm [cpp/use-of-goto] + token_type scan_number() // lgtm [cpp/use-of-goto] `goto` is used in this function to implement the number-parsing state machine described above. By design, any finite input will eventually reach the "done" state or return token_type::parse_error. In each intermediate state, 1 byte of the input is appended to the token_buffer vector, and only the already initialized variables token_buffer, number_type, and error_message are manipu... [truncated message content] |
From: <sv...@op...> - 2025-04-18 09:04:42
|
Author: manx Date: Fri Apr 18 11:04:13 2025 New Revision: 23133 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23133 Log: [Ref] mpt/json/json.hpp: std::optional support is in nlohmann-json 3.12.0, but it is broken without <https://github.com/nlohmann/json/pull/4742>. Enable support only for >= 3.12.1. Modified: trunk/OpenMPT/src/mpt/json/json.hpp Modified: trunk/OpenMPT/src/mpt/json/json.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/json/json.hpp Sat Apr 12 15:10:20 2025 (r23132) +++ trunk/OpenMPT/src/mpt/json/json.hpp Fri Apr 18 11:04:13 2025 (r23133) @@ -22,16 +22,11 @@ #endif // MPT_COMPILER_MSVC #endif // MPT_DETECTED_NLOHMANN_JSON -#if 0 -// The precise version when std::optional support will be included is still unknown. #if NLOHMANN_JSON_VERSION_MAJOR < 3 #define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL -#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR < 11) +#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR < 12) #define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL -#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR == 11) && (NLOHMANN_JSON_VERSION_PATCH < 4) -#define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL -#endif -#else +#elif (NLOHMANN_JSON_VERSION_MAJOR == 3) && (NLOHMANN_JSON_VERSION_MINOR == 12) && (NLOHMANN_JSON_VERSION_PATCH < 1) #define MPT_JSON_JSON_NLOHMANN_JSON_QUIRK_NO_STD_OPTIONAL #endif |
From: <sv...@op...> - 2025-04-12 13:10:48
|
Author: sagamusix Date: Sat Apr 12 15:10:20 2025 New Revision: 23132 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23132 Log: [Mod] Sample tab: When adjusting sample offsets after resampling, round the result and never set it to 0, as that would just recall the previous offset. Also don't do any adjustments for relative offset commands - it's an unnecessary calculation as they should stay identical. Modified: trunk/OpenMPT/tracklib/SampleEdit.cpp Modified: trunk/OpenMPT/tracklib/SampleEdit.cpp ============================================================================== --- trunk/OpenMPT/tracklib/SampleEdit.cpp Thu Apr 10 20:59:20 2025 (r23131) +++ trunk/OpenMPT/tracklib/SampleEdit.cpp Sat Apr 12 15:10:20 2025 (r23132) @@ -1019,15 +1019,19 @@ { sndFile.Patterns.ForEachModCommand([&](ModCommand &m) { - if(m.command != CMD_OFFSET && m.command != CMD_REVERSEOFFSET && m.command != CMD_OFFSETPERCENTAGE) + if(m.command != CMD_OFFSET && m.command != CMD_REVERSEOFFSET) + return; + // Percentage offset is unaffected + if(m.volcmd == VOLCMD_OFFSET && m.vol == 0) + return; + // Recall last parameter + if(m.param == 0) return; if(sndFile.GetSampleIndex(m.note, m.instr) != sampleIndex) return; SmpLength point = m.param * 256u; - if(m.command == CMD_OFFSETPERCENTAGE || (m.volcmd == VOLCMD_OFFSET && m.vol == 0)) - point = Util::muldivr_unsigned(point, oldLength, 65536); - else if(m.volcmd == VOLCMD_OFFSET && m.vol <= std::size(oldCues)) + if(m.volcmd == VOLCMD_OFFSET && m.vol <= oldCues.size()) point += oldCues[m.vol - 1]; if(point >= oldLength) @@ -1038,16 +1042,19 @@ point = start + Util::muldivr_unsigned(point - start, newRate, oldRate); LimitMax(point, newTotalLength); - if(m.command == CMD_OFFSETPERCENTAGE || (m.volcmd == VOLCMD_OFFSET && m.vol == 0)) - point = Util::muldivr_unsigned(point, 65536, newTotalLength); - else if(m.volcmd == VOLCMD_OFFSET && m.vol <= std::size(smp.cues)) + if(m.volcmd == VOLCMD_OFFSET && m.vol <= smp.cues.size()) point -= smp.cues[m.vol - 1]; + + ModCommand::PARAM newParam = std::max(mpt::saturate_cast<ModCommand::PARAM>((point + 128u) / 256u), ModCommand::PARAM(1)); + if(m.param == newParam) + return; + if(!patternUndoCreated) { patternUndoCreated = true; preparePatternUndoFunc(); } - m.param = mpt::saturate_cast<ModCommand::PARAM>(point / 256u); + m.param = newParam; }); } |
From: <sv...@op...> - 2025-04-10 18:59:47
|
Author: sagamusix Date: Thu Apr 10 20:59:20 2025 New Revision: 23131 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23131 Log: [Fix] Compile fix. Modified: trunk/OpenMPT/soundlib/Load_mod.cpp Modified: trunk/OpenMPT/soundlib/Load_mod.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_mod.cpp Thu Apr 10 20:56:26 2025 (r23130) +++ trunk/OpenMPT/soundlib/Load_mod.cpp Thu Apr 10 20:59:20 2025 (r23131) @@ -700,7 +700,7 @@ // XOR with 0xDF gives the message "TakeTrackered with version 0.9E!!!!!" if(GetNumChannels() <= 16 && file.ReadMagic("\x8B\xBE\xB4\xBA\x8B\xAD\xBE\xBC\xB4\xBA\xAD\xBA\xBB\xFF\xA8\xB6\xAB\xB7\xFF\xA9\xBA\xAD\xAC\xB6\xB0\xB1\xFF\xEF\xF1\xE6\xBA\xFE\xFE\xFE\xFE\xFE")) modMagicResult.madeWithTracker = UL_("TakeTracker"); - else if(isMdKd && file.ReadArray<char, 6>() == std::array<char, 9>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11} && file.CanRead(3)) // 3 more bytes that differ between modules and Tetramed version, purpose unknown + else if(isMdKd && file.ReadArray<char, 6>() == std::array<char, 6>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11} && file.CanRead(3)) // 3 more bytes that differ between modules and Tetramed version, purpose unknown modMagicResult.madeWithTracker = UL_("Tetramed"); } |
From: <sv...@op...> - 2025-04-10 18:56:49
|
Author: sagamusix Date: Thu Apr 10 20:56:26 2025 New Revision: 23130 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23130 Log: [Mod] MOD: The last three bytes of the Tetramed tag can vary. Check that they are present but don't verify their contents. Modified: trunk/OpenMPT/soundlib/Load_mod.cpp Modified: trunk/OpenMPT/soundlib/Load_mod.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_mod.cpp Tue Apr 8 19:30:41 2025 (r23129) +++ trunk/OpenMPT/soundlib/Load_mod.cpp Thu Apr 10 20:56:26 2025 (r23130) @@ -700,7 +700,7 @@ // XOR with 0xDF gives the message "TakeTrackered with version 0.9E!!!!!" if(GetNumChannels() <= 16 && file.ReadMagic("\x8B\xBE\xB4\xBA\x8B\xAD\xBE\xBC\xB4\xBA\xAD\xBA\xBB\xFF\xA8\xB6\xAB\xB7\xFF\xA9\xBA\xAD\xAC\xB6\xB0\xB1\xFF\xEF\xF1\xE6\xBA\xFE\xFE\xFE\xFE\xFE")) modMagicResult.madeWithTracker = UL_("TakeTracker"); - else if(isMdKd && file.ReadArray<char, 9>() == std::array<char, 9>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11, 0x04, 0x01, 0x01}) + else if(isMdKd && file.ReadArray<char, 6>() == std::array<char, 9>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11} && file.CanRead(3)) // 3 more bytes that differ between modules and Tetramed version, purpose unknown modMagicResult.madeWithTracker = UL_("Tetramed"); } |
From: <sv...@op...> - 2025-04-08 17:31:11
|
Author: sagamusix Date: Tue Apr 8 19:30:41 2025 New Revision: 23129 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23129 Log: [Imp] MOD: Identify modules saved with TakeTracker. Modified: trunk/OpenMPT/soundlib/Load_mod.cpp Modified: trunk/OpenMPT/soundlib/Load_mod.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_mod.cpp Mon Apr 7 20:41:43 2025 (r23128) +++ trunk/OpenMPT/soundlib/Load_mod.cpp Tue Apr 8 19:30:41 2025 (r23129) @@ -697,7 +697,10 @@ file.Seek(nextSample); } } - if(isMdKd && file.ReadArray<char, 9>() == std::array<char, 9>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11, 0x04, 0x01, 0x01}) + // XOR with 0xDF gives the message "TakeTrackered with version 0.9E!!!!!" + if(GetNumChannels() <= 16 && file.ReadMagic("\x8B\xBE\xB4\xBA\x8B\xAD\xBE\xBC\xB4\xBA\xAD\xBA\xBB\xFF\xA8\xB6\xAB\xB7\xFF\xA9\xBA\xAD\xAC\xB6\xB0\xB1\xFF\xEF\xF1\xE6\xBA\xFE\xFE\xFE\xFE\xFE")) + modMagicResult.madeWithTracker = UL_("TakeTracker"); + else if(isMdKd && file.ReadArray<char, 9>() == std::array<char, 9>{0x00, 0x11, 0x55, 0x33, 0x22, 0x11, 0x04, 0x01, 0x01}) modMagicResult.madeWithTracker = UL_("Tetramed"); } |
From: <sv...@op...> - 2025-04-07 18:42:11
|
Author: sagamusix Date: Mon Apr 7 20:41:43 2025 New Revision: 23128 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23128 Log: [Mod] FLAC: Store a zero-length loop in WAV metadata when only a sustain loop is present, similar to how the WAV writer does it. This way, we can distinguish it from a normal sample loop. Modified: trunk/OpenMPT/soundlib/SampleFormatFLAC.cpp Modified: trunk/OpenMPT/soundlib/SampleFormatFLAC.cpp ============================================================================== --- trunk/OpenMPT/soundlib/SampleFormatFLAC.cpp Tue Apr 1 21:24:57 2025 (r23127) +++ trunk/OpenMPT/soundlib/SampleFormatFLAC.cpp Mon Apr 7 20:41:43 2025 (r23128) @@ -644,6 +644,11 @@ { chunk.loops[chunk.info.numLoops++].ConvertToWAV(sample.nLoopStart, sample.nLoopEnd, sample.uFlags[CHN_PINGPONGLOOP]); chunk.header.length += sizeof(WAVSampleLoop); + } else if(sample.uFlags[CHN_SUSTAINLOOP]) + { + // Invent zero-length loop to distinguish sustain loop from normal loop + chunk.loops[chunk.info.numLoops++].ConvertToWAV(0, 0, false); + chunk.header.length += sizeof(WAVSampleLoop); } const uint32 length = sizeof(RIFFChunk) + chunk.header.length; |
From: <sv...@op...> - 2025-04-01 19:25:35
|
Author: sagamusix Date: Tue Apr 1 21:24:57 2025 New Revision: 23127 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23127 Log: Merged revision(s) 23123 from trunk/OpenMPT: [Fix] MED: Command FFF should not stop a note if it is triggered on the same row (https://www.un4seen.com/forum/?msg=144691). ........ Modified: branches/OpenMPT-1.29/ (props changed) branches/OpenMPT-1.29/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.29/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.29/soundlib/Load_med.cpp Tue Apr 1 21:24:40 2025 (r23126) +++ branches/OpenMPT-1.29/soundlib/Load_med.cpp Tue Apr 1 21:24:57 2025 (r23127) @@ -456,7 +456,8 @@ m.command = CMD_NONE; break; case 0xFF: // Turn note off - m.note = NOTE_NOTECUT; + if(!m.IsNote()) + m.note = NOTE_NOTECUT; m.command = CMD_NONE; break; default: |
From: <sv...@op...> - 2025-04-01 19:25:07
|
Author: sagamusix Date: Tue Apr 1 21:24:40 2025 New Revision: 23126 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23126 Log: Merged revision(s) 23123 from trunk/OpenMPT: [Fix] MED: Command FFF should not stop a note if it is triggered on the same row (https://www.un4seen.com/forum/?msg=144691). ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.30/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.30/soundlib/Load_med.cpp Tue Apr 1 21:24:20 2025 (r23125) +++ branches/OpenMPT-1.30/soundlib/Load_med.cpp Tue Apr 1 21:24:40 2025 (r23126) @@ -461,7 +461,8 @@ m.command = CMD_NONE; break; case 0xFF: // Turn note off - m.note = NOTE_NOTECUT; + if(!m.IsNote()) + m.note = NOTE_NOTECUT; m.command = CMD_NONE; break; default: |
From: <sv...@op...> - 2025-04-01 19:24:42
|
Author: sagamusix Date: Tue Apr 1 21:24:20 2025 New Revision: 23125 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23125 Log: Merged revision(s) 23123 from trunk/OpenMPT: [Fix] MED: Command FFF should not stop a note if it is triggered on the same row (https://www.un4seen.com/forum/?msg=144691). ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.31/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/Load_med.cpp Tue Apr 1 21:23:56 2025 (r23124) +++ branches/OpenMPT-1.31/soundlib/Load_med.cpp Tue Apr 1 21:24:20 2025 (r23125) @@ -503,7 +503,8 @@ case 0xFE: // End of song break; case 0xFF: // Turn note off - m.note = NOTE_NOTECUT; + if(!m.IsNote()) + m.note = NOTE_NOTECUT; break; } break; |
From: <sv...@op...> - 2025-04-01 19:24:18
|
Author: sagamusix Date: Tue Apr 1 21:23:56 2025 New Revision: 23124 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23124 Log: Merged revision(s) 23123 from trunk/OpenMPT: [Fix] MED: Command FFF should not stop a note if it is triggered on the same row (https://www.un4seen.com/forum/?msg=144691). ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.32/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/Load_med.cpp Tue Apr 1 21:23:18 2025 (r23123) +++ branches/OpenMPT-1.32/soundlib/Load_med.cpp Tue Apr 1 21:23:56 2025 (r23124) @@ -530,7 +530,8 @@ case 0xFE: // End of song break; case 0xFF: // Turn note off - m.note = NOTE_NOTECUT; + if(!m.IsNote()) + m.note = NOTE_NOTECUT; break; } break; |
From: <sv...@op...> - 2025-04-01 19:23:45
|
Author: sagamusix Date: Tue Apr 1 21:23:18 2025 New Revision: 23123 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23123 Log: [Fix] MED: Command FFF should not stop a note if it is triggered on the same row (https://www.un4seen.com/forum/?msg=144691). Modified: trunk/OpenMPT/soundlib/Load_med.cpp Modified: trunk/OpenMPT/soundlib/Load_med.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp Tue Apr 1 14:15:36 2025 (r23122) +++ trunk/OpenMPT/soundlib/Load_med.cpp Tue Apr 1 21:23:18 2025 (r23123) @@ -530,7 +530,8 @@ case 0xFE: // End of song break; case 0xFF: // Turn note off - m.note = NOTE_NOTECUT; + if(!m.IsNote()) + m.note = NOTE_NOTECUT; break; } break; |
From: <sv...@op...> - 2025-04-01 12:15:58
|
Author: manx Date: Tue Apr 1 14:15:36 2025 New Revision: 23122 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23122 Log: Merged revision(s) 23120 from trunk/OpenMPT: [Fix] build: CI: GitHub: RHEL: Add --allowerasing when installing dependencies. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/.github/workflows/RHEL-Autotools.yml branches/OpenMPT-1.31/.github/workflows/RHEL-Makefile.yml Modified: branches/OpenMPT-1.31/.github/workflows/RHEL-Autotools.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/RHEL-Autotools.yml Tue Apr 1 14:15:14 2025 (r23121) +++ branches/OpenMPT-1.31/.github/workflows/RHEL-Autotools.yml Tue Apr 1 14:15:36 2025 (r23122) @@ -40,11 +40,11 @@ if: ${{ matrix.version == 'rockylinux:9' }} run: dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-enabled crb && dnf -y config-manager --set-enabled devel && dnf -y clean all && dnf -y upgrade --refresh - name: Install dependencies - run: dnf -y install subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + run: dnf -y install --allowerasing subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel - name: Enable EPEL run: dnf -y install epel-release - name: Install EPEL dependencies - run: dnf -y install ccache portaudio-devel + run: dnf -y install --allowerasing ccache portaudio-devel - name: Checkout uses: actions/checkout@v4 - name: fix git Modified: branches/OpenMPT-1.31/.github/workflows/RHEL-Makefile.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/RHEL-Makefile.yml Tue Apr 1 14:15:14 2025 (r23121) +++ branches/OpenMPT-1.31/.github/workflows/RHEL-Makefile.yml Tue Apr 1 14:15:36 2025 (r23122) @@ -48,11 +48,11 @@ if: ${{ matrix.version == 'rockylinux:9' }} run: dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-enabled crb && dnf -y config-manager --set-enabled devel && dnf -y clean all && dnf -y upgrade --refresh - name: Install dependencies - run: dnf -y install subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + run: dnf -y install --allowerasing subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel - name: Enable EPEL run: dnf -y install epel-release - name: Install EPEL dependencies - run: dnf -y install ccache portaudio-devel + run: dnf -y install --allowerasing ccache portaudio-devel - name: Checkout uses: actions/checkout@v4 - name: fix git |
From: <sv...@op...> - 2025-04-01 12:15:41
|
Author: manx Date: Tue Apr 1 14:15:14 2025 New Revision: 23121 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23121 Log: Merged revision(s) 23120 from trunk/OpenMPT: [Fix] build: CI: GitHub: RHEL: Add --allowerasing when installing dependencies. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml Modified: branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml Tue Apr 1 14:14:45 2025 (r23120) +++ branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml Tue Apr 1 14:15:14 2025 (r23121) @@ -40,11 +40,11 @@ if: ${{ matrix.version == 'rockylinux:9' }} run: dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-enabled crb && dnf -y config-manager --set-enabled devel && dnf -y clean all && dnf -y upgrade --refresh - name: Install dependencies - run: dnf -y install subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + run: dnf -y install --allowerasing subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel - name: Enable EPEL run: dnf -y install epel-release - name: Install EPEL dependencies - run: dnf -y install ccache portaudio-devel + run: dnf -y install --allowerasing ccache portaudio-devel - name: Checkout uses: actions/checkout@v4 - name: fix git Modified: branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml Tue Apr 1 14:14:45 2025 (r23120) +++ branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml Tue Apr 1 14:15:14 2025 (r23121) @@ -48,11 +48,11 @@ if: ${{ matrix.version == 'rockylinux:9' }} run: dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-enabled crb && dnf -y config-manager --set-enabled devel && dnf -y clean all && dnf -y upgrade --refresh - name: Install dependencies - run: dnf -y install subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + run: dnf -y install --allowerasing subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel - name: Enable EPEL run: dnf -y install epel-release - name: Install EPEL dependencies - run: dnf -y install ccache portaudio-devel + run: dnf -y install --allowerasing ccache portaudio-devel - name: Checkout uses: actions/checkout@v4 - name: fix git |
From: <sv...@op...> - 2025-04-01 12:15:12
|
Author: manx Date: Tue Apr 1 14:14:45 2025 New Revision: 23120 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23120 Log: [Fix] build: CI: GitHub: RHEL: Add --allowerasing when installing dependencies. Modified: trunk/OpenMPT/.github/workflows/RHEL-Autotools.yml trunk/OpenMPT/.github/workflows/RHEL-Makefile.yml Modified: trunk/OpenMPT/.github/workflows/RHEL-Autotools.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/RHEL-Autotools.yml Tue Apr 1 14:07:43 2025 (r23119) +++ trunk/OpenMPT/.github/workflows/RHEL-Autotools.yml Tue Apr 1 14:14:45 2025 (r23120) @@ -42,11 +42,11 @@ if: ${{ matrix.version == 'rockylinux:9' }} run: dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-enabled crb && dnf -y config-manager --set-enabled devel && dnf -y clean all && dnf -y upgrade --refresh - name: Install dependencies - run: dnf -y install subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + run: dnf -y install --allowerasing subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel - name: Enable EPEL run: dnf -y install epel-release - name: Install EPEL dependencies - run: dnf -y install ccache portaudio-devel + run: dnf -y install --allowerasing ccache portaudio-devel - name: Checkout uses: actions/checkout@v4 - name: fix git Modified: trunk/OpenMPT/.github/workflows/RHEL-Makefile.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/RHEL-Makefile.yml Tue Apr 1 14:07:43 2025 (r23119) +++ trunk/OpenMPT/.github/workflows/RHEL-Makefile.yml Tue Apr 1 14:14:45 2025 (r23120) @@ -50,11 +50,11 @@ if: ${{ matrix.version == 'rockylinux:9' }} run: dnf -y install 'dnf-command(config-manager)' && dnf -y config-manager --set-enabled crb && dnf -y config-manager --set-enabled devel && dnf -y clean all && dnf -y upgrade --refresh - name: Install dependencies - run: dnf -y install subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel + run: dnf -y install --allowerasing subversion perl-XML-XPath git gawk zip unzip xz make binutils gcc gcc-c++ clang pkgconf help2man doxygen autoconf autoconf-archive automake libtool zlib-devel mpg123-devel libogg-devel libvorbis-devel pulseaudio-libs-devel SDL2-devel flac-devel libsndfile-devel libtool-ltdl-devel - name: Enable EPEL run: dnf -y install epel-release - name: Install EPEL dependencies - run: dnf -y install ccache portaudio-devel + run: dnf -y install --allowerasing ccache portaudio-devel - name: Checkout uses: actions/checkout@v4 - name: fix git |
From: <sv...@op...> - 2025-04-01 12:08:10
|
Author: manx Date: Tue Apr 1 14:07:43 2025 New Revision: 23119 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23119 Log: Merged revision(s) 23117 from trunk/OpenMPT: [Reg] CI: Github: MSYS: MSYS2 is dropping all 32 bit support (see <https://www.msys2.org/news/#2023-12-13-starting-to-drop-some-32-bit-packages>). This is now starting to affect our dependencies. Remove all MSYS2 32bit GitHub actions. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/.github/workflows/MSYS2-Autotools.yml branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile-Clang.yml branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile.yml Modified: branches/OpenMPT-1.31/.github/workflows/MSYS2-Autotools.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/MSYS2-Autotools.yml Tue Apr 1 14:07:24 2025 (r23118) +++ branches/OpenMPT-1.31/.github/workflows/MSYS2-Autotools.yml Tue Apr 1 14:07:43 2025 (r23119) @@ -14,7 +14,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-autotools-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} Modified: branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile-Clang.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile-Clang.yml Tue Apr 1 14:07:24 2025 (r23118) +++ branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile-Clang.yml Tue Apr 1 14:07:43 2025 (r23119) @@ -14,7 +14,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-autotools-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} Modified: branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile.yml Tue Apr 1 14:07:24 2025 (r23118) +++ branches/OpenMPT-1.31/.github/workflows/MSYS2-Makefile.yml Tue Apr 1 14:07:43 2025 (r23119) @@ -14,7 +14,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} |
From: <sv...@op...> - 2025-04-01 12:07:46
|
Author: manx Date: Tue Apr 1 14:07:24 2025 New Revision: 23118 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23118 Log: Merged revision(s) 23117 from trunk/OpenMPT: [Reg] CI: Github: MSYS: MSYS2 is dropping all 32 bit support (see <https://www.msys2.org/news/#2023-12-13-starting-to-drop-some-32-bit-packages>). This is now starting to affect our dependencies. Remove all MSYS2 32bit GitHub actions. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml Modified: branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml Tue Apr 1 14:06:44 2025 (r23117) +++ branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml Tue Apr 1 14:07:24 2025 (r23118) @@ -14,7 +14,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-autotools-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} Modified: branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml Tue Apr 1 14:06:44 2025 (r23117) +++ branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml Tue Apr 1 14:07:24 2025 (r23118) @@ -14,7 +14,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-autotools-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} Modified: branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml Tue Apr 1 14:06:44 2025 (r23117) +++ branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml Tue Apr 1 14:07:24 2025 (r23118) @@ -14,7 +14,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} |