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
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2025-06-06 08:06:14
|
Author: manx Date: Fri Jun 6 10:06:06 2025 New Revision: 23376 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23376 Log: [Fix] build: CI: Appveyor: Update for new Windows 11 modern builds. Modified: trunk/OpenMPT/.appveyor.yml Modified: trunk/OpenMPT/.appveyor.yml ============================================================================== --- trunk/OpenMPT/.appveyor.yml Fri Jun 6 09:57:24 2025 (r23375) +++ trunk/OpenMPT/.appveyor.yml Fri Jun 6 10:06:06 2025 (r23376) @@ -23,28 +23,28 @@ OPENMPT_APPVEYOR_API_TOKEN: secure: bxGFLD4QFin6OMSHsO5tYiKkuifNPMEsZNHvc2wfMYk= matrix: - - job_name: VS2022 Win10 x86 + - job_name: VS2022 Win11 x86 job_group: Builds MPT_APPVEYOR_VS: vs2022 - MPT_APPVEYOR_TARGET: win10 + MPT_APPVEYOR_TARGET: win11 MPT_APPVEYOR_ARCH: x86 MPT_APPVEYOR_ARCH_CONFIG: Win32 - - job_name: VS2022 Win10 amd64 + - job_name: VS2022 Win11 amd64 job_group: Builds MPT_APPVEYOR_VS: vs2022 - MPT_APPVEYOR_TARGET: win10 + MPT_APPVEYOR_TARGET: win11 MPT_APPVEYOR_ARCH: amd64 MPT_APPVEYOR_ARCH_CONFIG: x64 - - job_name: VS2022 Win10 arm64 + - job_name: VS2022 Win11 arm64 job_group: Builds MPT_APPVEYOR_VS: vs2022 - MPT_APPVEYOR_TARGET: win10 + MPT_APPVEYOR_TARGET: win11 MPT_APPVEYOR_ARCH: arm64 MPT_APPVEYOR_ARCH_CONFIG: ARM64 - - job_name: VS2022 Win10 arm64ec + - job_name: VS2022 Win11 arm64ec job_group: Builds MPT_APPVEYOR_VS: vs2022 - MPT_APPVEYOR_TARGET: win10 + MPT_APPVEYOR_TARGET: win11 MPT_APPVEYOR_ARCH: arm64ec MPT_APPVEYOR_ARCH_CONFIG: ARM64EC - job_name: VS2022 Win7 x86 @@ -181,10 +181,10 @@ } } } - Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 x86' - Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 amd64' - Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 arm64' - Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 arm64ec' + Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win11 x86' + Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win11 amd64' + Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win11 arm64' + Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win11 arm64ec' Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win7 x86' Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win7 amd64' Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win8 arm' @@ -193,7 +193,7 @@ build_script: - build\auto\build_openmpt_release_packages_multiarch.cmd auto - build\auto\build_openmpt_update_information.cmd auto - - build\auto\package_openmpt_installer_multiarch_args.cmd vs2022 win10 Win32 Release 7z default + - build\auto\package_openmpt_installer_multiarch_args.cmd vs2022 win11 Win32 Release 7z default after_build: - appveyor PushArtifact bin\openmpt-pkg.win-multi.tar |
From: <sv...@op...> - 2025-06-06 07:57:35
|
Author: manx Date: Fri Jun 6 09:57:24 2025 New Revision: 23375 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23375 Log: [Var] Update .gitignore. Modified: trunk/OpenMPT/.gitignore Modified: trunk/OpenMPT/.gitignore ============================================================================== --- trunk/OpenMPT/.gitignore Fri Jun 6 09:56:52 2025 (r23374) +++ trunk/OpenMPT/.gitignore Fri Jun 6 09:57:24 2025 (r23375) @@ -49,14 +49,17 @@ /build/vs2022win10/*.user /build/vs2022win10/.vs /build/vs2022win10/ext/*.user -/build/vs2022win10clang/*.user -/build/vs2022win10clang/.vs -/build/vs2022win10clang/ext/*.user /build/vs2022win10uwp/*.user /build/vs2022win10uwp/.vs /build/vs2022win10uwp/Generated Files /build/vs2022win10uwp/ext/.vs /build/vs2022win10uwp/ext/Generated Files +/build/vs2022win11/*.user +/build/vs2022win11/.vs +/build/vs2022win11/ext/*.user +/build/vs2022win11clang/*.user +/build/vs2022win11clang/.vs +/build/vs2022win11clang/ext/*.user /build/vs2022win7/*.user /build/vs2022win7/.vs /build/vs2022win7/ext/*.user |
From: <sv...@op...> - 2025-06-06 07:57:08
|
Author: manx Date: Fri Jun 6 09:56:52 2025 New Revision: 23374 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23374 Log: [Var] Set svn:ignore. Modified: trunk/OpenMPT/build/vs2022win11/ (props changed) trunk/OpenMPT/build/vs2022win11/ext/ (props changed) trunk/OpenMPT/build/vs2022win11clang/ (props changed) trunk/OpenMPT/build/vs2022win11clang/ext/ (props changed) |
From: <sv...@op...> - 2025-06-06 07:55:50
|
Author: manx Date: Fri Jun 6 09:55:38 2025 New Revision: 23373 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23373 Log: [Mod] libopenmpt: Bump prerel version. Modified: trunk/OpenMPT/libopenmpt/libopenmpt_version.h trunk/OpenMPT/libopenmpt/libopenmpt_version.mk Modified: trunk/OpenMPT/libopenmpt/libopenmpt_version.h ============================================================================== --- trunk/OpenMPT/libopenmpt/libopenmpt_version.h Fri Jun 6 09:55:05 2025 (r23372) +++ trunk/OpenMPT/libopenmpt/libopenmpt_version.h Fri Jun 6 09:55:38 2025 (r23373) @@ -23,7 +23,7 @@ /*! \brief libopenmpt patch version number */ #define OPENMPT_API_VERSION_PATCH 0 /*! \brief libopenmpt pre-release tag */ -#define OPENMPT_API_VERSION_PREREL "-pre.2" +#define OPENMPT_API_VERSION_PREREL "-pre.3" /*! \brief libopenmpt pre-release flag */ #define OPENMPT_API_VERSION_IS_PREREL 1 Modified: trunk/OpenMPT/libopenmpt/libopenmpt_version.mk ============================================================================== --- trunk/OpenMPT/libopenmpt/libopenmpt_version.mk Fri Jun 6 09:55:05 2025 (r23372) +++ trunk/OpenMPT/libopenmpt/libopenmpt_version.mk Fri Jun 6 09:55:38 2025 (r23373) @@ -1,7 +1,7 @@ LIBOPENMPT_VERSION_MAJOR=0 LIBOPENMPT_VERSION_MINOR=9 LIBOPENMPT_VERSION_PATCH=0 -LIBOPENMPT_VERSION_PREREL=-pre.2 +LIBOPENMPT_VERSION_PREREL=-pre.3 LIBOPENMPT_LTVER_CURRENT=6 LIBOPENMPT_LTVER_REVISION=0 |
From: <sv...@op...> - 2025-06-06 07:55:16
|
Author: manx Date: Fri Jun 6 09:55:05 2025 New Revision: 23372 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23372 Log: [Mod] OpenMPT: Version is now 1.33.00.04 Modified: trunk/OpenMPT/common/versionNumber.h Modified: trunk/OpenMPT/common/versionNumber.h ============================================================================== --- trunk/OpenMPT/common/versionNumber.h Fri Jun 6 09:54:39 2025 (r23371) +++ trunk/OpenMPT/common/versionNumber.h Fri Jun 6 09:55:05 2025 (r23372) @@ -16,4 +16,4 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 33 #define VER_MINOR 00 -#define VER_MINORMINOR 03 +#define VER_MINORMINOR 04 |
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 |