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
(45) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2025-06-06 07:50:51
|
Author: manx Date: Fri Jun 6 09:50:39 2025 New Revision: 23370 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23370 Log: [Fix] build: Premake: Fix typo. Modified: trunk/OpenMPT/build/premake/premake.lua Modified: trunk/OpenMPT/build/premake/premake.lua ============================================================================== --- trunk/OpenMPT/build/premake/premake.lua Fri Jun 6 09:48:44 2025 (r23369) +++ trunk/OpenMPT/build/premake/premake.lua Fri Jun 6 09:50:39 2025 (r23370) @@ -30,7 +30,7 @@ { "win7", "Windows 7" }, { "win8", "Windows 8" }, { "win81", "Windows 8.1" }, - { "win10", "Wiondows 10" } + { "win10", "Wiondows 10" }, { "win11", "Wiondows 11" } } } |
From: <sv...@op...> - 2025-06-06 07:48:52
|
Author: manx Date: Fri Jun 6 09:48:44 2025 New Revision: 23369 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23369 Log: [New] build: Premake: Add Windows 11 23H2 project files. [Mod] build: Premake: Change Windows 10 minimum requirements to Windows 10 22H2. [Mod] Installer: Modern builds now require Windows 11 23H2. [Mod] libopenmpt: Modern Windows builds now require Windows 11 23H2. [Ref] build: Premake: Remove Clang Windows 10 project files, only Windows 11 files are provided now. Modified: trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py trunk/OpenMPT/build/auto/package_libopenmpt_multi_args.cmd trunk/OpenMPT/build/auto/setup_arguments.cmd trunk/OpenMPT/build/build_openmpt_release.cmd trunk/OpenMPT/build/premake/premake-defaults.lua trunk/OpenMPT/build/premake/premake.lua trunk/OpenMPT/build/regenerate_vs_projects.cmd trunk/OpenMPT/build/regenerate_vs_projects.sh trunk/OpenMPT/installer/generate_update_json.py trunk/OpenMPT/installer/install-multi-arch.iss Modified: trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py ============================================================================== --- trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py Fri Jun 6 09:48:44 2025 (r23369) @@ -167,7 +167,7 @@ raise Exception("Something went wrong during manual creation!") -sourcePathModern = "bin/release/vs2022-win10-static/" +sourcePathModern = "bin/release/vs2022-win11-static/" sourcePathLegacyARM = "bin/release/vs2022-win8-static/" sourcePathLegacy = "bin/release/vs2022-win7-static/" Modified: trunk/OpenMPT/build/auto/package_libopenmpt_multi_args.cmd ============================================================================== --- trunk/OpenMPT/build/auto/package_libopenmpt_multi_args.cmd Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/auto/package_libopenmpt_multi_args.cmd Fri Jun 6 09:48:44 2025 (r23369) @@ -83,24 +83,24 @@ copy /y ..\..\libopenmpt\in_openmpt\in_openmpt.txt .\Winamp\ || goto error copy /y ..\..\libopenmpt\xmp-openmpt\xmp-openmpt.txt .\XMPlay-legacy\ || goto error copy /y ..\..\libopenmpt\in_openmpt\in_openmpt.txt .\Winamp-legacy\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\x86\openmpt123.exe .\openmpt123\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\x86\openmpt-mpg123.dll .\openmpt123\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\amd64\openmpt123.exe .\openmpt123\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\amd64\openmpt-mpg123.dll .\openmpt123\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm64\openmpt123.exe .\openmpt123\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm64\openmpt-mpg123.dll .\openmpt123\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm64ec\openmpt123.exe .\openmpt123\arm64ec\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\arm64ec\openmpt-mpg123.dll .\openmpt123\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\x86\openmpt123.exe .\openmpt123\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\x86\openmpt-mpg123.dll .\openmpt123\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\amd64\openmpt123.exe .\openmpt123\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\amd64\openmpt-mpg123.dll .\openmpt123\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\arm64\openmpt123.exe .\openmpt123\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\arm64\openmpt-mpg123.dll .\openmpt123\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\arm64ec\openmpt123.exe .\openmpt123\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\arm64ec\openmpt-mpg123.dll .\openmpt123\arm64ec\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win8-static\arm\openmpt123.exe .\openmpt123\arm-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win8-static\arm\openmpt-mpg123.dll .\openmpt123\arm-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\openmpt123.exe .\openmpt123\x86-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\openmpt-mpg123.dll .\openmpt123\x86-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\amd64\openmpt123.exe .\openmpt123\amd64-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\amd64\openmpt-mpg123.dll .\openmpt123\amd64-legacy\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\x86\xmp-openmpt.dll .\XMPlay\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\x86\openmpt-mpg123.dll .\XMPlay\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\x86\in_openmpt.dll .\Winamp\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-static\x86\openmpt-mpg123.dll .\Winamp\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\x86\xmp-openmpt.dll .\XMPlay\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\x86\openmpt-mpg123.dll .\XMPlay\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\x86\in_openmpt.dll .\Winamp\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-static\x86\openmpt-mpg123.dll .\Winamp\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\xmp-openmpt.dll .\XMPlay-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\openmpt-mpg123.dll .\XMPlay-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win7-static\x86\in_openmpt.dll .\Winamp-legacy\ || goto error @@ -217,30 +217,30 @@ copy /y ..\..\libopenmpt\libopenmpt_stream_callbacks_file_msvcrt.h inc\libopenmpt\ || goto error copy /y ..\..\libopenmpt\libopenmpt_stream_callbacks_file_posix.h inc\libopenmpt\ || goto error copy /y ..\..\libopenmpt\libopenmpt_stream_callbacks_file_posix_lfs64.h inc\libopenmpt\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\x86\libopenmpt.lib lib\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\x86\libopenmpt.dll bin\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\x86\openmpt-mpg123.dll bin\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\x86\openmpt-ogg.dll bin\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\x86\openmpt-vorbis.dll bin\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\x86\openmpt-zlib.dll bin\x86\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\amd64\libopenmpt.lib lib\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\amd64\libopenmpt.dll bin\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\amd64\openmpt-mpg123.dll bin\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\amd64\openmpt-ogg.dll bin\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\amd64\openmpt-vorbis.dll bin\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\amd64\openmpt-zlib.dll bin\amd64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\libopenmpt.lib lib\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\libopenmpt.dll bin\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-mpg123.dll bin\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-ogg.dll bin\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-vorbis.dll bin\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64\openmpt-zlib.dll bin\arm64\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64ec\libopenmpt.lib lib\arm64ec\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64ec\libopenmpt.dll bin\arm64ec\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64ec\openmpt-mpg123.dll bin\arm64ec\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64ec\openmpt-ogg.dll bin\arm64ec\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64ec\openmpt-vorbis.dll bin\arm64ec\ || goto error -copy /y ..\..\bin\release\%MPT_VS_VER%-win10-shared\arm64ec\openmpt-zlib.dll bin\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\x86\libopenmpt.lib lib\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\x86\libopenmpt.dll bin\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\x86\openmpt-mpg123.dll bin\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\x86\openmpt-ogg.dll bin\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\x86\openmpt-vorbis.dll bin\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\x86\openmpt-zlib.dll bin\x86\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\amd64\libopenmpt.lib lib\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\amd64\libopenmpt.dll bin\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\amd64\openmpt-mpg123.dll bin\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\amd64\openmpt-ogg.dll bin\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\amd64\openmpt-vorbis.dll bin\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\amd64\openmpt-zlib.dll bin\amd64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64\libopenmpt.lib lib\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64\libopenmpt.dll bin\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64\openmpt-mpg123.dll bin\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64\openmpt-ogg.dll bin\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64\openmpt-vorbis.dll bin\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64\openmpt-zlib.dll bin\arm64\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64ec\libopenmpt.lib lib\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64ec\libopenmpt.dll bin\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64ec\openmpt-mpg123.dll bin\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64ec\openmpt-ogg.dll bin\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64ec\openmpt-vorbis.dll bin\arm64ec\ || goto error +copy /y ..\..\bin\release\%MPT_VS_VER%-win11-shared\arm64ec\openmpt-zlib.dll bin\arm64ec\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win8-shared\arm\libopenmpt.lib lib\arm-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win8-shared\arm\libopenmpt.dll bin\arm-legacy\ || goto error copy /y ..\..\bin\release\%MPT_VS_VER%-win8-shared\arm\openmpt-mpg123.dll bin\arm-legacy\ || goto error Modified: trunk/OpenMPT/build/auto/setup_arguments.cmd ============================================================================== --- trunk/OpenMPT/build/auto/setup_arguments.cmd Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/auto/setup_arguments.cmd Fri Jun 6 09:48:44 2025 (r23369) @@ -31,7 +31,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_VS_WITHTARGET=%MPT_VS_VER%win8 if "%MPT_VS_TARGET%" == "win81" set MPT_VS_WITHTARGET=%MPT_VS_VER%win81 if "%MPT_VS_TARGET%" == "win10" set MPT_VS_WITHTARGET=%MPT_VS_VER%win10 -if "%MPT_VS_TARGET%" == "default" set MPT_VS_WITHTARGET=%MPT_VS_VER%win10 +if "%MPT_VS_TARGET%" == "win11" set MPT_VS_WITHTARGET=%MPT_VS_VER%win11 +if "%MPT_VS_TARGET%" == "default" set MPT_VS_WITHTARGET=%MPT_VS_VER%win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_VS_WITHTARGET=%MPT_VS_VER%win10clang @@ -43,7 +44,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_BIN_TARGET=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10 - if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win10 + if "%MPT_VS_TARGET%" == "win11" set MPT_BIN_TARGET=win11 + if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang ) if "%MPT_VS_ARCH%" == "x64" ( @@ -54,7 +56,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_BIN_TARGET=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10 - if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win10 + if "%MPT_VS_TARGET%" == "win11" set MPT_BIN_TARGET=win11 + if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang ) if "%MPT_VS_ARCH%" == "ARM" ( @@ -65,7 +68,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_BIN_TARGET=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10 - if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win10 + if "%MPT_VS_TARGET%" == "win11" set MPT_BIN_TARGET=win11 + if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang ) if "%MPT_VS_ARCH%" == "ARM64" ( @@ -76,7 +80,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_BIN_TARGET=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10 - if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win10 + if "%MPT_VS_TARGET%" == "win11" set MPT_BIN_TARGET=win11 + if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang ) if "%MPT_VS_ARCH%" == "ARM64EC" ( @@ -87,7 +92,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_BIN_TARGET=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET=win10 - if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win10 + if "%MPT_VS_TARGET%" == "win11" set MPT_BIN_TARGET=win11 + if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET=win10clang ) @@ -98,7 +104,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_BIN_TARGET32=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET32=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET32=win10 -if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET32=win10 +if "%MPT_VS_TARGET%" == "win11" set MPT_BIN_TARGET32=win11 +if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET32=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET32=win10clang if "%MPT_VS_TARGET%" == "winxpansi" set MPT_BIN_TARGET64=winxpansi @@ -108,7 +115,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_BIN_TARGET64=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_BIN_TARGET64=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_BIN_TARGET64=win10 -if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET64=win10 +if "%MPT_VS_TARGET%" == "win11" set MPT_BIN_TARGET64=win11 +if "%MPT_VS_TARGET%" == "default" set MPT_BIN_TARGET64=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_BIN_TARGET64=win10clang if "%MPT_VS_ARCH%" == "Win32" set MPT_BIN_ARCH_TRK=x86 @@ -143,7 +151,8 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_DIST_VARIANT_OS=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_DIST_VARIANT_OS=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_DIST_VARIANT_OS=win10 -if "%MPT_VS_TARGET%" == "default" set MPT_DIST_VARIANT_OS=win10 +if "%MPT_VS_TARGET%" == "win11" set MPT_DIST_VARIANT_OS=win11 +if "%MPT_VS_TARGET%" == "default" set MPT_DIST_VARIANT_OS=win11 if "%MPT_VS_TARGET%" == "win10clang" set MPT_DIST_VARIANT_OS=win10clang set MPT_DIST_VARIANT=%MPT_DIST_VARIANT_OS%-%MPT_DIST_VARIANT_ARCH% @@ -156,6 +165,7 @@ if "%MPT_VS_TARGET%" == "win8" set MPT_DIST_VARIANT_PREFIX=win8 if "%MPT_VS_TARGET%" == "win81" set MPT_DIST_VARIANT_PREFIX=win81 if "%MPT_VS_TARGET%" == "win10" set MPT_DIST_VARIANT_PREFIX=win10 +if "%MPT_VS_TARGET%" == "win11" set MPT_DIST_VARIANT_PREFIX=win11 if "%MPT_VS_TARGET%" == "default" set MPT_DIST_VARIANT_PREFIX= if "%MPT_VS_TARGET%" == "win10clang" set MPT_DIST_VARIANT_PREFIX=win10clang Modified: trunk/OpenMPT/build/build_openmpt_release.cmd ============================================================================== --- trunk/OpenMPT/build/build_openmpt_release.cmd Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/build_openmpt_release.cmd Fri Jun 6 09:48:44 2025 (r23369) @@ -10,10 +10,10 @@ cmd /c build\download_externals.cmd auto nodownload || goto error cmd /c build\auto\update_package_template.cmd || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 Win32 Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 x64 Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 ARM64 Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 ARM64EC Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win11 Win32 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win11 x64 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win11 ARM64 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win11 ARM64EC Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win8 ARM Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 Win32 Release 7z default || goto error cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 x64 Release 7z default || goto error Modified: trunk/OpenMPT/build/premake/premake-defaults.lua ============================================================================== --- trunk/OpenMPT/build/premake/premake-defaults.lua Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/premake/premake-defaults.lua Fri Jun 6 09:48:44 2025 (r23369) @@ -385,49 +385,31 @@ filter { "action:vs2019" } systemversion "10.0.20348.0" filter {} - filter { "action:vs2022", "architecture:ARM" } + filter { "action:vs2022" } if _OPTIONS["windows-version"] == "win7" then systemversion "10.0.20348.0" elseif _OPTIONS["windows-version"] == "win8" then systemversion "10.0.20348.0" elseif _OPTIONS["windows-version"] == "win81" then systemversion "10.0.20348.0" - else + elseif _OPTIONS["windows-version"] == "win10" then systemversion "10.0.22621.0" - end - filter {} - filter { "action:vs2022", "not architecture:ARM" } - if _OPTIONS["windows-version"] == "win7" then - systemversion "10.0.20348.0" - elseif _OPTIONS["windows-version"] == "win8" then - systemversion "10.0.20348.0" - elseif _OPTIONS["windows-version"] == "win81" then - systemversion "10.0.20348.0" + elseif _OPTIONS["windows-version"] == "win11" then + systemversion "10.0.26100.0" else systemversion "10.0.26100.0" end filter {} end - if _OPTIONS["windows-version"] == "win10" then + if _OPTIONS["windows-version"] == "win11" then filter {} defines { "_WIN32_WINNT=0x0A00" } + defines { "NTDDI_VERSION=0x0A000010" } -- Windows 11 23H2 Build 22631 + elseif _OPTIONS["windows-version"] == "win10" then filter {} - filter { "architecture:x86" } - defines { "NTDDI_VERSION=0x0A00000C" } -- Windows 10 21H2 Build 19044 - filter {} - filter { "architecture:x86_64" } - defines { "NTDDI_VERSION=0x0A00000C" } -- Windows 10 21H2 Build 19044 - filter {} - filter { "architecture:ARM" } - defines { "NTDDI_VERSION=0x0A00000C" } -- Windows 10 21H2 Build 19044 - filter {} - filter { "architecture:ARM64" } - defines { "NTDDI_VERSION=0x0A00000C" } -- Windows 10 21H2 Build 19044 - filter {} - filter { "architecture:ARM64EC" } - defines { "NTDDI_VERSION=0x0A00000E" } -- Windows 11 Build 22000 - filter {} + defines { "_WIN32_WINNT=0x0A00" } + defines { "NTDDI_VERSION=0x0A00000D" } -- Windows 10 22H2 Build 19045 elseif _OPTIONS["windows-version"] == "win81" then filter {} defines { "_WIN32_WINNT=0x0603" } Modified: trunk/OpenMPT/build/premake/premake.lua ============================================================================== --- trunk/OpenMPT/build/premake/premake.lua Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/premake/premake.lua Fri Jun 6 09:48:44 2025 (r23369) @@ -31,6 +31,7 @@ { "win8", "Windows 8" }, { "win81", "Windows 8.1" }, { "win10", "Wiondows 10" } + { "win11", "Wiondows 11" } } } @@ -172,16 +173,16 @@ mpt_projectpathname = _ACTION .. _OPTIONS["windows-version"] mpt_bindirsuffix = _OPTIONS["windows-version"] -if _OPTIONS["windows-version"] == "win10" then +if _OPTIONS["windows-version"] == "win11" then if _OPTIONS["clang"] then - allplatforms = { "x86", "x86_64", "arm", "arm64" } + allplatforms = { "x86", "x86_64", "arm64" } + elseif _OPTIONS["windows-family"] == "uwp" then + allplatforms = { "x86", "x86_64", "arm64" } else - if _OPTIONS["windows-family"] == "uwp" then - allplatforms = { "x86", "x86_64", "arm", "arm64" } - else - allplatforms = { "x86", "x86_64", "arm", "arm64", "arm64ec" } - end + allplatforms = { "x86", "x86_64", "arm64", "arm64ec" } end +elseif _OPTIONS["windows-version"] == "win10" then + allplatforms = { "x86", "x86_64", "arm", "arm64" } elseif _OPTIONS["windows-version"] == "win81" then allplatforms = { "x86", "x86_64", "arm" } elseif _OPTIONS["windows-version"] == "win8" then Modified: trunk/OpenMPT/build/regenerate_vs_projects.cmd ============================================================================== --- trunk/OpenMPT/build/regenerate_vs_projects.cmd Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/regenerate_vs_projects.cmd Fri Jun 6 09:48:44 2025 (r23369) @@ -97,14 +97,25 @@ echo Done ^) ^|^| pause start cmd /c ^( ^ -%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --clang --windows-version=win10 ^&^& ^ -%PREMAKE% --file=build/premake/premake.lua --group=in_openmpt vs2022 --clang --windows-version=win10 ^&^& ^ -%PREMAKE% --file=build/premake/premake.lua --group=xmp-openmpt vs2022 --clang --windows-version=win10 ^&^& ^ -%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --clang --windows-version=win10 ^&^& ^ -%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt vs2022 --clang --windows-version=win10 ^&^& ^ -%PREMAKE% --file=build/premake/premake.lua --group=openmpt123 vs2022 --clang --windows-version=win10 ^&^& ^ -%PREMAKE% --file=build/premake/premake.lua --group=PluginBridge vs2022 --clang --windows-version=win10 ^&^& ^ -%PREMAKE% --file=build/premake/premake.lua --group=OpenMPT vs2022 --clang --windows-version=win10 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=in_openmpt vs2022 --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=xmp-openmpt vs2022 --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt vs2022 --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=openmpt123 vs2022 --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=PluginBridge vs2022 --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=OpenMPT vs2022 --windows-version=win11 ^&^& ^ +echo Done ^) ^|^| pause + +start cmd /c ^( ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --clang --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=in_openmpt vs2022 --clang --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=xmp-openmpt vs2022 --clang --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --clang --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt vs2022 --clang --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=openmpt123 vs2022 --clang --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=PluginBridge vs2022 --clang --windows-version=win11 ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=OpenMPT vs2022 --clang --windows-version=win11 ^&^& ^ echo Done ^) ^|^| pause start cmd /c ^( ^ @@ -115,6 +126,13 @@ echo Done ^) ^|^| pause start cmd /c ^( ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --windows-version=win11 --windows-family=uwp ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --windows-version=win11 --windows-family=uwp ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=libopenmpt vs2022 --windows-version=win11 --windows-family=uwp ^&^& ^ +%PREMAKE% --file=build/premake/premake.lua --group=openmpt123 vs2022 --windows-version=win11 --windows-family=uwp ^&^& ^ +echo Done ^) ^|^| pause + +start cmd /c ^( ^ %PREMAKE% --file=build/premake-xcode/premake.lua --target=macosx xcode4 ^&^& ^ %PREMAKE% --file=build/premake-xcode/premake.lua --target=ios xcode4 ^&^& ^ echo Done ^) ^|^| pause Modified: trunk/OpenMPT/build/regenerate_vs_projects.sh ============================================================================== --- trunk/OpenMPT/build/regenerate_vs_projects.sh Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/build/regenerate_vs_projects.sh Fri Jun 6 09:48:44 2025 (r23369) @@ -92,14 +92,24 @@ ${PREMAKE} --file=build/premake/premake.lua --group=OpenMPT vs2022 --windows-version=win10 && \ echo ok & -${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --clang --windows-version=win10 && \ -${PREMAKE} --file=build/premake/premake.lua --group=in_openmpt vs2022 --clang --windows-version=win10 && \ -${PREMAKE} --file=build/premake/premake.lua --group=xmp-openmpt vs2022 --clang --windows-version=win10 && \ -${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --clang --windows-version=win10 && \ -${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt vs2022 --clang --windows-version=win10 && \ -${PREMAKE} --file=build/premake/premake.lua --group=openmpt123 vs2022 --clang --windows-version=win10 && \ -${PREMAKE} --file=build/premake/premake.lua --group=PluginBridge vs2022 --clang --windows-version=win10 && \ -${PREMAKE} --file=build/premake/premake.lua --group=OpenMPT vs2022 --clang --windows-version=win10 && \ +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=in_openmpt vs2022 --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=xmp-openmpt vs2022 --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt vs2022 --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=openmpt123 vs2022 --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=PluginBridge vs2022 --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=OpenMPT vs2022 --windows-version=win11 && \ +echo ok & + +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --clang --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=in_openmpt vs2022 --clang --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=xmp-openmpt vs2022 --clang --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --clang --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt vs2022 --clang --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=openmpt123 vs2022 --clang --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=PluginBridge vs2022 --clang --windows-version=win11 && \ +${PREMAKE} --file=build/premake/premake.lua --group=OpenMPT vs2022 --clang --windows-version=win11 && \ echo ok & ${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --windows-version=win10 --windows-family=uwp && \ @@ -108,6 +118,12 @@ ${PREMAKE} --file=build/premake/premake.lua --group=openmpt123 vs2022 --windows-version=win10 --windows-family=uwp && \ echo ok & +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt_test vs2022 --windows-version=win11 --windows-family=uwp && \ +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt-small vs2022 --windows-version=win11 --windows-family=uwp && \ +${PREMAKE} --file=build/premake/premake.lua --group=libopenmpt vs2022 --windows-version=win11 --windows-family=uwp && \ +${PREMAKE} --file=build/premake/premake.lua --group=openmpt123 vs2022 --windows-version=win11 --windows-family=uwp && \ +echo ok & + ${PREMAKE} --file=build/premake-xcode/premake.lua --target=macosx xcode4 && \ ${PREMAKE} --file=build/premake-xcode/premake.lua --target=ios xcode4 && \ echo ok & Modified: trunk/OpenMPT/installer/generate_update_json.py ============================================================================== --- trunk/OpenMPT/installer/generate_update_json.py Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/installer/generate_update_json.py Fri Jun 6 09:48:44 2025 (r23369) @@ -203,7 +203,7 @@ "can_autoupdate": True, "autoupdate_minversion": "1.30.00.08", "os": "windows", - "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":19044, "wine_major":1, "wine_minor":8, "wine_update":0 }, + "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":22631, "wine_major":1, "wine_minor":8, "wine_update":0 }, "required_architectures": {}, "supported_architectures": { "x86":True }, "required_processor_features": { "x86":{"sse2":True} } @@ -227,7 +227,7 @@ "can_autoupdate": True, "autoupdate_minversion": "1.30.00.08", "os": "windows", - "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":19044, "wine_major":1, "wine_minor":8, "wine_update":0 }, + "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":22631, "wine_major":1, "wine_minor":8, "wine_update":0 }, "required_architectures": {}, "supported_architectures": { "amd64":True }, "required_processor_features": { "amd64":{"sse2":True} } @@ -263,7 +263,7 @@ "can_autoupdate": True, "autoupdate_minversion": "1.30.00.08", "os": "windows", - "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":19044, "wine_major":1, "wine_minor":8, "wine_update":0 }, + "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":22631, "wine_major":1, "wine_minor":8, "wine_update":0 }, "required_architectures": {}, "supported_architectures": { "arm64":True }, "required_processor_features": { "arm64":{} } @@ -275,7 +275,7 @@ "can_autoupdate": True, "autoupdate_minversion": "1.30.00.08", "os": "windows", - "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":22000, "wine_major":1, "wine_minor":8, "wine_update":0 }, + "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":22631, "wine_major":1, "wine_minor":8, "wine_update":0 }, "required_architectures": {}, "supported_architectures": { "arm64":True }, "required_processor_features": { "arm64":{} } Modified: trunk/OpenMPT/installer/install-multi-arch.iss ============================================================================== --- trunk/OpenMPT/installer/install-multi-arch.iss Fri Jun 6 08:53:51 2025 (r23368) +++ trunk/OpenMPT/installer/install-multi-arch.iss Fri Jun 6 09:48:44 2025 (r23369) @@ -3,7 +3,7 @@ -#define BuildFolder "release\vs2022-win10-static" +#define BuildFolder "release\vs2022-win11-static" #define BuildFolderLegacyarm "release\vs2022-win8-static" #define BuildFolderLegacyx86 "release\vs2022-win7-static" #define BuildFolderLegacyamd64 "release\vs2022-win7-static" @@ -86,27 +86,27 @@ ; note: packageTemplate\ contains files specific for the "install package". ; for files that are common with the "zip package", use ..\packageTemplate\ -Source: ..\bin\{#BuildFolder}\x86\OpenMPT.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\x86\PluginBridge-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\x86\PluginBridgeLegacy-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\x86\openmpt-lame.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\x86\openmpt-mpg123.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyx86}\x86\OpenMPT.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyx86}\x86\PluginBridge-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyx86}\x86\PluginBridgeLegacy-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyx86}\x86\openmpt-lame.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyx86}\x86\openmpt-mpg123.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.19044 - -Source: ..\bin\{#BuildFolder}\amd64\OpenMPT.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\amd64\PluginBridge-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\amd64\PluginBridgeLegacy-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\amd64\openmpt-lame.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\amd64\openmpt-mpg123.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\OpenMPT.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\PluginBridge-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\PluginBridgeLegacy-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\openmpt-lame.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.19044 -Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\openmpt-mpg123.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.19044 +Source: ..\bin\{#BuildFolder}\x86\OpenMPT.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\x86\PluginBridge-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\x86\PluginBridgeLegacy-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\x86\openmpt-lame.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\x86\openmpt-mpg123.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyx86}\x86\OpenMPT.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyx86}\x86\PluginBridge-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyx86}\x86\PluginBridgeLegacy-x86.exe; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyx86}\x86\openmpt-lame.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyx86}\x86\openmpt-mpg123.dll; DestDir: {app}\bin\x86; Flags: ignoreversion; Components: archx86; OnlyBelowVersion: 10.0.22631 + +Source: ..\bin\{#BuildFolder}\amd64\OpenMPT.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\amd64\PluginBridge-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\amd64\PluginBridgeLegacy-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\amd64\openmpt-lame.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\amd64\openmpt-mpg123.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\OpenMPT.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\PluginBridge-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\PluginBridgeLegacy-amd64.exe; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\openmpt-lame.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.22631 +Source: ..\bin\{#BuildFolderLegacyamd64}\amd64\openmpt-mpg123.dll; DestDir: {app}\bin\amd64; Flags: ignoreversion; Components: archamd64; OnlyBelowVersion: 10.0.22631 Source: ..\bin\{#BuildFolderLegacyarm}\arm\OpenMPT.exe; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm; MinVersion: 6.2 Source: ..\bin\{#BuildFolderLegacyarm}\arm\PluginBridge-arm.exe; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm; MinVersion: 6.2 @@ -114,17 +114,17 @@ Source: ..\bin\{#BuildFolderLegacyarm}\arm\openmpt-lame.dll; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm; MinVersion: 6.2 Source: ..\bin\{#BuildFolderLegacyarm}\arm\openmpt-mpg123.dll; DestDir: {app}\bin\arm; Flags: ignoreversion; Components: archarm; MinVersion: 6.2 -Source: ..\bin\{#BuildFolder}\arm64\OpenMPT.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\arm64\PluginBridge-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\arm64\PluginBridgeLegacy-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\arm64\openmpt-lame.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.19044 -Source: ..\bin\{#BuildFolder}\arm64\openmpt-mpg123.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.19044 - -Source: ..\bin\{#BuildFolder}\arm64ec\OpenMPT.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 -Source: ..\bin\{#BuildFolder}\arm64ec\PluginBridge-arm64ec.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 -Source: ..\bin\{#BuildFolder}\arm64ec\PluginBridgeLegacy-arm64ec.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 -Source: ..\bin\{#BuildFolder}\arm64ec\openmpt-lame.dll; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 -Source: ..\bin\{#BuildFolder}\arm64ec\openmpt-mpg123.dll; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 +Source: ..\bin\{#BuildFolder}\arm64\OpenMPT.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64\PluginBridge-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64\PluginBridgeLegacy-arm64.exe; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64\openmpt-lame.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64\openmpt-mpg123.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 + +Source: ..\bin\{#BuildFolder}\arm64ec\OpenMPT.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64ec\PluginBridge-arm64ec.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64ec\PluginBridgeLegacy-arm64ec.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64ec\openmpt-lame.dll; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 +Source: ..\bin\{#BuildFolder}\arm64ec\openmpt-mpg123.dll; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22631 Source: "..\mptrack\res\MPTRACK.ICO"; DestName: "OpenMPT App Icon.ico"; DestDir: "{app}"; Flags: ignoreversion Source: "..\packageTemplate\OpenMPT File Icon.ico"; DestName: "OpenMPT File Icon.ico"; DestDir: "{app}"; Flags: ignoreversion @@ -166,8 +166,8 @@ Name: {group}\OpenMPT (x86); Filename: {app}\bin\x86\OpenMPT.exe; Components: archx86 Name: {group}\OpenMPT (amd64); Filename: {app}\bin\amd64\OpenMPT.exe; Components: archamd64 Name: {group}\OpenMPT (arm); Filename: {app}\bin\arm\OpenMPT.exe; Components: archarm; MinVersion: 6.2 -Name: {group}\OpenMPT (arm64); Filename: {app}\bin\arm64\OpenMPT.exe; Components: archarm64; MinVersion: 10.0.19044 -Name: {group}\OpenMPT (arm64ec); Filename: {app}\bin\arm64ec\OpenMPT.exe; Components: archarm64; MinVersion: 10.0.22000 +Name: {group}\OpenMPT (arm64); Filename: {app}\bin\arm64\OpenMPT.exe; Components: archarm64; MinVersion: 10.0.22631 +Name: {group}\OpenMPT (arm64ec); Filename: {app}\bin\arm64ec\OpenMPT.exe; Components: archarm64; MinVersion: 10.0.22631 Name: {group}\Manual; Filename: {app}\OpenMPT Manual.chm Name: {group}\Support and Community Forum; Filename: {app}\OpenMPT Support and Community Forum.url |
From: <sv...@op...> - 2025-06-06 06:54:02
|
Author: manx Date: Fri Jun 6 08:53:51 2025 New Revision: 23368 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23368 Log: Merged revision(s) 23289 from trunk/OpenMPT: [Imp] build: CI: GitHub: macOS: Add XCode 16.4. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Modified: branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml Fri Jun 6 08:53:07 2025 (r23367) +++ branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml Fri Jun 6 08:53:51 2025 (r23368) @@ -10,6 +10,7 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.4' } - { host: macos-15, compiler: '16.3' } - { host: macos-15, compiler: '16.2' } - { host: macos-15, compiler: '16.1' } Modified: branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Fri Jun 6 08:53:07 2025 (r23367) +++ branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Fri Jun 6 08:53:51 2025 (r23368) @@ -11,6 +11,28 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.4', arch: '' , target: '' , deps: sys , check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.3', arch: '' , target: '' , deps: sys , check: true , ancient: false } - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: local, check: true , ancient: false } |
From: <sv...@op...> - 2025-06-06 06:53:13
|
Author: manx Date: Fri Jun 6 08:53:07 2025 New Revision: 23367 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23367 Log: Merged revision(s) 23289 from trunk/OpenMPT: [Imp] build: CI: GitHub: macOS: Add XCode 16.4. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Modified: branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml Fri Jun 6 00:15:38 2025 (r23366) +++ branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml Fri Jun 6 08:53:07 2025 (r23367) @@ -10,6 +10,7 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.4' } - { host: macos-15, compiler: '16.3' } - { host: macos-15, compiler: '16.2' } - { host: macos-15, compiler: '16.1' } Modified: branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Fri Jun 6 00:15:38 2025 (r23366) +++ branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Fri Jun 6 08:53:07 2025 (r23367) @@ -11,6 +11,28 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.4', arch: '' , target: '' , deps: sys , check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: arm64 , target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.4', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.3', arch: '' , target: '' , deps: sys , check: true , ancient: false } - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: local, check: true , ancient: false } |
From: <sv...@op...> - 2025-06-05 22:15:50
|
Author: sagamusix Date: Fri Jun 6 00:15:38 2025 New Revision: 23366 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23366 Log: Merged revision(s) 23365 from trunk/OpenMPT: [Fix] Saving an ITI file clobbered parts of the volume envelope (based on patch by cs127, https://github.com/OpenMPT/openmpt/pull/32). [Fix] Only write valid notes 0-119 into the IT instrument sample map. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/soundlib/ITTools.cpp branches/OpenMPT-1.32/soundlib/SampleFormats.cpp Modified: branches/OpenMPT-1.32/soundlib/ITTools.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/ITTools.cpp Fri Jun 6 00:14:50 2025 (r23365) +++ branches/OpenMPT-1.32/soundlib/ITTools.cpp Fri Jun 6 00:15:38 2025 (r23366) @@ -222,7 +222,7 @@ std::vector<bool> smpCount(sndFile.GetNumSamples(), false); for(int i = 0; i < 120; i++) { - keyboard[i * 2] = (mptIns.NoteMap[i] >= NOTE_MIN && mptIns.NoteMap[i] <= NOTE_MAX) ? (mptIns.NoteMap[i] - NOTE_MIN) : static_cast<uint8>(i); + keyboard[i * 2] = (mptIns.NoteMap[i] >= NOTE_MIN && mptIns.NoteMap[i] <= NOTE_MIN + 119) ? (mptIns.NoteMap[i] - NOTE_MIN) : static_cast<uint8>(i); const SAMPLEINDEX smp = mptIns.Keyboard[i]; if(smp < MAX_SAMPLES && smp < 256) Modified: branches/OpenMPT-1.32/soundlib/SampleFormats.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/SampleFormats.cpp Fri Jun 6 00:14:50 2025 (r23365) +++ branches/OpenMPT-1.32/soundlib/SampleFormats.cpp Fri Jun 6 00:15:38 2025 (r23366) @@ -2427,7 +2427,8 @@ // Create sample assignment table std::vector<SAMPLEINDEX> smptable; std::vector<uint8> smpmap(GetNumSamples(), 0); - for(size_t i = 0; i < NOTE_MAX; i++) + static_assert(NOTE_MAX >= 120); + for(size_t i = 0; i < 120; i++) { const SAMPLEINDEX smp = pIns->Keyboard[i]; if(smp && smp <= GetNumSamples()) |
From: <sv...@op...> - 2025-06-05 22:14:57
|
Author: sagamusix Date: Fri Jun 6 00:14:50 2025 New Revision: 23365 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23365 Log: [Fix] Saving an ITI file clobbered parts of the volume envelope (based on patch by cs127, https://github.com/OpenMPT/openmpt/pull/32). [Fix] Only write valid notes 0-119 into the IT instrument sample map. Modified: trunk/OpenMPT/soundlib/ITTools.cpp trunk/OpenMPT/soundlib/SampleFormats.cpp Modified: trunk/OpenMPT/soundlib/ITTools.cpp ============================================================================== --- trunk/OpenMPT/soundlib/ITTools.cpp Thu Jun 5 18:40:59 2025 (r23364) +++ trunk/OpenMPT/soundlib/ITTools.cpp Fri Jun 6 00:14:50 2025 (r23365) @@ -222,7 +222,7 @@ std::vector<bool> smpCount(sndFile.GetNumSamples(), false); for(int i = 0; i < 120; i++) { - keyboard[i * 2] = (mptIns.NoteMap[i] >= NOTE_MIN && mptIns.NoteMap[i] <= NOTE_MAX) ? (mptIns.NoteMap[i] - NOTE_MIN) : static_cast<uint8>(i); + keyboard[i * 2] = (mptIns.NoteMap[i] >= NOTE_MIN && mptIns.NoteMap[i] <= NOTE_MIN + 119) ? (mptIns.NoteMap[i] - NOTE_MIN) : static_cast<uint8>(i); const SAMPLEINDEX smp = mptIns.Keyboard[i]; if(smp < MAX_SAMPLES && smp < 256) Modified: trunk/OpenMPT/soundlib/SampleFormats.cpp ============================================================================== --- trunk/OpenMPT/soundlib/SampleFormats.cpp Thu Jun 5 18:40:59 2025 (r23364) +++ trunk/OpenMPT/soundlib/SampleFormats.cpp Fri Jun 6 00:14:50 2025 (r23365) @@ -2427,7 +2427,8 @@ // Create sample assignment table std::vector<SAMPLEINDEX> smptable; std::vector<uint8> smpmap(GetNumSamples(), 0); - for(size_t i = 0; i < NOTE_MAX; i++) + static_assert(NOTE_MAX >= 120); + for(size_t i = 0; i < 120; i++) { const SAMPLEINDEX smp = pIns->Keyboard[i]; if(smp && smp <= GetNumSamples()) |
From: <sv...@op...> - 2025-06-05 16:41:12
|
Author: manx Date: Thu Jun 5 18:40:59 2025 New Revision: 23364 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23364 Log: [Fix] mpt/base/pointer.hpp: Add missing <cstdint>. Broken since r23356. Modified: trunk/OpenMPT/src/mpt/base/pointer.hpp Modified: trunk/OpenMPT/src/mpt/base/pointer.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/pointer.hpp Thu Jun 5 17:42:03 2025 (r23363) +++ trunk/OpenMPT/src/mpt/base/pointer.hpp Thu Jun 5 18:40:59 2025 (r23364) @@ -9,6 +9,7 @@ #include "mpt/base/namespace.hpp" #include <cstddef> +#include <cstdint> |
From: <sv...@op...> - 2025-06-05 15:42:16
|
Author: manx Date: Thu Jun 5 17:42:03 2025 New Revision: 23363 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23363 Log: [Fix] mpt/base/detect_quirks.hpp: Clang 8 in Android NDK r19c does not provide _mm_storeu_si64(). Extend MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE to Clang 8 on Android. Modified: trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Modified: trunk/OpenMPT/src/mpt/base/detect_quirks.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Thu Jun 5 17:37:21 2025 (r23362) +++ trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Thu Jun 5 17:42:03 2025 (r23363) @@ -32,7 +32,7 @@ #if MPT_GCC_BEFORE(9, 1, 0) #define MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE -#elif MPT_CLANG_BEFORE(8, 0, 0) +#elif MPT_CLANG_BEFORE(8, 0, 0) || (MPT_OS_ANDROID && MPT_CLANG_BEFORE(9, 0, 0)) #define MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE #endif |
From: <sv...@op...> - 2025-06-05 15:37:32
|
Author: manx Date: Thu Jun 5 17:37:21 2025 New Revision: 23362 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23362 Log: [Ref] openmpt/sounddevice: Use mpt::pointer_cast instead of reinterpret_cast. Modified: trunk/OpenMPT/src/openmpt/sounddevice/SoundDevice.hpp trunk/OpenMPT/src/openmpt/sounddevice/SoundDeviceASIO.cpp trunk/OpenMPT/src/openmpt/sounddevice/SoundDevicePortAudio.cpp Modified: trunk/OpenMPT/src/openmpt/sounddevice/SoundDevice.hpp ============================================================================== --- trunk/OpenMPT/src/openmpt/sounddevice/SoundDevice.hpp Thu Jun 5 17:35:24 2025 (r23361) +++ trunk/OpenMPT/src/openmpt/sounddevice/SoundDevice.hpp Thu Jun 5 17:37:21 2025 (r23362) @@ -10,6 +10,7 @@ #include "SoundDeviceCallback.hpp" #include "mpt/base/detect.hpp" +#include "mpt/base/pointer.hpp" #include "mpt/base/saturate_round.hpp" #include "mpt/osinfo/class.hpp" #include "mpt/osinfo/windows_version.hpp" @@ -384,12 +385,12 @@ #if MPT_OS_WINDOWS AppInfo &SetHWND(HWND hwnd) { - UIHandle = reinterpret_cast<uintptr_t>(hwnd); + UIHandle = mpt::pointer_cast<std::uintptr_t>(hwnd); return *this; } HWND GetHWND() const { - return reinterpret_cast<HWND>(UIHandle); + return mpt::pointer_cast<HWND>(UIHandle); } #endif // MPT_OS_WINDOWS }; Modified: trunk/OpenMPT/src/openmpt/sounddevice/SoundDeviceASIO.cpp ============================================================================== --- trunk/OpenMPT/src/openmpt/sounddevice/SoundDeviceASIO.cpp Thu Jun 5 17:35:24 2025 (r23361) +++ trunk/OpenMPT/src/openmpt/sounddevice/SoundDeviceASIO.cpp Thu Jun 5 17:37:21 2025 (r23362) @@ -17,6 +17,7 @@ #include "mpt/base/bit.hpp" #include "mpt/base/detect.hpp" #include "mpt/base/macros.hpp" +#include "mpt/base/pointer.hpp" #include "mpt/base/saturate_round.hpp" #include "mpt/base/utility.hpp" #include "mpt/exception/exception_text.hpp" @@ -1206,7 +1207,7 @@ { MPT_SOUNDDEV_TRACE_SCOPE(); ASIO::Long result = 0; - MPT_LOG(GetLogger(), LogDebug, "sounddev", MPT_UFORMAT_MESSAGE("ASIO: MMCCommand(value={}, message={}, opt={}) => result={}")(value, reinterpret_cast<std::uintptr_t>(message), opt ? mpt::format<mpt::ustring>::val(*opt) : MPT_USTRING("NULL"), result)); + MPT_LOG(GetLogger(), LogDebug, "sounddev", MPT_UFORMAT_MESSAGE("ASIO: MMCCommand(value={}, message={}, opt={}) => result={}")(value, mpt::pointer_cast<std::uintptr_t>(message), opt ? mpt::format<mpt::ustring>::val(*opt) : MPT_USTRING("NULL"), result)); return result; } @@ -1220,7 +1221,7 @@ { MPT_SOUNDDEV_TRACE_SCOPE(); ASIO::Long result = 0; - MPT_LOG(GetLogger(), LogDebug, "sounddev", MPT_UFORMAT_MESSAGE("ASIO: AsioMessage(selector={}, value={}, message={}, opt={}) => result={}")(mpt::to_underlying(selector), value, reinterpret_cast<std::uintptr_t>(message), opt ? mpt::format<mpt::ustring>::val(*opt) : MPT_USTRING("NULL"), result)); + MPT_LOG(GetLogger(), LogDebug, "sounddev", MPT_UFORMAT_MESSAGE("ASIO: AsioMessage(selector={}, value={}, message={}, opt={}) => result={}")(mpt::to_underlying(selector), value, mpt::pointer_cast<std::uintptr_t>(message), opt ? mpt::format<mpt::ustring>::val(*opt) : MPT_USTRING("NULL"), result)); return result; } Modified: trunk/OpenMPT/src/openmpt/sounddevice/SoundDevicePortAudio.cpp ============================================================================== --- trunk/OpenMPT/src/openmpt/sounddevice/SoundDevicePortAudio.cpp Thu Jun 5 17:35:24 2025 (r23361) +++ trunk/OpenMPT/src/openmpt/sounddevice/SoundDevicePortAudio.cpp Thu Jun 5 17:37:21 2025 (r23362) @@ -678,7 +678,7 @@ controlEXE += TEXT("\\"); } controlEXE += TEXT("control.exe"); - return (reinterpret_cast<INT_PTR>(ShellExecute(NULL, TEXT("open"), controlEXE.c_str(), (hasVista ? TEXT("/name Microsoft.Sound") : TEXT("mmsys.cpl")), NULL, SW_SHOW)) >= 32); + return (mpt::pointer_cast<INT_PTR>(ShellExecute(NULL, TEXT("open"), controlEXE.c_str(), (hasVista ? TEXT("/name Microsoft.Sound") : TEXT("mmsys.cpl")), NULL, SW_SHOW)) >= 32); #else // !MPT_OS_WINDOWS return false; #endif // MPT_OS_WINDOWS |
From: <sv...@op...> - 2025-06-05 15:35:31
|
Author: manx Date: Thu Jun 5 17:35:24 2025 New Revision: 23361 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23361 Log: [Ref] Unarchiver: RAR: Use mpt::void_ptr and mpt::pointer_cast instead of reinterpret_cast. Modified: trunk/OpenMPT/unarchiver/unrar.cpp Modified: trunk/OpenMPT/unarchiver/unrar.cpp ============================================================================== --- trunk/OpenMPT/unarchiver/unrar.cpp Thu Jun 5 17:34:46 2025 (r23360) +++ trunk/OpenMPT/unarchiver/unrar.cpp Thu Jun 5 17:35:24 2025 (r23361) @@ -60,12 +60,12 @@ static int CALLBACK RARCallback(unsigned int msg, LPARAM userData, LPARAM p1, LPARAM p2) { int result = 0; - CRarArchive *that = reinterpret_cast<CRarArchive *>(userData); + CRarArchive &that = *mpt::void_ptr<CRarArchive>(mpt::pointer_cast<void*>(userData)); switch(msg) { case UCM_PROCESSDATA: // Receive extracted data - that->RARCallbackProcessData(reinterpret_cast<const char *>(p1), p2); + that.RARCallbackProcessData(mpt::pointer_cast<const char*>(p1), p2); result = 1; break; default: @@ -209,7 +209,7 @@ ArchiveData.OpenMode = RAR_OM_EXTRACT; ArchiveData.ArcNameW = ArcNameBuf.data(); ArchiveData.Callback = RARCallback; - ArchiveData.UserData = reinterpret_cast<LPARAM>(this); + ArchiveData.UserData = mpt::pointer_cast<LPARAM>(this); RARHandle rar(RAROpenArchiveEx(&ArchiveData)); if(!rar) { |
From: <sv...@op...> - 2025-06-05 15:34:52
|
Author: manx Date: Thu Jun 5 17:34:46 2025 New Revision: 23360 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23360 Log: [Ref] Unarchiver: LHA: Use mpt::void_ptr instead of reinterpret_cast. Modified: trunk/OpenMPT/unarchiver/unlha.cpp Modified: trunk/OpenMPT/unarchiver/unlha.cpp ============================================================================== --- trunk/OpenMPT/unarchiver/unlha.cpp Thu Jun 5 17:33:21 2025 (r23359) +++ trunk/OpenMPT/unarchiver/unlha.cpp Thu Jun 5 17:34:46 2025 (r23360) @@ -23,9 +23,9 @@ static int LHAreadFileReader(void *handle, void *buf, size_t buf_len) { - FileReader *f = reinterpret_cast<FileReader*>(handle); + FileReader &f = *mpt::void_ptr<FileReader>(handle); int read_len = mpt::saturate_cast<int>(buf_len); - int result = mpt::saturate_cast<int>(f->ReadRaw(mpt::span(mpt::void_cast<std::byte*>(buf), read_len)).size()); + int result = mpt::saturate_cast<int>(f.ReadRaw(mpt::span(mpt::void_cast<std::byte*>(buf), read_len)).size()); if(result == 0) { return -1; @@ -35,10 +35,10 @@ static int LHAskipFileReader(void *handle, size_t bytes) { - FileReader *f = reinterpret_cast<FileReader*>(handle); - if(f->CanRead(bytes)) + FileReader &f = *mpt::void_ptr<FileReader>(handle); + if(f.CanRead(bytes)) { - f->Skip(bytes); + f.Skip(bytes); return 1; } return 0; |
From: <sv...@op...> - 2025-06-05 15:33:33
|
Author: manx Date: Thu Jun 5 17:33:21 2025 New Revision: 23359 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23359 Log: [Ref] MPEG: Remove reinterpret_cast. Modified: trunk/OpenMPT/soundlib/MPEGFrame.cpp trunk/OpenMPT/soundlib/MPEGFrame.h Modified: trunk/OpenMPT/soundlib/MPEGFrame.cpp ============================================================================== --- trunk/OpenMPT/soundlib/MPEGFrame.cpp Thu Jun 5 17:32:45 2025 (r23358) +++ trunk/OpenMPT/soundlib/MPEGFrame.cpp Thu Jun 5 17:33:21 2025 (r23359) @@ -59,7 +59,7 @@ }; -bool MPEGFrame::IsMPEGHeader(const uint8 (&header)[3]) +static inline bool IsMPEGHeaderImpl(const uint8 * header) { return header[0] == 0xFF && (header[1] & 0xE0) == 0xE0 // Sync && (header[1] & 0x18) != 0x08 // Invalid MPEG version @@ -68,6 +68,23 @@ && (header[2] & 0xF0) != 0xF0; // Invalid bitrate } +template <std::size_t N> +static inline bool IsMPEGHeaderTemplate(const uint8 (&header)[N]) +{ + static_assert(N >= 3); + return IsMPEGHeaderImpl(header); +} + +bool MPEGFrame::IsMPEGHeader(const uint8 (&header)[3]) +{ + return IsMPEGHeaderTemplate(header); +} + +bool MPEGFrame::IsMPEGHeader(const uint8 (&header)[4]) +{ + return IsMPEGHeaderTemplate(header); +} + MPEGFrame::MPEGFrame(FileCursor &file) : frameSize(0) @@ -78,11 +95,11 @@ uint8 header[4] = {}; mpt::FR::ReadArray(file, header); - if(!IsMPEGHeader(reinterpret_cast<const uint8(&)[3]>(header))) + if(!IsMPEGHeader(header)) { return; } - + uint8 version = (header[1] & 0x18) >> 3; uint8 mpeg1 = (version == 3) ? 0 : 1; uint8 layer = 3 - ((header[1] & 0x06) >> 1); Modified: trunk/OpenMPT/soundlib/MPEGFrame.h ============================================================================== --- trunk/OpenMPT/soundlib/MPEGFrame.h Thu Jun 5 17:32:45 2025 (r23358) +++ trunk/OpenMPT/soundlib/MPEGFrame.h Thu Jun 5 17:33:21 2025 (r23359) @@ -26,6 +26,7 @@ MPEGFrame(FileCursor &file); static bool IsMPEGHeader(const uint8 (&header)[3]); + static bool IsMPEGHeader(const uint8 (&header)[4]); }; OPENMPT_NAMESPACE_END |
From: <sv...@op...> - 2025-06-05 15:32:56
|
Author: manx Date: Thu Jun 5 17:32:45 2025 New Revision: 23358 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23358 Log: [Ref] Use mpt::pointer_cast instead of reinterpret_cast. Modified: trunk/OpenMPT/soundlib/ModSequence.cpp Modified: trunk/OpenMPT/soundlib/ModSequence.cpp ============================================================================== --- trunk/OpenMPT/soundlib/ModSequence.cpp Thu Jun 5 17:31:18 2025 (r23357) +++ trunk/OpenMPT/soundlib/ModSequence.cpp Thu Jun 5 17:32:45 2025 (r23358) @@ -240,7 +240,7 @@ ORDERINDEX ModSequence::insert(ORDERINDEX pos, const mpt::span<const PATTERNINDEX> orders, bool enforceFormatLimits) { - MPT_ASSERT(reinterpret_cast<uintptr_t>(orders.data()) < reinterpret_cast<uintptr_t>(data()) || reinterpret_cast<uintptr_t>(orders.data()) > reinterpret_cast<uintptr_t>(data() + size())); + MPT_ASSERT(mpt::pointer_cast<std::uintptr_t>(orders.data()) < mpt::pointer_cast<std::uintptr_t>(data()) || mpt::pointer_cast<std::uintptr_t>(orders.data()) > mpt::pointer_cast<std::uintptr_t>(data() + size())); ORDERINDEX count = insert(pos, mpt::saturate_cast<ORDERINDEX>(orders.size()), 0, enforceFormatLimits); std::copy(orders.begin(), orders.begin() + count, begin() + pos); return count; |
From: <sv...@op...> - 2025-06-05 15:31:24
|
Author: manx Date: Thu Jun 5 17:31:18 2025 New Revision: 23357 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23357 Log: [Ref] mpt/format/simple.hpp: Remove bogus const. Modified: trunk/OpenMPT/src/mpt/format/simple.hpp Modified: trunk/OpenMPT/src/mpt/format/simple.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/format/simple.hpp Thu Jun 5 17:30:52 2025 (r23356) +++ trunk/OpenMPT/src/mpt/format/simple.hpp Thu Jun 5 17:31:18 2025 (r23357) @@ -120,12 +120,12 @@ template <typename T> static inline Tstring ptr(const T & x) { static_assert(std::is_pointer<T>::value || std::is_same<T, std::uintptr_t>::value || std::is_same<T, std::intptr_t>::value, ""); - return hex0<mpt::pointer_size * 2>(mpt::pointer_cast<const std::uintptr_t>(x)); + return hex0<mpt::pointer_size * 2>(mpt::pointer_cast<std::uintptr_t>(x)); } template <typename T> static inline Tstring PTR(const T & x) { static_assert(std::is_pointer<T>::value || std::is_same<T, std::uintptr_t>::value || std::is_same<T, std::intptr_t>::value, ""); - return HEX0<mpt::pointer_size * 2>(mpt::pointer_cast<const std::uintptr_t>(x)); + return HEX0<mpt::pointer_size * 2>(mpt::pointer_cast<std::uintptr_t>(x)); } static inline Tstring pad_left(std::size_t width_, const Tstring & str) { |
From: <sv...@op...> - 2025-06-05 15:31:05
|
Author: manx Date: Thu Jun 5 17:30:52 2025 New Revision: 23356 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23356 Log: [Ref] mpt/base/pointer.hpp: Allow mpt::pointer_cast to also cast from std::uintptr_t to pointer, in addition to the opposite direction. Modified: trunk/OpenMPT/src/mpt/base/pointer.hpp Modified: trunk/OpenMPT/src/mpt/base/pointer.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/pointer.hpp Thu Jun 5 17:29:29 2025 (r23355) +++ trunk/OpenMPT/src/mpt/base/pointer.hpp Thu Jun 5 17:30:52 2025 (r23356) @@ -21,25 +21,23 @@ template <typename Tdst, typename Tsrc> -struct pointer_cast_helper { - static constexpr Tdst cast(const Tsrc & src) noexcept { - return src; - } -}; +struct pointer_cast_helper; template <typename Tdst, typename Tptr> -struct pointer_cast_helper<Tdst, const Tptr *> { - static constexpr Tdst cast(const Tptr * const & src) noexcept { - return reinterpret_cast<const Tdst>(src); - } -}; -template <typename Tdst, typename Tptr> struct pointer_cast_helper<Tdst, Tptr *> { - static constexpr Tdst cast(const Tptr * const & src) noexcept { - return reinterpret_cast<const Tdst>(src); + static constexpr Tdst cast(Tptr * const & src) noexcept { + static_assert(sizeof(Tdst) == sizeof(Tptr *)); + return static_cast<Tdst>(reinterpret_cast<std::uintptr_t>(src)); } }; +template <typename Tptr, typename Tsrc> +struct pointer_cast_helper<Tptr *, Tsrc> { + static constexpr Tptr * cast(const Tsrc & src) noexcept { + static_assert(sizeof(Tptr *) == sizeof(Tsrc)); + return reinterpret_cast<Tptr *>(static_cast<std::uintptr_t>(src)); + } +}; template <typename Tdst, typename Tsrc> constexpr Tdst pointer_cast(const Tsrc & src) noexcept { |
From: <sv...@op...> - 2025-06-05 15:29:36
|
Author: manx Date: Thu Jun 5 17:29:29 2025 New Revision: 23355 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23355 Log: [Ref] mpt/base/pointer.hpp: Make mpt::void_ptr<T> convertible to T*. Modified: trunk/OpenMPT/src/mpt/base/pointer.hpp Modified: trunk/OpenMPT/src/mpt/base/pointer.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/pointer.hpp Thu Jun 5 15:35:44 2025 (r23354) +++ trunk/OpenMPT/src/mpt/base/pointer.hpp Thu Jun 5 17:29:29 2025 (r23355) @@ -65,6 +65,9 @@ MPT_FORCEINLINE operator void *() { return m_ptr; } + MPT_FORCEINLINE operator T *() { + return m_ptr; + } }; |
From: <sv...@op...> - 2025-06-05 13:35:51
|
Author: manx Date: Thu Jun 5 15:35:44 2025 New Revision: 23354 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23354 Log: [Ref] GzipWriter: Use mpt::byte_cast. Modified: trunk/OpenMPT/common/GzipWriter.h Modified: trunk/OpenMPT/common/GzipWriter.h ============================================================================== --- trunk/OpenMPT/common/GzipWriter.h Thu Jun 5 15:20:39 2025 (r23353) +++ trunk/OpenMPT/common/GzipWriter.h Thu Jun 5 15:35:44 2025 (r23354) @@ -26,13 +26,13 @@ { z_stream strm{}; strm.avail_in = static_cast<uInt>(outData.size()); - strm.next_in = reinterpret_cast<Bytef *>(outData.data()); + strm.next_in = mpt::byte_cast<Bytef *>(outData.data()); if(deflateInit2(&strm, Z_BEST_COMPRESSION, Z_DEFLATED, 15 | 16, 9, Z_DEFAULT_STRATEGY) != Z_OK) throw std::runtime_error{"zlib init failed"}; gz_header gzHeader{}; gzHeader.time = static_cast<uLong>(time(nullptr)); std::string filenameISO = mpt::ToCharset(mpt::Charset::ISO8859_1, fileName); - gzHeader.name = reinterpret_cast<Bytef *>(filenameISO.data()); + gzHeader.name = mpt::byte_cast<Bytef *>(filenameISO.data()); deflateSetHeader(&strm, &gzHeader); try { |
From: <sv...@op...> - 2025-06-05 13:20:52
|
Author: manx Date: Thu Jun 5 15:20:39 2025 New Revision: 23353 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23353 Log: [Fix] Reverb: Guard SSE2 64 bit load/stores by proper architecture macro. Modified: trunk/OpenMPT/sounddsp/Reverb.cpp Modified: trunk/OpenMPT/sounddsp/Reverb.cpp ============================================================================== --- trunk/OpenMPT/sounddsp/Reverb.cpp Thu Jun 5 14:56:09 2025 (r23352) +++ trunk/OpenMPT/sounddsp/Reverb.cpp Thu Jun 5 15:20:39 2025 (r23353) @@ -40,6 +40,7 @@ #ifndef NO_REVERB +#if defined(MPT_WANT_ARCH_INTRINSICS_X86_SSE2) && defined(MPT_ARCH_INTRINSICS_X86_SSE2) #if defined(MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE) static MPT_FORCEINLINE __m128i mpt_mm_loadu_si64(void const *mem_addr) { __m128i tmp; @@ -58,6 +59,7 @@ _mm_storeu_si64(mem_addr, a); } #endif +#endif CReverb::CReverb() |
From: <sv...@op...> - 2025-06-05 12:56:21
|
Author: manx Date: Thu Jun 5 14:56:09 2025 New Revision: 23352 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23352 Log: [Fix] Revert: Honor MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE and MPT_ARCH_QUIRK_SSE2_UNALIGNED_LOAD_STORE_REQUIRES_IMMINTRIN_H. Modified: trunk/OpenMPT/sounddsp/Reverb.cpp Modified: trunk/OpenMPT/sounddsp/Reverb.cpp ============================================================================== --- trunk/OpenMPT/sounddsp/Reverb.cpp Thu Jun 5 14:55:03 2025 (r23351) +++ trunk/OpenMPT/sounddsp/Reverb.cpp Thu Jun 5 14:56:09 2025 (r23352) @@ -19,13 +19,17 @@ #include "../soundlib/MixerLoops.h" #include "mpt/base/numbers.hpp" +#include <cstring> + #if defined(MPT_WANT_ARCH_INTRINSICS_X86_SSE2) && defined(MPT_ARCH_INTRINSICS_X86_SSE2) #if MPT_COMPILER_MSVC #include <intrin.h> #endif #include <emmintrin.h> +#if defined(MPT_ARCH_QUIRK_SSE2_UNALIGNED_LOAD_STORE_REQUIRES_IMMINTRIN_H) #include <immintrin.h> #endif +#endif #endif // NO_REVERB @@ -36,6 +40,26 @@ #ifndef NO_REVERB +#if defined(MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE) +static MPT_FORCEINLINE __m128i mpt_mm_loadu_si64(void const *mem_addr) { + __m128i tmp; + std::memset(&tmp, 0, sizeof(__m128i)); + std::memcpy(&tmp, mem_addr, 8); + return _mm_loadl_epi64(&tmp); +} +static MPT_FORCEINLINE void mpt_mm_storeu_si64(void *mem_addr, __m128i a) { + std::memcpy(mem_addr, &a, 8); +} +#else +static MPT_FORCEINLINE __m128i mpt_mm_loadu_si64(void const *mem_addr) { + return _mm_loadu_si64(mem_addr); +} +static MPT_FORCEINLINE void mpt_mm_storeu_si64(void *mem_addr, __m128i a) { + _mm_storeu_si64(mem_addr, a); +} +#endif + + CReverb::CReverb() { // Reverb mix buffers @@ -587,24 +611,24 @@ #if defined(MPT_WANT_ARCH_INTRINSICS_X86_SSE2) && defined(MPT_ARCH_INTRINSICS_X86_SSE2) if(CPU::HasFeatureSet(CPU::feature::sse2) && CPU::HasModesEnabled(CPU::mode::xmm128sse)) { - __m128i nDCRRvb_Y1 = _mm_loadu_si64(gnDCRRvb_Y1); - __m128i nDCRRvb_X1 = _mm_loadu_si64(gnDCRRvb_X1); + __m128i nDCRRvb_Y1 = mpt_mm_loadu_si64(gnDCRRvb_Y1); + __m128i nDCRRvb_X1 = mpt_mm_loadu_si64(gnDCRRvb_X1); __m128i in = _mm_set1_epi32(0); while(nSamples--) { - in = _mm_loadu_si64(pRvb); + in = mpt_mm_loadu_si64(pRvb); pRvb += 2; // x(n-1) - x(n) __m128i diff = _mm_sub_epi32(nDCRRvb_X1, in); nDCRRvb_X1 = _mm_add_epi32(nDCRRvb_Y1, _mm_sub_epi32(_mm_srai_epi32(diff, DCR_AMOUNT + 1), diff)); - __m128i out = _mm_add_epi32(_mm_loadu_si64(pDry), nDCRRvb_X1); + __m128i out = _mm_add_epi32(mpt_mm_loadu_si64(pDry), nDCRRvb_X1); nDCRRvb_Y1 = _mm_sub_epi32(nDCRRvb_X1, _mm_srai_epi32(nDCRRvb_X1, DCR_AMOUNT)); nDCRRvb_X1 = in; - _mm_storeu_si64(pDry, out); + mpt_mm_storeu_si64(pDry, out); pDry += 2; } - _mm_storeu_si64(gnDCRRvb_X1, in); - _mm_storeu_si64(gnDCRRvb_Y1, nDCRRvb_Y1); + mpt_mm_storeu_si64(gnDCRRvb_X1, in); + mpt_mm_storeu_si64(gnDCRRvb_Y1, nDCRRvb_Y1); return; } #endif @@ -649,20 +673,20 @@ #if defined(MPT_WANT_ARCH_INTRINSICS_X86_SSE2) && defined(MPT_ARCH_INTRINSICS_X86_SSE2) if(CPU::HasFeatureSet(CPU::feature::sse2) && CPU::HasModesEnabled(CPU::mode::xmm128sse)) { - __m128i nDCRRvb_Y1 = _mm_loadu_si64(gnDCRRvb_Y1); - __m128i nDCRRvb_X1 = _mm_loadu_si64(gnDCRRvb_X1); + __m128i nDCRRvb_Y1 = mpt_mm_loadu_si64(gnDCRRvb_Y1); + __m128i nDCRRvb_X1 = mpt_mm_loadu_si64(gnDCRRvb_X1); while(nSamples--) { - __m128i in = _mm_loadu_si64(pBuffer); + __m128i in = mpt_mm_loadu_si64(pBuffer); __m128i diff = _mm_sub_epi32(nDCRRvb_X1, in); __m128i out = _mm_add_epi32(nDCRRvb_Y1, _mm_sub_epi32(_mm_srai_epi32(diff, DCR_AMOUNT + 1), diff)); - _mm_storeu_si64(pBuffer, out); + mpt_mm_storeu_si64(pBuffer, out); pBuffer += 2; nDCRRvb_Y1 = _mm_sub_epi32(out, _mm_srai_epi32(out, DCR_AMOUNT)); nDCRRvb_X1 = in; } - _mm_storeu_si64(gnDCRRvb_X1, nDCRRvb_X1); - _mm_storeu_si64(gnDCRRvb_Y1, nDCRRvb_Y1); + mpt_mm_storeu_si64(gnDCRRvb_X1, nDCRRvb_X1); + mpt_mm_storeu_si64(gnDCRRvb_Y1, nDCRRvb_Y1); return; } #endif @@ -719,7 +743,7 @@ __m128i preDifCoeffs = _mm_cvtsi32_si128(pPreDelay->nPreDifCoeffs.lr); while(nSamples--) { - __m128i in32 = _mm_loadu_si64(pIn); // 16-bit unsaturated reverb input [ r | l ] + __m128i in32 = mpt_mm_loadu_si64(pIn); // 16-bit unsaturated reverb input [ r | l ] __m128i inSat = _mm_packs_epi32(in32, in32); // [ r | l | r | l ] (16-bit saturated) pIn += 2; // Low-pass @@ -796,10 +820,10 @@ __m128i delayPos = _mm_set_epi16(GETDELAY(7), GETDELAY(6), GETDELAY(5), GETDELAY(4), GETDELAY(3), GETDELAY(2), GETDELAY(1), GETDELAY(0)); #undef GETDELAY delayPos = _mm_sub_epi16(_mm_set1_epi16(static_cast<int16>(pPreDelay->nDelayPos - 1)), delayPos); - __m128i gain12 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[0].Gains), _mm_loadu_si64(pPreDelay->Reflections[1].Gains)); - __m128i gain34 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[2].Gains), _mm_loadu_si64(pPreDelay->Reflections[3].Gains)); - __m128i gain56 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[4].Gains), _mm_loadu_si64(pPreDelay->Reflections[5].Gains)); - __m128i gain78 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[6].Gains), _mm_loadu_si64(pPreDelay->Reflections[7].Gains)); + __m128i gain12 = _mm_unpacklo_epi64(mpt_mm_loadu_si64(pPreDelay->Reflections[0].Gains), mpt_mm_loadu_si64(pPreDelay->Reflections[1].Gains)); + __m128i gain34 = _mm_unpacklo_epi64(mpt_mm_loadu_si64(pPreDelay->Reflections[2].Gains), mpt_mm_loadu_si64(pPreDelay->Reflections[3].Gains)); + __m128i gain56 = _mm_unpacklo_epi64(mpt_mm_loadu_si64(pPreDelay->Reflections[4].Gains), mpt_mm_loadu_si64(pPreDelay->Reflections[5].Gains)); + __m128i gain78 = _mm_unpacklo_epi64(mpt_mm_loadu_si64(pPreDelay->Reflections[6].Gains), mpt_mm_loadu_si64(pPreDelay->Reflections[7].Gains)); // For 28-bit final output: 16+15-3 = 28 __m128i refGain = _mm_srai_epi32(_mm_set_epi32(0, 0, pPreDelay->ReflectionsGain.c.r, pPreDelay->ReflectionsGain.c.l), 3); __m128i delayInc = _mm_set1_epi16(1), delayMask = _mm_set1_epi16(SNDMIX_REFLECTIONS_DELAY_MASK); @@ -826,7 +850,7 @@ __m128i out = _mm_madd_epi16(_mm_unpacklo_epi16(refOut, refOut), refGain); // Apply reflections gain // At this, point, this is the only output of the reverb - _mm_storeu_si64(pOut, out); + mpt_mm_storeu_si64(pOut, out); pOut += 2; } return; @@ -882,10 +906,10 @@ if(CPU::HasFeatureSet(CPU::feature::sse2) && CPU::HasModesEnabled(CPU::mode::xmm128sse)) { int delayPos = pReverb->nDelayPos & RVBDLY_MASK; - __m128i rvbOutGains = _mm_loadu_si64(pReverb->RvbOutGains); - __m128i difCoeffs = _mm_loadu_si64(pReverb->nDifCoeffs); - __m128i decayLP = _mm_loadu_si64(pReverb->nDecayLP); - __m128i lpHistory = _mm_loadu_si64(pReverb->LPHistory); + __m128i rvbOutGains = mpt_mm_loadu_si64(pReverb->RvbOutGains); + __m128i difCoeffs = mpt_mm_loadu_si64(pReverb->nDifCoeffs); + __m128i decayLP = mpt_mm_loadu_si64(pReverb->nDecayLP); + __m128i lpHistory = mpt_mm_loadu_si64(pReverb->LPHistory); while(nSamples--) { __m128i refIn = _mm_cvtsi32_si128(pRefOut->lr); // 16-bit stereo input @@ -908,7 +932,7 @@ lpHistory = _mm_adds_epi16(_mm_adds_epi16(lpDecay, lpDecay), delay2); // Low-passed decay // Apply decay gain - __m128i histDecay = _mm_srai_epi32(_mm_madd_epi16(_mm_loadu_si64(pReverb->nDecayDC), lpHistory), 15); + __m128i histDecay = _mm_srai_epi32(_mm_madd_epi16(mpt_mm_loadu_si64(pReverb->nDecayDC), lpHistory), 15); __m128i histDecayPacked = _mm_shuffle_epi32(_mm_packs_epi32(histDecay, histDecay), _MM_SHUFFLE(2, 0, 2, 0)); __m128i histDecayIn = _mm_adds_epi16(histDecayPacked, _mm_srai_epi16(_mm_unpacklo_epi32(refIn, refIn), 2)); __m128i histDecayInDiff = _mm_subs_epi16(histDecayIn, _mm_mulhi_epi16(_mm_cvtsi32_si128(diffusion1), difCoeffs)); @@ -924,23 +948,23 @@ _mm_cvtsi32_si128(pReverb->Delay1[DELAY_OFFSET(RVBDLY1L_LEN)].lr), _mm_cvtsi32_si128(pReverb->Delay1[DELAY_OFFSET(RVBDLY1R_LEN)].lr)); - __m128i delay1Gains = _mm_srai_epi32(_mm_madd_epi16(delay1, _mm_loadu_si64(pReverb->Dif2InGains)), 15); + __m128i delay1Gains = _mm_srai_epi32(_mm_madd_epi16(delay1, mpt_mm_loadu_si64(pReverb->Dif2InGains)), 15); __m128i delay1GainsSat = _mm_shuffle_epi32(_mm_packs_epi32(delay1Gains, delay1Gains), _MM_SHUFFLE(2, 0, 2, 0)); __m128i histDelay1 = _mm_subs_epi16(_mm_adds_epi16(histDecayInDelay, delay1), delay1GainsSat); // accumulate with reverb output __m128i diff2out = _mm_subs_epi16(delay1GainsSat, _mm_mulhi_epi16(_mm_cvtsi32_si128(diffusion2), difCoeffs)); __m128i diff2outCoeffs = _mm_mulhi_epi16(difCoeffs, diff2out); pReverb->Diffusion2[delayPos].lr = _mm_cvtsi128_si32(diff2out); - __m128i mixOut = _mm_loadu_si64(pMixOut); + __m128i mixOut = mpt_mm_loadu_si64(pMixOut); __m128i delay2out = _mm_adds_epi16(diff2outCoeffs, _mm_cvtsi32_si128(diffusion2)); pReverb->Delay2[delayPos].lr = _mm_cvtsi128_si32(delay2out); delayPos = (delayPos + 1) & RVBDLY_MASK; // Accumulate with reverb output __m128i out = _mm_add_epi32(_mm_madd_epi16(_mm_adds_epi16(histDelay1, delay2out), rvbOutGains), mixOut); - _mm_storeu_si64(pMixOut, out); + mpt_mm_storeu_si64(pMixOut, out); pMixOut += 2; } - _mm_storeu_si64(pReverb->LPHistory, lpHistory); + mpt_mm_storeu_si64(pReverb->LPHistory, lpHistory); pReverb->nDelayPos = delayPos; return; } |
From: <sv...@op...> - 2025-06-05 12:55:14
|
Author: manx Date: Thu Jun 5 14:55:03 2025 New Revision: 23351 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23351 Log: [Imp] mpt/base/detect_quirks.hpp: In 2025, compilers still do not fully implement SSE2 intrinsics from 2000. Add MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE for GCC < 9.1 and Clang < 8, and MPT_ARCH_QUIRK_SSE2_UNALIGNED_LOAD_STORE_REQUIRES_IMMINTRIN_H for MSVC. Modified: trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Modified: trunk/OpenMPT/src/mpt/base/detect_quirks.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Thu Jun 5 14:16:41 2025 (r23350) +++ trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Thu Jun 5 14:55:03 2025 (r23351) @@ -30,6 +30,18 @@ +#if MPT_GCC_BEFORE(9, 1, 0) +#define MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE +#elif MPT_CLANG_BEFORE(8, 0, 0) +#define MPT_ARCH_QUIRK_SSE2_NO_UNALIGNED_LOAD_STORE +#endif + +#if MPT_COMPILER_MSVC +#define MPT_ARCH_QUIRK_SSE2_UNALIGNED_LOAD_STORE_REQUIRES_IMMINTRIN_H +#endif + + + #if MPT_COMPILER_MSVC #if !defined(_MSVC_TRADITIONAL) #define MPT_COMPILER_QUIRK_MSVC_OLD_PREPROCESSOR |
From: <sv...@op...> - 2025-06-05 12:17:10
|
Author: manx Date: Thu Jun 5 14:16:41 2025 New Revision: 23350 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23350 Log: [Fix] Reverb: Use alignment-correct intrinsics for 64bit SSE2 load and store. Even though the underlying instruction is the same in both cases, and can do unaligned load and store even for the aligned intrinsics, and even though the intrinsics are documented to support unaligned load and store, the C++ language conflicts with that definition because the pointer argument is __m128i, which has 16 byte alignment requirements. And GCC decides to be pedantic here. Code generation is identical for all 3 major compilers. Modified: trunk/OpenMPT/sounddsp/Reverb.cpp Modified: trunk/OpenMPT/sounddsp/Reverb.cpp ============================================================================== --- trunk/OpenMPT/sounddsp/Reverb.cpp Wed Jun 4 23:09:30 2025 (r23349) +++ trunk/OpenMPT/sounddsp/Reverb.cpp Thu Jun 5 14:16:41 2025 (r23350) @@ -24,6 +24,7 @@ #include <intrin.h> #endif #include <emmintrin.h> +#include <immintrin.h> #endif #endif // NO_REVERB @@ -35,17 +36,6 @@ #ifndef NO_REVERB -#if defined(MPT_WANT_ARCH_INTRINSICS_X86_SSE2) && defined(MPT_ARCH_INTRINSICS_X86_SSE2) -// Load two 32-bit values -static MPT_FORCEINLINE __m128i Load64SSE(const int32 *x) { return _mm_loadl_epi64(reinterpret_cast<const __m128i *>(x)); } -// Load four 16-bit values -static MPT_FORCEINLINE __m128i Load64SSE(const LR16 (&x)[2]) { return _mm_loadl_epi64(&reinterpret_cast<const __m128i &>(x)); } -// Store two 32-bit or four 16-bit values from register -static MPT_FORCEINLINE void Store64SSE(int32 *dst, __m128i src) { return _mm_storel_epi64(reinterpret_cast<__m128i *>(dst), src); } -static MPT_FORCEINLINE void Store64SSE(LR16 (&dst)[2], __m128i src) { return _mm_storel_epi64(&reinterpret_cast<__m128i &>(dst), src); } -#endif - - CReverb::CReverb() { // Reverb mix buffers @@ -597,24 +587,24 @@ #if defined(MPT_WANT_ARCH_INTRINSICS_X86_SSE2) && defined(MPT_ARCH_INTRINSICS_X86_SSE2) if(CPU::HasFeatureSet(CPU::feature::sse2) && CPU::HasModesEnabled(CPU::mode::xmm128sse)) { - __m128i nDCRRvb_Y1 = Load64SSE(gnDCRRvb_Y1); - __m128i nDCRRvb_X1 = Load64SSE(gnDCRRvb_X1); + __m128i nDCRRvb_Y1 = _mm_loadu_si64(gnDCRRvb_Y1); + __m128i nDCRRvb_X1 = _mm_loadu_si64(gnDCRRvb_X1); __m128i in = _mm_set1_epi32(0); while(nSamples--) { - in = Load64SSE(pRvb); + in = _mm_loadu_si64(pRvb); pRvb += 2; // x(n-1) - x(n) __m128i diff = _mm_sub_epi32(nDCRRvb_X1, in); nDCRRvb_X1 = _mm_add_epi32(nDCRRvb_Y1, _mm_sub_epi32(_mm_srai_epi32(diff, DCR_AMOUNT + 1), diff)); - __m128i out = _mm_add_epi32(Load64SSE(pDry), nDCRRvb_X1); + __m128i out = _mm_add_epi32(_mm_loadu_si64(pDry), nDCRRvb_X1); nDCRRvb_Y1 = _mm_sub_epi32(nDCRRvb_X1, _mm_srai_epi32(nDCRRvb_X1, DCR_AMOUNT)); nDCRRvb_X1 = in; - Store64SSE(pDry, out); + _mm_storeu_si64(pDry, out); pDry += 2; } - Store64SSE(gnDCRRvb_X1, in); - Store64SSE(gnDCRRvb_Y1, nDCRRvb_Y1); + _mm_storeu_si64(gnDCRRvb_X1, in); + _mm_storeu_si64(gnDCRRvb_Y1, nDCRRvb_Y1); return; } #endif @@ -659,20 +649,20 @@ #if defined(MPT_WANT_ARCH_INTRINSICS_X86_SSE2) && defined(MPT_ARCH_INTRINSICS_X86_SSE2) if(CPU::HasFeatureSet(CPU::feature::sse2) && CPU::HasModesEnabled(CPU::mode::xmm128sse)) { - __m128i nDCRRvb_Y1 = Load64SSE(gnDCRRvb_Y1); - __m128i nDCRRvb_X1 = Load64SSE(gnDCRRvb_X1); + __m128i nDCRRvb_Y1 = _mm_loadu_si64(gnDCRRvb_Y1); + __m128i nDCRRvb_X1 = _mm_loadu_si64(gnDCRRvb_X1); while(nSamples--) { - __m128i in = Load64SSE(pBuffer); + __m128i in = _mm_loadu_si64(pBuffer); __m128i diff = _mm_sub_epi32(nDCRRvb_X1, in); __m128i out = _mm_add_epi32(nDCRRvb_Y1, _mm_sub_epi32(_mm_srai_epi32(diff, DCR_AMOUNT + 1), diff)); - Store64SSE(pBuffer, out); + _mm_storeu_si64(pBuffer, out); pBuffer += 2; nDCRRvb_Y1 = _mm_sub_epi32(out, _mm_srai_epi32(out, DCR_AMOUNT)); nDCRRvb_X1 = in; } - Store64SSE(gnDCRRvb_X1, nDCRRvb_X1); - Store64SSE(gnDCRRvb_Y1, nDCRRvb_Y1); + _mm_storeu_si64(gnDCRRvb_X1, nDCRRvb_X1); + _mm_storeu_si64(gnDCRRvb_Y1, nDCRRvb_Y1); return; } #endif @@ -729,7 +719,7 @@ __m128i preDifCoeffs = _mm_cvtsi32_si128(pPreDelay->nPreDifCoeffs.lr); while(nSamples--) { - __m128i in32 = Load64SSE(pIn); // 16-bit unsaturated reverb input [ r | l ] + __m128i in32 = _mm_loadu_si64(pIn); // 16-bit unsaturated reverb input [ r | l ] __m128i inSat = _mm_packs_epi32(in32, in32); // [ r | l | r | l ] (16-bit saturated) pIn += 2; // Low-pass @@ -806,10 +796,10 @@ __m128i delayPos = _mm_set_epi16(GETDELAY(7), GETDELAY(6), GETDELAY(5), GETDELAY(4), GETDELAY(3), GETDELAY(2), GETDELAY(1), GETDELAY(0)); #undef GETDELAY delayPos = _mm_sub_epi16(_mm_set1_epi16(static_cast<int16>(pPreDelay->nDelayPos - 1)), delayPos); - __m128i gain12 = _mm_unpacklo_epi64(Load64SSE(pPreDelay->Reflections[0].Gains), Load64SSE(pPreDelay->Reflections[1].Gains)); - __m128i gain34 = _mm_unpacklo_epi64(Load64SSE(pPreDelay->Reflections[2].Gains), Load64SSE(pPreDelay->Reflections[3].Gains)); - __m128i gain56 = _mm_unpacklo_epi64(Load64SSE(pPreDelay->Reflections[4].Gains), Load64SSE(pPreDelay->Reflections[5].Gains)); - __m128i gain78 = _mm_unpacklo_epi64(Load64SSE(pPreDelay->Reflections[6].Gains), Load64SSE(pPreDelay->Reflections[7].Gains)); + __m128i gain12 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[0].Gains), _mm_loadu_si64(pPreDelay->Reflections[1].Gains)); + __m128i gain34 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[2].Gains), _mm_loadu_si64(pPreDelay->Reflections[3].Gains)); + __m128i gain56 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[4].Gains), _mm_loadu_si64(pPreDelay->Reflections[5].Gains)); + __m128i gain78 = _mm_unpacklo_epi64(_mm_loadu_si64(pPreDelay->Reflections[6].Gains), _mm_loadu_si64(pPreDelay->Reflections[7].Gains)); // For 28-bit final output: 16+15-3 = 28 __m128i refGain = _mm_srai_epi32(_mm_set_epi32(0, 0, pPreDelay->ReflectionsGain.c.r, pPreDelay->ReflectionsGain.c.l), 3); __m128i delayInc = _mm_set1_epi16(1), delayMask = _mm_set1_epi16(SNDMIX_REFLECTIONS_DELAY_MASK); @@ -836,7 +826,7 @@ __m128i out = _mm_madd_epi16(_mm_unpacklo_epi16(refOut, refOut), refGain); // Apply reflections gain // At this, point, this is the only output of the reverb - Store64SSE(pOut, out); + _mm_storeu_si64(pOut, out); pOut += 2; } return; @@ -892,10 +882,10 @@ if(CPU::HasFeatureSet(CPU::feature::sse2) && CPU::HasModesEnabled(CPU::mode::xmm128sse)) { int delayPos = pReverb->nDelayPos & RVBDLY_MASK; - __m128i rvbOutGains = Load64SSE(pReverb->RvbOutGains); - __m128i difCoeffs = Load64SSE(pReverb->nDifCoeffs); - __m128i decayLP = Load64SSE(pReverb->nDecayLP); - __m128i lpHistory = Load64SSE(pReverb->LPHistory); + __m128i rvbOutGains = _mm_loadu_si64(pReverb->RvbOutGains); + __m128i difCoeffs = _mm_loadu_si64(pReverb->nDifCoeffs); + __m128i decayLP = _mm_loadu_si64(pReverb->nDecayLP); + __m128i lpHistory = _mm_loadu_si64(pReverb->LPHistory); while(nSamples--) { __m128i refIn = _mm_cvtsi32_si128(pRefOut->lr); // 16-bit stereo input @@ -918,7 +908,7 @@ lpHistory = _mm_adds_epi16(_mm_adds_epi16(lpDecay, lpDecay), delay2); // Low-passed decay // Apply decay gain - __m128i histDecay = _mm_srai_epi32(_mm_madd_epi16(Load64SSE(pReverb->nDecayDC), lpHistory), 15); + __m128i histDecay = _mm_srai_epi32(_mm_madd_epi16(_mm_loadu_si64(pReverb->nDecayDC), lpHistory), 15); __m128i histDecayPacked = _mm_shuffle_epi32(_mm_packs_epi32(histDecay, histDecay), _MM_SHUFFLE(2, 0, 2, 0)); __m128i histDecayIn = _mm_adds_epi16(histDecayPacked, _mm_srai_epi16(_mm_unpacklo_epi32(refIn, refIn), 2)); __m128i histDecayInDiff = _mm_subs_epi16(histDecayIn, _mm_mulhi_epi16(_mm_cvtsi32_si128(diffusion1), difCoeffs)); @@ -934,23 +924,23 @@ _mm_cvtsi32_si128(pReverb->Delay1[DELAY_OFFSET(RVBDLY1L_LEN)].lr), _mm_cvtsi32_si128(pReverb->Delay1[DELAY_OFFSET(RVBDLY1R_LEN)].lr)); - __m128i delay1Gains = _mm_srai_epi32(_mm_madd_epi16(delay1, Load64SSE(pReverb->Dif2InGains)), 15); + __m128i delay1Gains = _mm_srai_epi32(_mm_madd_epi16(delay1, _mm_loadu_si64(pReverb->Dif2InGains)), 15); __m128i delay1GainsSat = _mm_shuffle_epi32(_mm_packs_epi32(delay1Gains, delay1Gains), _MM_SHUFFLE(2, 0, 2, 0)); __m128i histDelay1 = _mm_subs_epi16(_mm_adds_epi16(histDecayInDelay, delay1), delay1GainsSat); // accumulate with reverb output __m128i diff2out = _mm_subs_epi16(delay1GainsSat, _mm_mulhi_epi16(_mm_cvtsi32_si128(diffusion2), difCoeffs)); __m128i diff2outCoeffs = _mm_mulhi_epi16(difCoeffs, diff2out); pReverb->Diffusion2[delayPos].lr = _mm_cvtsi128_si32(diff2out); - __m128i mixOut = Load64SSE(pMixOut); + __m128i mixOut = _mm_loadu_si64(pMixOut); __m128i delay2out = _mm_adds_epi16(diff2outCoeffs, _mm_cvtsi32_si128(diffusion2)); pReverb->Delay2[delayPos].lr = _mm_cvtsi128_si32(delay2out); delayPos = (delayPos + 1) & RVBDLY_MASK; // Accumulate with reverb output __m128i out = _mm_add_epi32(_mm_madd_epi16(_mm_adds_epi16(histDelay1, delay2out), rvbOutGains), mixOut); - Store64SSE(pMixOut, out); + _mm_storeu_si64(pMixOut, out); pMixOut += 2; } - Store64SSE(pReverb->LPHistory, lpHistory); + _mm_storeu_si64(pReverb->LPHistory, lpHistory); pReverb->nDelayPos = delayPos; return; } |
From: <sv...@op...> - 2025-06-04 21:09:42
|
Author: sagamusix Date: Wed Jun 4 23:09:30 2025 New Revision: 23349 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23349 Log: Merged revision(s) 23348 from trunk/OpenMPT: [Fix] Fix broken encoding of µs in mixer settings. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/mptrack/mptrack.rc Modified: branches/OpenMPT-1.32/mptrack/mptrack.rc ============================================================================== --- branches/OpenMPT-1.32/mptrack/mptrack.rc Wed Jun 4 23:08:30 2025 (r23348) +++ branches/OpenMPT-1.32/mptrack/mptrack.rc Wed Jun 4 23:09:30 2025 (r23349) @@ -1887,11 +1887,11 @@ GROUPBOX "Volume Ramping",IDC_STATIC,6,60,312,72 EDITTEXT IDC_RAMPING_IN,12,72,36,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN2,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,42,66,11,14 - LTEXT "µs &up",IDC_STATIC,54,72,22,12,SS_CENTERIMAGE + LTEXT "s &up",IDC_STATIC,54,72,22,12,SS_CENTERIMAGE EDITTEXT IDC_EDIT_VOLRAMP_SAMPLES_UP,90,72,90,12,ES_AUTOHSCROLL | ES_READONLY EDITTEXT IDC_RAMPING_OUT,12,90,36,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN3,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,42,84,11,14 - LTEXT "µs &down",IDC_STATIC,54,92,28,11,SS_CENTERIMAGE + LTEXT "s &down",IDC_STATIC,54,92,28,11,SS_CENTERIMAGE EDITTEXT IDC_EDIT_VOLRAMP_SAMPLES_DOWN,90,90,90,12,ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "&Reset to Defaults",IDC_BUTTON1,12,110,72,14 GROUPBOX "Behaviour",IDC_STATIC,6,144,312,30 |
From: <sv...@op...> - 2025-06-04 21:08:37
|
Author: sagamusix Date: Wed Jun 4 23:08:30 2025 New Revision: 23348 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23348 Log: [Fix] Fix broken encoding of µs in mixer settings. Modified: trunk/OpenMPT/mptrack/mptrack.rc Modified: trunk/OpenMPT/mptrack/mptrack.rc ============================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc Wed Jun 4 19:31:43 2025 (r23347) +++ trunk/OpenMPT/mptrack/mptrack.rc Wed Jun 4 23:08:30 2025 (r23348) @@ -1887,11 +1887,11 @@ GROUPBOX "Volume Ramping",IDC_STATIC,6,60,312,72 EDITTEXT IDC_RAMPING_IN,12,72,36,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN2,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,42,66,11,14 - LTEXT "µs &up",IDC_STATIC,54,72,22,12,SS_CENTERIMAGE + LTEXT "s &up",IDC_STATIC,54,72,22,12,SS_CENTERIMAGE EDITTEXT IDC_EDIT_VOLRAMP_SAMPLES_UP,90,72,90,12,ES_AUTOHSCROLL | ES_READONLY EDITTEXT IDC_RAMPING_OUT,12,90,36,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN3,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,42,84,11,14 - LTEXT "µs &down",IDC_STATIC,54,92,28,11,SS_CENTERIMAGE + LTEXT "s &down",IDC_STATIC,54,92,28,11,SS_CENTERIMAGE EDITTEXT IDC_EDIT_VOLRAMP_SAMPLES_DOWN,90,90,90,12,ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "&Reset to Defaults",IDC_BUTTON1,12,110,72,14 GROUPBOX "Behaviour",IDC_STATIC,6,144,312,30 |
From: <sv...@op...> - 2025-06-04 17:31:49
|
Author: manx Date: Wed Jun 4 19:31:43 2025 New Revision: 23347 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23347 Log: Merged revision(s) 23346 from trunk/OpenMPT: [Var] python: Update to v3.13.4. ........ 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 Wed Jun 4 19:31:19 2025 (r23346) +++ branches/OpenMPT-1.32/build/download_externals.cmd Wed Jun 4 19:31:43 2025 (r23347) @@ -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.3-embed-amd64.zip" "." || goto error +call build\scriptlib\unpack.cmd "build\tools\python3" "build\externals\python-3.13.4-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 Wed Jun 4 19:31:19 2025 (r23346) +++ branches/OpenMPT-1.32/build/download_externals.txt Wed Jun 4 19:31:43 2025 (r23347) @@ -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.3-embed-amd64.zip" 10885425 03415a37049606b0d9d78c5d8b0467b704d3b3d2577c4bf7fca83baa4eb51b4951170f6050f8591bf1720f91cd53435184545a6273285ebb88524d07e230f74e "https://www.python.org/ftp/python/3.13.3/python-3.13.3-embed-amd64.zip" +"build/externals/python-3.13.4-embed-amd64.zip" 10904364 c2f6a7bbad5eb4ac0235b0fd1f99bfe775b19710c8d199a64c982c25fb05727a7edc3e64c288d1a205e387a72fa3f1f10ad7372b89c6e0b310af91428801a8f3 "https://www.python.org/ftp/python/3.13.4/python-3.13.4-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.3.exe" 6454616 b4c635b17f18d3c2aafa23fb7f7ca7c82748bed3c4ffd5585001f22ed14e0d23ef77d94826e3fdef7ddab2f3000aadf75e4a69171d3cf856146f7e73f1a89341 "https://files.jrsoftware.org/is/6/innosetup-6.4.3.exe" "https://files.innosetup.nl/innosetup-6.4.3.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-06-04 17:31:31
|
Author: manx Date: Wed Jun 4 19:31:19 2025 New Revision: 23346 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23346 Log: [Var] python: Update to v3.13.4. 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 Wed Jun 4 17:34:18 2025 (r23345) +++ trunk/OpenMPT/build/download_externals.cmd Wed Jun 4 19:31:19 2025 (r23346) @@ -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.3-embed-amd64.zip" "." || goto error +call build\scriptlib\unpack.cmd "build\tools\python3" "build\externals\python-3.13.4-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 Wed Jun 4 17:34:18 2025 (r23345) +++ trunk/OpenMPT/build/download_externals.txt Wed Jun 4 19:31:19 2025 (r23346) @@ -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.3-embed-amd64.zip" 10885425 03415a37049606b0d9d78c5d8b0467b704d3b3d2577c4bf7fca83baa4eb51b4951170f6050f8591bf1720f91cd53435184545a6273285ebb88524d07e230f74e "https://www.python.org/ftp/python/3.13.3/python-3.13.3-embed-amd64.zip" +"build/externals/python-3.13.4-embed-amd64.zip" 10904364 c2f6a7bbad5eb4ac0235b0fd1f99bfe775b19710c8d199a64c982c25fb05727a7edc3e64c288d1a205e387a72fa3f1f10ad7372b89c6e0b310af91428801a8f3 "https://www.python.org/ftp/python/3.13.4/python-3.13.4-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.3.exe" 6454616 b4c635b17f18d3c2aafa23fb7f7ca7c82748bed3c4ffd5585001f22ed14e0d23ef77d94826e3fdef7ddab2f3000aadf75e4a69171d3cf856146f7e73f1a89341 "https://files.jrsoftware.org/is/6/innosetup-6.4.3.exe" "https://files.innosetup.nl/innosetup-6.4.3.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" |