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
(202) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2024-11-30 11:48:54
|
Author: manx Date: Sat Nov 30 12:48:47 2024 New Revision: 22355 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22355 Log: [Var] Update 7-zip to 24.09. See r22354. Modified: branches/OpenMPT-1.31/build/download_externals.cmd Modified: branches/OpenMPT-1.31/build/download_externals.cmd ============================================================================== --- branches/OpenMPT-1.31/build/download_externals.cmd Sat Nov 30 12:47:22 2024 (r22354) +++ branches/OpenMPT-1.31/build/download_externals.cmd Sat Nov 30 12:48:47 2024 (r22355) @@ -31,9 +31,9 @@ call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://7-zip.org/a/7za920.zip" "build\externals\7za920.zip" 84e830c91a0e8ae499cc4814080da6569d8a6acbddc585c8b62abc86c809793aeb669b0a741063a379fd281ade85f120bc27efeb67d63bf961be893eec8bc3b3 384846 || goto error -call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://7-zip.org/a/7z2408-extra.7z" "build\externals\7z2408-extra.7z" 35f55236fccfb576ca014e29d0c35f4a213e53f06683bd2e82f869ed02506e230c8dd623c01d0207244d6a997031f737903456b7ad4a44db1717f0a17a78602e 1611651 || goto error +call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://7-zip.org/a/7z2409-extra.7z" "build\externals\7z2409-extra.7z" d17ef51ebe5e61761fa449c0d6106950e7e8dd9ef9bb9f129aed048f3d8d81662ba82a71e8264fff7c0f6764f410f2e8a4430d27e4ce915cf339e8d639905b3b 1624377 || goto error -call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://7-zip.org/a/7z2408-x64.exe" "build\externals\7z2408-x64.exe" 850382414d9d33eab134f8bd89dc99759f8d0459b7ad48bd9588405a3705aeb2cd727898529e3f71d9776a42e141c717e844e0b5c358818bbeac01d096907ad1 1624144 || goto error +call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://7-zip.org/a/7z2409-x64.exe" "build\externals\7z2409-x64.exe" 2e8b746c51132f933cc526db661c2cb8cee889f390e3ce19dabbad1a2e6e13bed7a60f08809282df8d43c1c528a8ce7ce28e9e39fea8c16fd3fcda5604ae0c85 1637343 || goto error call build\scriptlib\download.cmd %MPT_DOWNLOAD% x%1 "https://web.archive.org/web/20131217072017id_/http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "build\externals\WA5.55_SDK.exe" 394375db8a16bf155b5de9376f6290488ab339e503dbdfdc4e2f5bede967799e625c559cca363bc988324f1a8e86e5fd28a9f697422abd7bb3dcde4a766607b5 336166 || goto error @@ -65,8 +65,8 @@ rem Get 7zip installer and unpack it with current commandline 7zip rem This is a mess for automation. Oh well. cscript build\scriptlib\unpack-zip.vbs "build\externals\7za920.zip" "build\tools\7zipold" || goto error -build\tools\7zipold\7za.exe x -y -obuild\tools\7zipa "build\externals\7z2408-extra.7z" || goto error -build\tools\7zipa\7za.exe x -y -obuild\tools\7zip "build\externals\7z2408-x64.exe" || goto error +build\tools\7zipold\7za.exe x -y -obuild\tools\7zipa "build\externals\7z2409-extra.7z" || goto error +build\tools\7zipa\7za.exe x -y -obuild\tools\7zip "build\externals\7z2409-x64.exe" || goto error call build\scriptlib\unpack.cmd "build\tools\htmlhelp" "build\externals\htmlhelp.exe" "." || goto error |
From: <sv...@op...> - 2024-11-30 11:47:34
|
Author: manx Date: Sat Nov 30 12:47:22 2024 New Revision: 22354 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22354 Log: [Var] Update 7-zip to 24.09. Modified: trunk/OpenMPT/build/download_externals.cmd trunk/OpenMPT/build/download_externals.txt Modified: trunk/OpenMPT/build/download_externals.cmd ============================================================================== --- trunk/OpenMPT/build/download_externals.cmd Sat Nov 30 12:31:12 2024 (r22353) +++ trunk/OpenMPT/build/download_externals.cmd Sat Nov 30 12:47:22 2024 (r22354) @@ -39,8 +39,8 @@ rem Get 7zip installer and unpack it with current commandline 7zip rem This is a mess for automation. Oh well. cscript build\scriptlib\unpack-zip.vbs "build\externals\7za920.zip" "build\tools\7zipold" || goto error -build\tools\7zipold\7za.exe x -y -obuild\tools\7zipa "build\externals\7z2408-extra.7z" || goto error -build\tools\7zipa\7za.exe x -y -obuild\tools\7zip "build\externals\7z2408-x64.exe" || goto error +build\tools\7zipold\7za.exe x -y -obuild\tools\7zipa "build\externals\7z2409-extra.7z" || goto error +build\tools\7zipa\7za.exe x -y -obuild\tools\7zip "build\externals\7z2409-x64.exe" || goto error call build\scriptlib\unpack.cmd "build\tools\htmlhelp" "build\externals\htmlhelp.exe" "." || goto error Modified: trunk/OpenMPT/build/download_externals.txt ============================================================================== --- trunk/OpenMPT/build/download_externals.txt Sat Nov 30 12:31:12 2024 (r22353) +++ trunk/OpenMPT/build/download_externals.txt Sat Nov 30 12:47:22 2024 (r22354) @@ -1,6 +1,6 @@ "build/externals/7za920.zip" 384846 84e830c91a0e8ae499cc4814080da6569d8a6acbddc585c8b62abc86c809793aeb669b0a741063a379fd281ade85f120bc27efeb67d63bf961be893eec8bc3b3 "https://7-zip.org/a/7za920.zip" "https://netcologne.dl.sourceforge.net/project/sevenzip/7-Zip/9.20/7za920.zip" -"build/externals/7z2408-extra.7z" 1611651 35f55236fccfb576ca014e29d0c35f4a213e53f06683bd2e82f869ed02506e230c8dd623c01d0207244d6a997031f737903456b7ad4a44db1717f0a17a78602e "https://7-zip.org/a/7z2408-extra.7z" "https://netcologne.dl.sourceforge.net/project/sevenzip/7-Zip/24.08/7z2408-extra.7z" -"build/externals/7z2408-x64.exe" 1624144 850382414d9d33eab134f8bd89dc99759f8d0459b7ad48bd9588405a3705aeb2cd727898529e3f71d9776a42e141c717e844e0b5c358818bbeac01d096907ad1 "https://7-zip.org/a/7z2408-x64.exe" "https://netcologne.dl.sourceforge.net/project/sevenzip/7-Zip/24.08/7z2408-x64.exe" +"build/externals/7z2409-extra.7z" 1624377 d17ef51ebe5e61761fa449c0d6106950e7e8dd9ef9bb9f129aed048f3d8d81662ba82a71e8264fff7c0f6764f410f2e8a4430d27e4ce915cf339e8d639905b3b "https://7-zip.org/a/7z2409-extra.7z" "https://netcologne.dl.sourceforge.net/project/sevenzip/7-Zip/24.09/7z2409-extra.7z" +"build/externals/7z2409-x64.exe" 1637343 2e8b746c51132f933cc526db661c2cb8cee889f390e3ce19dabbad1a2e6e13bed7a60f08809282df8d43c1c528a8ce7ce28e9e39fea8c16fd3fcda5604ae0c85 "https://7-zip.org/a/7z2409-x64.exe" "https://netcologne.dl.sourceforge.net/project/sevenzip/7-Zip/24.09/7z2409-x64.exe" "build/externals/WA5.55_SDK.exe" 336166 394375db8a16bf155b5de9376f6290488ab339e503dbdfdc4e2f5bede967799e625c559cca363bc988324f1a8e86e5fd28a9f697422abd7bb3dcde4a766607b5 "https://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "https://web.archive.org/web/20131217072017id_/http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "build/externals/xmp-sdk.zip" 322744 62c442d656d4bb380360368a0f5f01da11b4ed54333d7f54f875a9a5ec390b08921e00bd08e62cd7a0a5fe642e3377023f20a950cc2a42898ff4cda9ab88fc91 "https://www.un4seen.com/files/xmp-sdk.zip" "build/externals/htmlhelp.exe" 3509072 d91371244ea98c691b4674ee266c4a2496a296800c176adae069d21f5c52c0763b21cc7859cfffa865b89e50171a2c99a6d14620c32f7d72c0ef04045348f856 "https://web.archive.org/web/20200918004813id_/https://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe" "https://web.archive.org/web/20200918004813id_/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe" |
From: <sv...@op...> - 2024-11-30 11:31:24
|
Author: manx Date: Sat Nov 30 12:31:12 2024 New Revision: 22353 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22353 Log: [Mod] build: Makefile: MinGW-w64: Disable ALLOW_LGPL again by default because non-modern MinGW does not provide C99 printf. Modified: trunk/OpenMPT/build/make/config-mingw-w64.mk Modified: trunk/OpenMPT/build/make/config-mingw-w64.mk ============================================================================== --- trunk/OpenMPT/build/make/config-mingw-w64.mk Sat Nov 30 11:46:54 2024 (r22352) +++ trunk/OpenMPT/build/make/config-mingw-w64.mk Sat Nov 30 12:31:12 2024 (r22353) @@ -140,7 +140,7 @@ SOSUFFIX=.dll SOSUFFIXWINDOWS=1 -ALLOW_LGPL=1 +ALLOW_LGPL=0 DYNLINK=0 SHARED_LIB=1 |
From: <sv...@op...> - 2024-11-30 10:47:13
|
Author: manx Date: Sat Nov 30 11:46:54 2024 New Revision: 22352 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22352 Log: [Imp] build: Makefile: Allow building mpg123 as a DLL on Windows. [Mod] build: Makefile: MinGW-w64: Enable ALLOW_LGPL=1 by default. Modified: trunk/OpenMPT/Makefile trunk/OpenMPT/build/make/config-mingw-w64.mk Modified: trunk/OpenMPT/Makefile ============================================================================== --- trunk/OpenMPT/Makefile Sat Nov 30 00:10:35 2024 (r22351) +++ trunk/OpenMPT/Makefile Sat Nov 30 11:46:54 2024 (r22352) @@ -851,6 +851,61 @@ $(SILENT)ln -sf $(MPG123_SONAME) bin/$(FLAVOUR_DIR)mpg123$(SOSUFFIX) endif +else ifeq ($(ENABLE_DLL),1) + +CPPFLAGS_MPG123 := -DMPT_WITH_MPG123 -DMPG123_NO_LARGENAME +LDFLAGS_MPG123 := +LDLIBS_MPG123 := +CPPFLAGS_MPG123 += -Iinclude/mpg123/src/include/ -Iinclude/mpg123/ports/makefile/ +MPG123_SOURCES := +MPG123_SOURCES += include/mpg123/src/compat/compat.c +MPG123_SOURCES += include/mpg123/src/compat/compat_str.c +MPG123_SOURCES += include/mpg123/src/libmpg123/dct64.c +MPG123_SOURCES += include/mpg123/src/libmpg123/equalizer.c +MPG123_SOURCES += include/mpg123/src/libmpg123/feature.c +MPG123_SOURCES += include/mpg123/src/libmpg123/format.c +MPG123_SOURCES += include/mpg123/src/libmpg123/frame.c +MPG123_SOURCES += include/mpg123/src/libmpg123/icy.c +MPG123_SOURCES += include/mpg123/src/libmpg123/icy2utf8.c +MPG123_SOURCES += include/mpg123/src/libmpg123/id3.c +MPG123_SOURCES += include/mpg123/src/libmpg123/index.c +MPG123_SOURCES += include/mpg123/src/libmpg123/layer1.c +MPG123_SOURCES += include/mpg123/src/libmpg123/layer2.c +MPG123_SOURCES += include/mpg123/src/libmpg123/layer3.c +MPG123_SOURCES += include/mpg123/src/libmpg123/lfs_wrap.c +MPG123_SOURCES += include/mpg123/src/libmpg123/libmpg123.c +MPG123_SOURCES += include/mpg123/src/libmpg123/ntom.c +MPG123_SOURCES += include/mpg123/src/libmpg123/optimize.c +MPG123_SOURCES += include/mpg123/src/libmpg123/parse.c +MPG123_SOURCES += include/mpg123/src/libmpg123/readers.c +MPG123_SOURCES += include/mpg123/src/libmpg123/stringbuf.c +MPG123_SOURCES += include/mpg123/src/libmpg123/synth.c +MPG123_SOURCES += include/mpg123/src/libmpg123/synth_8bit.c +MPG123_SOURCES += include/mpg123/src/libmpg123/synth_real.c +MPG123_SOURCES += include/mpg123/src/libmpg123/synth_s32.c +MPG123_SOURCES += include/mpg123/src/libmpg123/tabinit.c +MPG123_OBJECTS += $(MPG123_SOURCES:.c=.mpg123$(FLAVOUR_O).o) +MPG123_DEPENDS = $(MPG123_OBJECTS:$(FLAVOUR_O).o=$(FLAVOUR_O).d) +ALL_OBJECTS += $(MPG123_OBJECTS) +ALL_DEPENDS += $(MPG123_DEPENDS) +include/mpg123/src/compat/%.mpg123$(FLAVOUR_O).o : CFLAGS+=$(CFLAGS_SILENT) -DOPT_GENERIC +include/mpg123/src/libmpg123/%.mpg123$(FLAVOUR_O).o : CFLAGS+=$(CFLAGS_SILENT) -DOPT_GENERIC +include/mpg123/src/compat/%.mpg123$(FLAVOUR_O).o : CPPFLAGS:= -Iinclude/mpg123/src/include/ -Iinclude/mpg123/ports/makefile/ $(CPPFLAGS) +include/mpg123/src/libmpg123/%.mpg123$(FLAVOUR_O).o : CPPFLAGS:= -Iinclude/mpg123/src/include/ -Iinclude/mpg123/ports/makefile/ $(CPPFLAGS) +LIBS_MPG123 = bin/$(FLAVOUR_DIR)mpg123$(SOSUFFIX) + +bin/$(FLAVOUR_DIR)mpg123$(SOSUFFIX): $(MPG123_OBJECTS) + $(INFO) [LD] $@ +ifeq ($(NO_SHARED_LINKER_FLAG),1) + $(SILENT)$(LINK.cc) -shared $(MPG123_LDFLAGS) $(SO_LDFLAGS) $^ -o $@ +else + $(SILENT)$(LINK.cc) -shared $(MPG123_LDFLAGS) $(SO_LDFLAGS) $^ -o $@ +endif +ifeq ($(SHARED_SONAME),1) + $(SILENT)mv bin/$(FLAVOUR_DIR)mpg123$(SOSUFFIX) bin/$(FLAVOUR_DIR)$(MPG123_SONAME) + $(SILENT)ln -sf $(MPG123_SONAME) bin/$(FLAVOUR_DIR)mpg123$(SOSUFFIX) +endif + else CPPFLAGS_MPG123 := -DMPT_WITH_MPG123 -DMPG123_NO_LARGENAME Modified: trunk/OpenMPT/build/make/config-mingw-w64.mk ============================================================================== --- trunk/OpenMPT/build/make/config-mingw-w64.mk Sat Nov 30 00:10:35 2024 (r22351) +++ trunk/OpenMPT/build/make/config-mingw-w64.mk Sat Nov 30 11:46:54 2024 (r22352) @@ -140,11 +140,15 @@ SOSUFFIX=.dll SOSUFFIXWINDOWS=1 +ALLOW_LGPL=1 + DYNLINK=0 SHARED_LIB=1 STATIC_LIB=0 SHARED_SONAME=0 +ENABLE_DLL=1 + ifeq ($(HOST_FLAVOUR),MSYS2) else |
From: <sv...@op...> - 2024-11-29 23:10:43
|
Author: sagamusix Date: Sat Nov 30 00:10:35 2024 New Revision: 22351 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22351 Log: [Imp] Autosave directory is now created when it's missing. [Mod] Autosave no longer defaults to saving in the song's original folder. Besides annoying some users, this also had the problem that trying to edit a module on readonly media could cause Autosave to become disabled permanently (because saving the autosave file would fail). By default, autosave now saves files in %localappdata%\OpenMPT\Autosave, and for portable installations, in the Autosave sub folder within the portable installation (https://bugs.openmpt.org/view.php?id=1837). Modified: trunk/OpenMPT/mptrack/AutoSaver.cpp trunk/OpenMPT/mptrack/PathConfigDlg.cpp trunk/OpenMPT/mptrack/PathConfigDlg.h trunk/OpenMPT/mptrack/TrackerSettings.cpp trunk/OpenMPT/mptrack/TrackerSettings.h Modified: trunk/OpenMPT/mptrack/AutoSaver.cpp ============================================================================== --- trunk/OpenMPT/mptrack/AutoSaver.cpp Fri Nov 29 23:37:35 2024 (r22350) +++ trunk/OpenMPT/mptrack/AutoSaver.cpp Sat Nov 30 00:10:35 2024 (r22351) @@ -22,6 +22,7 @@ #include "mpt/fs/fs.hpp" #include <algorithm> +#include <filesystem> OPENMPT_NAMESPACE_BEGIN @@ -123,17 +124,19 @@ path = path.GetDirectoryWithDrive(); } else { - // if it doesn't, put it in settings dir - path = theApp.GetConfigPath() + P_("Autosave\\"); - if(createPath && !CreateDirectory(path.AsNative().c_str(), nullptr) && GetLastError() == ERROR_PATH_NOT_FOUND) - path = theApp.GetConfigPath(); - else if(!createPath && !mpt::native_fs{}.is_directory(path)) - path = theApp.GetConfigPath(); + // If it doesn't, fall back to default + path = TrackerSettings::GetDefaultAutosavePath(); } } else { path = GetPath(); } + std::error_code ec; + if(createPath) + std::filesystem::create_directories(mpt::support_long_path(path.AsNative()), ec); + if(!mpt::native_fs{}.is_directory(path)) + path = theApp.GetConfigPath(); + return path.WithTrailingSlash(); } @@ -160,7 +163,7 @@ // We are actually not going to show the log for autosaved files. ScopedLogCapturer logcapturer(modDoc, _T(""), nullptr, false); - return modDoc.SaveFile(BuildFileName(modDoc), GetUseOriginalPath()); + return modDoc.SaveFile(fileName, GetUseOriginalPath()); } Modified: trunk/OpenMPT/mptrack/PathConfigDlg.cpp ============================================================================== --- trunk/OpenMPT/mptrack/PathConfigDlg.cpp Fri Nov 29 23:37:35 2024 (r22350) +++ trunk/OpenMPT/mptrack/PathConfigDlg.cpp Sat Nov 30 00:10:35 2024 (r22351) @@ -222,20 +222,6 @@ } -BOOL PathConfigDlg::OnKillActive() -{ - mpt::PathString path = GetPath(IDC_AUTOSAVE_PATH); - - if (!mpt::native_fs{}.is_directory(path) && IsDlgButtonChecked(IDC_AUTOSAVE_ENABLE) && !IsDlgButtonChecked(IDC_AUTOSAVE_USEORIGDIR)) - { - Reporting::Error("Backup path does not exist."); - GetDlgItem(IDC_AUTOSAVE_PATH)->SetFocus(); - return 0; - } - - return CPropertyPage::OnKillActive(); -} - void PathConfigDlg::OnBrowseAutosavePath() { BrowseFolder(IDC_AUTOSAVE_PATH); } void PathConfigDlg::OnBrowseSongs() { BrowseFolder(IDC_OPTIONS_DIR_MODS); } void PathConfigDlg::OnBrowseSamples() { BrowseFolder(IDC_OPTIONS_DIR_SAMPS); } Modified: trunk/OpenMPT/mptrack/PathConfigDlg.h ============================================================================== --- trunk/OpenMPT/mptrack/PathConfigDlg.h Fri Nov 29 23:37:35 2024 (r22350) +++ trunk/OpenMPT/mptrack/PathConfigDlg.h Sat Nov 30 00:10:35 2024 (r22351) @@ -27,7 +27,6 @@ void OnOK() override; BOOL OnInitDialog() override; - BOOL OnKillActive() override; afx_msg void OnAutosaveEnable(); afx_msg void OnAutosaveUseOrigDir(); Modified: trunk/OpenMPT/mptrack/TrackerSettings.cpp ============================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.cpp Fri Nov 29 23:37:35 2024 (r22350) +++ trunk/OpenMPT/mptrack/TrackerSettings.cpp Sat Nov 30 00:10:35 2024 (r22351) @@ -319,9 +319,9 @@ , AutosaveIntervalMinutes(conf, UL_("AutoSave"), UL_("IntervalMinutes"), 10) , AutosaveHistoryDepth(conf, UL_("AutoSave"), UL_("BackupHistory"), 3) , AutosaveRetentionTimeDays(conf, UL_("AutoSave"), UL_("RetentionTimeDays"), 30) - , AutosaveUseOriginalPath(conf, UL_("AutoSave"), UL_("UseOriginalPath"), true) + , AutosaveUseOriginalPath(conf, UL_("AutoSave"), UL_("UseOriginalPath"), false) , AutosaveDeletePermanently(conf, UL_("AutoSave"), UL_("DeletePermanently"), false) - , AutosavePath(conf, UL_("AutoSave"), UL_("Path"), mpt::common_directories::get_temp_directory()) + , AutosavePath(conf, UL_("AutoSave"), UL_("Path"), GetDefaultAutosavePath()) // Paths , PathSongs(conf, UL_("Paths"), UL_("Songs_Directory"), mpt::PathString()) , PathSamples(conf, UL_("Paths"), UL_("Samples_Directory"), mpt::PathString()) @@ -1417,6 +1417,31 @@ } +mpt::PathString TrackerSettings::GetDefaultAutosavePath() +{ + mpt::PathString path; + if(theApp.IsPortableMode()) + { + return theApp.GetInstallPath().WithTrailingSlash(); + } else + { + // Try to find non-roaming (local) app data first, fall back to other directory + TCHAR dir[MAX_PATH] = {0}; + if((SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, dir) == S_OK) + || (SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, dir) == S_OK) + || (SHGetFolderPath(NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, dir) == S_OK)) + { + path = mpt::PathString::FromNative(dir); + } else + { + path = mpt::common_directories::get_temp_directory(); + } + path = path.WithTrailingSlash() + P_("OpenMPT\\"); + } + return path + P_("Autosave"); +} + + //////////////////////////////////////////////////////////////////////////////// // Chords Modified: trunk/OpenMPT/mptrack/TrackerSettings.h ============================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.h Fri Nov 29 23:37:35 2024 (r22350) +++ trunk/OpenMPT/mptrack/TrackerSettings.h Sat Nov 30 00:10:35 2024 (r22351) @@ -995,6 +995,8 @@ void SetMIDIDevice(UINT id); UINT GetCurrentMIDIDevice(); + static mpt::PathString GetDefaultAutosavePath(); + protected: static std::vector<uint32> GetDefaultSampleRates(); |
From: <sv...@op...> - 2024-11-29 22:37:46
|
Author: sagamusix Date: Fri Nov 29 23:37:35 2024 New Revision: 22350 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22350 Log: Merged revision(s) 22349 from trunk/OpenMPT: [Fix] Don't clear modified flag when saving a copy of a track (https://bugs.openmpt.org/view.php?id=1843). Patch by zersal. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/mptrack/Moddoc.cpp Modified: branches/OpenMPT-1.31/mptrack/Moddoc.cpp ============================================================================== --- branches/OpenMPT-1.31/mptrack/Moddoc.cpp Fri Nov 29 23:36:36 2024 (r22349) +++ branches/OpenMPT-1.31/mptrack/Moddoc.cpp Fri Nov 29 23:37:35 2024 (r22350) @@ -537,7 +537,9 @@ } if(OnSaveDocument(saveFileName, setPath)) { - SetModified(false); + // Don't clear modified flag when saving as copy + if(setPath) + SetModified(false); m_SndFile.m_SongFlags.reset(SONG_IMPORTED); m_bHasValidPath = true; m_ShowSavedialog = false; |
From: <sv...@op...> - 2024-11-29 22:36:49
|
Author: sagamusix Date: Fri Nov 29 23:36:36 2024 New Revision: 22349 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22349 Log: [Fix] Don't clear modified flag when saving a copy of a track (https://bugs.openmpt.org/view.php?id=1843). Patch by zersal. Modified: trunk/OpenMPT/mptrack/Moddoc.cpp Modified: trunk/OpenMPT/mptrack/Moddoc.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp Fri Nov 29 18:06:45 2024 (r22348) +++ trunk/OpenMPT/mptrack/Moddoc.cpp Fri Nov 29 23:36:36 2024 (r22349) @@ -557,7 +557,9 @@ } if(OnSaveDocument(saveFileName, setPath)) { - SetModified(false); + // Don't clear modified flag when saving as copy + if(setPath) + SetModified(false); m_SndFile.m_SongFlags.reset(SONG_IMPORTED); m_bHasValidPath = true; m_ShowSavedialog = false; |
From: <sv...@op...> - 2024-11-29 17:06:52
|
Author: sagamusix Date: Fri Nov 29 18:06:45 2024 New Revision: 22348 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22348 Log: [Ref] Small cleanup. Modified: trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Mptrack.cpp Modified: trunk/OpenMPT/mptrack/MainFrm.cpp ============================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp Fri Nov 29 18:05:35 2024 (r22347) +++ trunk/OpenMPT/mptrack/MainFrm.cpp Fri Nov 29 18:06:45 2024 (r22348) @@ -202,6 +202,7 @@ m_szInfoText[0] = 0; m_szXInfoText[0]= 0; + InitCommonControls(); MemsetZero(gcolrefVuMeter); } @@ -260,6 +261,8 @@ AddToolBarMenuEntries(*toolbarMenu); } + m_InputHandler->UpdateMainMenu(); + #ifdef MPT_ENABLE_PLAYBACK_TEST_MENU CMenu debugMenu; debugMenu.CreatePopupMenu(); Modified: trunk/OpenMPT/mptrack/Mptrack.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Mptrack.cpp Fri Nov 29 18:05:35 2024 (r22347) +++ trunk/OpenMPT/mptrack/Mptrack.cpp Fri Nov 29 18:06:45 2024 (r22348) @@ -1384,8 +1384,6 @@ // Initialize CMainFrame pMainFrame->Initialize(); - InitCommonControls(); - pMainFrame->GetInputHandler()->UpdateMainMenu(); // Dispatch commands specified on the command line if(cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew) |
From: <sv...@op...> - 2024-11-29 17:05:42
|
Author: sagamusix Date: Fri Nov 29 18:05:35 2024 New Revision: 22347 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22347 Log: [Ref] Use FolderScanner for moving old tunings. Modified: trunk/OpenMPT/mptrack/Mptrack.cpp Modified: trunk/OpenMPT/mptrack/Mptrack.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Mptrack.cpp Fri Nov 29 18:02:43 2024 (r22346) +++ trunk/OpenMPT/mptrack/Mptrack.cpp Fri Nov 29 18:05:35 2024 (r22347) @@ -17,6 +17,7 @@ #include "DialogBase.h" #include "ExceptionHandler.h" #include "FileDialog.h" +#include "FolderScanner.h" #include "Globals.h" #include "Image.h" #include "InputHandler.h" @@ -1038,18 +1039,12 @@ if(mpt::native_fs{}.is_directory(oldTunings)) { - const mpt::PathString searchPattern = oldTunings + P_("*.*"); - WIN32_FIND_DATA FindFileData; - HANDLE hFind; - hFind = FindFirstFile(mpt::support_long_path(searchPattern.AsNative()).c_str(), &FindFileData); - if(hFind != INVALID_HANDLE_VALUE) + FolderScanner scanner{oldTunings, FolderScanner::kOnlyFiles}; + mpt::PathString fileName; + while(scanner.Next(fileName)) { - do - { - MoveConfigFile(mpt::PathString::FromNative(FindFileData.cFileName), P_("tunings\\")); - } while(FindNextFile(hFind, &FindFileData) != 0); + MoveConfigFile(fileName.GetFilename(), P_("tunings\\")); } - FindClose(hFind); RemoveDirectory(oldTunings.AsNative().c_str()); } } |
From: <sv...@op...> - 2024-11-29 17:02:54
|
Author: sagamusix Date: Fri Nov 29 18:02:43 2024 New Revision: 22346 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22346 Log: [Fix] Previous commit was missing a file. Modified: trunk/OpenMPT/mptrack/Mptrack.cpp Modified: trunk/OpenMPT/mptrack/Mptrack.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Mptrack.cpp Fri Nov 29 14:52:20 2024 (r22345) +++ trunk/OpenMPT/mptrack/Mptrack.cpp Fri Nov 29 18:02:43 2024 (r22346) @@ -1390,7 +1390,7 @@ // Initialize CMainFrame pMainFrame->Initialize(); InitCommonControls(); - pMainFrame->m_InputHandler->UpdateMainMenu(); + pMainFrame->GetInputHandler()->UpdateMainMenu(); // Dispatch commands specified on the command line if(cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew) |
From: <sv...@op...> - 2024-11-29 13:52:28
|
Author: sagamusix Date: Fri Nov 29 14:52:20 2024 New Revision: 22345 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22345 Log: [Ref] Forward-declare CAutoSaver in Mainfrm.h. [Ref] Turn CInputHandler instance into an mpt::heap_value instead of doing manual memory management. Modified: trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Mainfrm.h trunk/OpenMPT/src/mpt/base/alloc.hpp Modified: trunk/OpenMPT/mptrack/MainFrm.cpp ============================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp Fri Nov 29 14:49:16 2024 (r22344) +++ trunk/OpenMPT/mptrack/MainFrm.cpp Fri Nov 29 14:52:20 2024 (r22345) @@ -181,8 +181,6 @@ MODPLUGDIB *CMainFrame::bmpNotes = nullptr; COLORREF CMainFrame::gcolrefVuMeter[NUM_VUMETER_PENS * 2]; -CInputHandler *CMainFrame::m_InputHandler = nullptr; - static constexpr UINT StatusBarIndicators[] = { ID_SEPARATOR, // status line indicator @@ -198,15 +196,13 @@ CMainFrame::CMainFrame() : SoundDevice::CallbackBufferHandler<DithersOpenMPT>(theApp.PRNG()) , m_SoundDeviceFillBufferCriticalSection(CriticalSection::InitialState::Unlocked) + , m_InputHandler{this} { m_szUserText[0] = 0; m_szInfoText[0] = 0; m_szXInfoText[0]= 0; MemsetZero(gcolrefVuMeter); - - m_InputHandler = new CInputHandler(this); - } @@ -277,7 +273,6 @@ CMainFrame::~CMainFrame() { - delete m_InputHandler; CChannelManagerDlg::DestroySharedInstance(); } @@ -329,7 +324,7 @@ #pragma warning(push) #pragma warning(disable:6387) // '_Param_(2)' could be '0': this does not adhere to the specification for the function 'HtmlHelpW' #endif - ::HtmlHelp(m_hWnd, nullptr, HH_INITIALIZE, reinterpret_cast<DWORD_PTR>(&helpCookie)); + ::HtmlHelp(m_hWnd, nullptr, HH_INITIALIZE, reinterpret_cast<DWORD_PTR>(&m_helpCookie)); #if MPT_COMPILER_MSVC #pragma warning(pop) #endif @@ -404,7 +399,7 @@ #pragma warning(push) #pragma warning(disable:6387) // '_Param_(2)' could be '0': this does not adhere to the specification for the function 'HtmlHelpW' #endif - ::HtmlHelp(m_hWnd, nullptr, HH_UNINITIALIZE, reinterpret_cast<DWORD_PTR>(&helpCookie)); + ::HtmlHelp(m_hWnd, nullptr, HH_UNINITIALIZE, reinterpret_cast<DWORD_PTR>(&m_helpCookie)); #if MPT_COMPILER_MSVC #pragma warning(pop) #endif @@ -477,7 +472,7 @@ AddControlBar(&m_wndStatusBar); // Restore statusbar to mainframe. TrackerSettings::Instance().SaveSettings(); - if(m_InputHandler && m_InputHandler->m_activeCommandSet) + if(m_InputHandler->m_activeCommandSet) { m_InputHandler->m_activeCommandSet->SaveFile(TrackerSettings::Instance().m_szKbdFile); } @@ -1451,7 +1446,7 @@ void CMainFrame::GenerateStopNotification() { Notification mn(Notification::Stop); - SendMessage(WM_MOD_UPDATEPOSITION, 0, (LPARAM)&mn); + SendMessage(WM_MOD_UPDATEPOSITION, 0, reinterpret_cast<LPARAM>(&mn)); } @@ -2220,9 +2215,9 @@ } } - if(m_AutoSaver.IsEnabled()) + if(m_AutoSaver->IsEnabled()) { - bool success = m_AutoSaver.DoSave(); + bool success = m_AutoSaver->DoSave(); if(!success) // autosave failure; bring up options. { CMainFrame::m_nLastOptionsPage = OPTIONS_PAGE_PATHS; @@ -2585,7 +2580,7 @@ } -void CMainFrame::AddToolBarMenuEntries(CMenu &menu) +void CMainFrame::AddToolBarMenuEntries(CMenu &menu) const { menu.AppendMenu(MF_STRING, ID_VIEW_TOOLBAR, m_InputHandler->GetMenuText(ID_VIEW_TOOLBAR)); menu.AppendMenu(MF_STRING, IDD_TREEVIEW, m_InputHandler->GetMenuText(IDD_TREEVIEW)); @@ -2800,6 +2795,14 @@ } +CInputHandler *CMainFrame::GetInputHandler() +{ + if(CMainFrame *mainFrm = GetMainFrame()) + return GetMainFrame()->m_InputHandler.get(); + return nullptr; +} + + // We have switched focus to a new module - might need to update effect keys to reflect module type bool CMainFrame::UpdateEffectKeys(const CModDoc *modDoc) { @@ -3202,7 +3205,7 @@ "Make sure that there's a proper range for menu commands in resources."); HMENU hMenu = CreateFileMenu(nMaxItemsInExampleModulesMenu, m_ExampleModulePaths, P_("ExampleSongs\\"), ID_EXAMPLE_MODULES); CMenu* const pMainMenu = GetMenu(); - if (hMenu && pMainMenu && m_InputHandler) + if (hMenu && pMainMenu) VERIFY(pMainMenu->ModifyMenu(ID_EXAMPLE_MODULES, MF_BYCOMMAND | MF_POPUP, (UINT_PTR)hMenu, m_InputHandler->GetMenuText(ID_EXAMPLE_MODULES))); else ASSERT(false); @@ -3233,7 +3236,7 @@ "Make sure that there's a proper range for menu commands in resources."); HMENU hMenu = CreateFileMenu(nMaxItemsInTemplateModulesMenu, m_TemplateModulePaths, P_("TemplateModules\\"), ID_FILE_OPENTEMPLATE); auto [fileMenu, position] = FindMenuItemByCommand(*GetMenu(), ID_FILE_OPEN); - if(hMenu && fileMenu && m_InputHandler) + if(hMenu && fileMenu) { VERIFY(fileMenu->RemoveMenu(position + 1, MF_BYPOSITION)); VERIFY(fileMenu->InsertMenu(position + 1, MF_BYPOSITION | MF_POPUP, (UINT_PTR)hMenu, m_InputHandler->GetMenuText(ID_FILE_OPENTEMPLATE))); Modified: trunk/OpenMPT/mptrack/Mainfrm.h ============================================================================== --- trunk/OpenMPT/mptrack/Mainfrm.h Fri Nov 29 14:49:16 2024 (r22344) +++ trunk/OpenMPT/mptrack/Mainfrm.h Fri Nov 29 14:52:20 2024 (r22345) @@ -11,7 +11,6 @@ #pragma once #include "openmpt/all/BuildSettings.hpp" -#include "AutoSaver.h" #include "CImageListEx.h" #include "Mainbar.h" #include "Notification.h" @@ -29,6 +28,7 @@ OPENMPT_NAMESPACE_BEGIN +class CAutoSaver; class CDLSBank; class CInputHandler; class CModDoc; @@ -197,25 +197,26 @@ std::unique_ptr<UpdateCheckResult> m_updateCheckResult; bool m_cancelUpdateCheck = false; #endif // MPT_ENABLE_UPDATE - DWORD helpCookie = 0; + DWORD m_helpCookie = 0; bool m_bOptionsLocked = false; // Notification Buffer mpt::mutex m_NotificationBufferMutex; // to avoid deadlocks, this mutex should only be taken as a innermost lock, i.e. do not block on anything while holding this mutex - Util::fixed_size_queue<Notification,MAX_UPDATE_HISTORY> m_NotifyBuffer; + Util::fixed_size_queue<Notification, MAX_UPDATE_HISTORY> m_NotifyBuffer; // Instrument preview in tree view CSoundFile m_WaveFile; TCHAR m_szUserText[512], m_szInfoText[512], m_szXInfoText[512]; - CAutoSaver m_AutoSaver; + mpt::heap_value<CAutoSaver> m_AutoSaver; + mpt::heap_value<CInputHandler> m_InputHandler; public: bool m_bModTreeHasFocus = false; public: - CMainFrame(/*CString regKeyExtension*/); + CMainFrame(); void Initialize(); @@ -264,7 +265,6 @@ static HICON GetModIcon() { return m_hIcon; } static HFONT GetGUIFont() { return m_hGUIFont; } static LRESULT CALLBACK FocusChangeProc(int code, WPARAM wParam, LPARAM lParam); - static CInputHandler *m_InputHandler; // Misc functions public: @@ -282,7 +282,7 @@ void OnDocumentClosed(CModDoc *pModDoc); void UpdateTree(CModDoc *pModDoc, UpdateHint hint, CObject *pHint = nullptr); void RefreshDlsBanks(); - static CInputHandler* GetInputHandler() { return m_InputHandler; } + static CInputHandler *GetInputHandler(); void SetElapsedTime(double t) { m_dwTimeSec = mpt::saturate_cast<samplecount_t>(t * 10.0); } #if defined(MPT_ENABLE_UPDATE) @@ -305,7 +305,7 @@ // [out] paths: Receives the full paths of the files added to the menu. // [in] folderName: Name of the folder // [in] idRangeBegin: First ID for the menu item. - static HMENU CreateFileMenu(const size_t maxCount, std::vector<mpt::PathString>& paths, const mpt::PathString &folderName, const uint16 idRangeBegin); + static HMENU CreateFileMenu(const size_t maxCount, std::vector<mpt::PathString> &paths, const mpt::PathString &folderName, const uint16 idRangeBegin); // Player functions public: @@ -316,7 +316,7 @@ void StopPlayback(); bool RestartPlayback(); bool PausePlayback(); - static bool IsValidSoundFile(CSoundFile &sndFile) { return sndFile.GetType() ? true : false; } + static bool IsValidSoundFile(CSoundFile &sndFile) { return sndFile.GetType() != MOD_TYPE_NONE; } static bool IsValidSoundFile(CSoundFile *pSndFile) { return pSndFile && pSndFile->GetType(); } void SetPlaybackSoundFile(CSoundFile *pSndFile); void UnsetPlaybackSoundFile(); @@ -367,7 +367,7 @@ protected: // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMainFrame) - BOOL PreCreateWindow(CREATESTRUCT& cs) override; + BOOL PreCreateWindow(CREATESTRUCT &cs) override; BOOL PreTranslateMessage(MSG *pMsg) override; BOOL DestroyWindow() override; void OnUpdateFrameTitle(BOOL bAddToTitle) override; @@ -377,7 +377,7 @@ void OpenMenuItemFile(const UINT nId, const bool isTemplateFile); void ShowToolbarMenu(CPoint screenPt); - static void AddToolBarMenuEntries(CMenu &menu); + void AddToolBarMenuEntries(CMenu &menu) const; void RecreateImageLists(); void SetupStatusBarSizes(); Modified: trunk/OpenMPT/src/mpt/base/alloc.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/alloc.hpp Fri Nov 29 14:49:16 2024 (r22344) +++ trunk/OpenMPT/src/mpt/base/alloc.hpp Fri Nov 29 14:52:20 2024 (r22345) @@ -174,6 +174,12 @@ T * operator->() { return m_value.get(); } + const T * get() const { + return m_value.get(); + } + T * get() { + return m_value.get(); + } }; |
From: <sv...@op...> - 2024-11-29 13:49:24
|
Author: sagamusix Date: Fri Nov 29 14:49:16 2024 New Revision: 22344 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22344 Log: [Imp] Add long file path support to TempFileGuard and various mpt::native_fs functions. Modified: trunk/OpenMPT/common/mptFileTemporary.cpp trunk/OpenMPT/src/mpt/fs/fs.hpp Modified: trunk/OpenMPT/common/mptFileTemporary.cpp ============================================================================== --- trunk/OpenMPT/common/mptFileTemporary.cpp Fri Nov 29 12:00:17 2024 (r22343) +++ trunk/OpenMPT/common/mptFileTemporary.cpp Fri Nov 29 14:49:16 2024 (r22344) @@ -68,7 +68,7 @@ { if(!filename.empty()) { - DeleteFile(filename.AsNative().c_str()); + DeleteFile(mpt::support_long_path(filename.AsNative()).c_str()); } } @@ -80,7 +80,7 @@ { return; } - if(::CreateDirectory(dirname.AsNative().c_str(), NULL) == 0) + if(::CreateDirectory(mpt::support_long_path(dirname.AsNative()).c_str(), NULL) == 0) { // fail dirname = mpt::PathString(); } Modified: trunk/OpenMPT/src/mpt/fs/fs.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/fs/fs.hpp Fri Nov 29 12:00:17 2024 (r22343) +++ trunk/OpenMPT/src/mpt/fs/fs.hpp Fri Nov 29 14:49:16 2024 (r22344) @@ -8,6 +8,7 @@ #include "mpt/base/detect.hpp" #include "mpt/base/namespace.hpp" #include "mpt/path/native_path.hpp" +#include "mpt/path/os_path_long.hpp" #if MPT_OS_WINDOWS #include <vector> @@ -42,37 +43,38 @@ // Verify if this path represents a valid directory on the file system. bool is_directory(const mpt::native_path & path) { - // Using PathIsDirectoryW here instead would increase libopenmpt dependencies by shlwapi.dll. + // Using PathIsDirectoryW here instead would increase libopenmpt dependencies by shlwapi.dll (and it would only work with paths up to MAX_PATH). // GetFileAttributesW also does the job just fine. -#if MPT_OS_WINDOWS_WINRT - WIN32_FILE_ATTRIBUTE_DATA data = {}; - if (::GetFileAttributesExW(path.AsNative().c_str(), GetFileExInfoStandard, &data) == 0) { - return false; - } - DWORD dwAttrib = data.dwFileAttributes; -#else // !MPT_OS_WINDOWS_WINRT - DWORD dwAttrib = ::GetFileAttributes(path.AsNative().c_str()); -#endif // MPT_OS_WINDOWS_WINRT + DWORD dwAttrib = get_file_attributes(path); return ((dwAttrib != INVALID_FILE_ATTRIBUTES) && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY)); } // Verify if this path exists and is a file on the file system. bool is_file(const mpt::native_path & path) { + DWORD dwAttrib = get_file_attributes(path); + return ((dwAttrib != INVALID_FILE_ATTRIBUTES) && !(dwAttrib & FILE_ATTRIBUTE_DIRECTORY)); + } + + // Verify that a path exists (no matter what type) + bool exists(const mpt::native_path & path) { + DWORD dwAttrib = get_file_attributes(path); + return (dwAttrib != INVALID_FILE_ATTRIBUTES); + } + + + +private: + + DWORD get_file_attributes(const mpt::native_path & path) { #if MPT_OS_WINDOWS_WINRT WIN32_FILE_ATTRIBUTE_DATA data = {}; if (::GetFileAttributesExW(path.AsNative().c_str(), GetFileExInfoStandard, &data) == 0) { - return false; + return INVALID_FILE_ATTRIBUTES; } - DWORD dwAttrib = data.dwFileAttributes; + return data.dwFileAttributes; #else // !MPT_OS_WINDOWS_WINRT - DWORD dwAttrib = ::GetFileAttributes(path.AsNative().c_str()); + return ::GetFileAttributes(path.AsNative().c_str()); #endif // MPT_OS_WINDOWS_WINRT - return ((dwAttrib != INVALID_FILE_ATTRIBUTES) && !(dwAttrib & FILE_ATTRIBUTE_DIRECTORY)); - } - - // Verify that a path exists (no matter what type) - bool exists(const mpt::native_path & path) { - return ::PathFileExists(path.AsNative().c_str()) != FALSE; } @@ -81,12 +83,13 @@ #if !(MPT_WINRT_BEFORE(MPT_WIN_10)) mpt::native_path absolute(const mpt::native_path & path) { - DWORD size = ::GetFullPathName(path.AsNative().c_str(), 0, nullptr, nullptr); + const auto long_path = mpt::support_long_path(path.AsNative()); + DWORD size = ::GetFullPathName(long_path.c_str(), 0, nullptr, nullptr); if (size == 0) { return path; } std::vector<TCHAR> fullPathName(size, TEXT('\0')); - if (::GetFullPathName(path.AsNative().c_str(), size, fullPathName.data(), nullptr) == 0) { + if (::GetFullPathName(long_path.c_str(), size, fullPathName.data(), nullptr) == 0) { return path; } return mpt::native_path::FromNative(fullPathName.data()); @@ -116,7 +119,7 @@ path = path.WithTrailingSlash(); HANDLE hFind = NULL; WIN32_FIND_DATA wfd = {}; - hFind = ::FindFirstFile((path + MPT_NATIVE_PATH("*.*")).AsNative().c_str(), &wfd); + hFind = ::FindFirstFile(mpt::support_long_path((path + MPT_NATIVE_PATH("*.*")).AsNative()).c_str(), &wfd); if (hFind != NULL && hFind != INVALID_HANDLE_VALUE) { do { mpt::native_path filename = mpt::native_path::FromNative(wfd.cFileName); |
From: <sv...@op...> - 2024-11-29 11:00:31
|
Author: manx Date: Fri Nov 29 12:00:17 2024 New Revision: 22343 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22343 Log: [Var] Regenerate project files. Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win10clang/PluginBridge.vcxproj trunk/OpenMPT/build/vs2022win10clang/PluginBridgeLegacy.vcxproj trunk/OpenMPT/build/vs2022win10clang/ext/UnRAR.vcxproj trunk/OpenMPT/build/vs2022win10clang/ext/ancient.vcxproj trunk/OpenMPT/build/vs2022win10clang/ext/portaudiocpp.vcxproj trunk/OpenMPT/build/vs2022win10clang/ext/pugixml.vcxproj trunk/OpenMPT/build/vs2022win10clang/ext/r8brain.vcxproj trunk/OpenMPT/build/vs2022win10clang/ext/rtaudio.vcxproj trunk/OpenMPT/build/vs2022win10clang/ext/rtmidi.vcxproj trunk/OpenMPT/build/vs2022win10clang/in_openmpt.vcxproj trunk/OpenMPT/build/vs2022win10clang/libopenmpt-small.vcxproj trunk/OpenMPT/build/vs2022win10clang/libopenmpt.vcxproj trunk/OpenMPT/build/vs2022win10clang/libopenmpt_example_cxx.vcxproj trunk/OpenMPT/build/vs2022win10clang/libopenmpt_test.vcxproj trunk/OpenMPT/build/vs2022win10clang/openmpt123.vcxproj trunk/OpenMPT/build/vs2022win10clang/updatesigntool.vcxproj trunk/OpenMPT/build/vs2022win10clang/xmp-openmpt.vcxproj Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Fri Nov 29 11:59:55 2024 (r22342) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Fri Nov 29 12:00:17 2024 (r22343) @@ -560,7 +560,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -597,7 +597,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -634,7 +634,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -671,7 +671,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -713,7 +713,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -756,7 +756,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -799,7 +799,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -842,7 +842,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -887,7 +887,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -931,7 +931,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -975,7 +975,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1019,7 +1019,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1058,7 +1058,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1095,7 +1095,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1132,7 +1132,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1169,7 +1169,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1211,7 +1211,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1254,7 +1254,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1297,7 +1297,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1340,7 +1340,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1385,7 +1385,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1429,7 +1429,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1473,7 +1473,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1517,7 +1517,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj Fri Nov 29 11:59:55 2024 (r22342) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-NativeSupport.vcxproj Fri Nov 29 12:00:17 2024 (r22343) @@ -534,7 +534,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -559,7 +559,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -584,7 +584,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -609,7 +609,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -639,7 +639,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -670,7 +670,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -701,7 +701,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -732,7 +732,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -765,7 +765,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -797,7 +797,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -829,7 +829,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -861,7 +861,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -888,7 +888,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -913,7 +913,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -938,7 +938,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -963,7 +963,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -993,7 +993,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1024,7 +1024,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1055,7 +1055,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1086,7 +1086,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1119,7 +1119,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1151,7 +1151,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1183,7 +1183,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1215,7 +1215,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Fri Nov 29 11:59:55 2024 (r22342) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Fri Nov 29 12:00:17 2024 (r22343) @@ -560,7 +560,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -597,7 +597,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -634,7 +634,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -671,7 +671,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -713,7 +713,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -756,7 +756,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -799,7 +799,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -842,7 +842,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -887,7 +887,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -931,7 +931,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -975,7 +975,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1019,7 +1019,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1058,7 +1058,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1095,7 +1095,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1132,7 +1132,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1169,7 +1169,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1211,7 +1211,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1254,7 +1254,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1297,7 +1297,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1340,7 +1340,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1385,7 +1385,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1429,7 +1429,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1473,7 +1473,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1517,7 +1517,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj Fri Nov 29 11:59:55 2024 (r22342) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj Fri Nov 29 12:00:17 2024 (r22343) @@ -560,7 +560,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -597,7 +597,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -634,7 +634,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -671,7 +671,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -713,7 +713,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -756,7 +756,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -799,7 +799,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -842,7 +842,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -887,7 +887,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -931,7 +931,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -975,7 +975,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1019,7 +1019,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1058,7 +1058,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1095,7 +1095,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1132,7 +1132,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1169,7 +1169,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1211,7 +1211,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1254,7 +1254,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1297,7 +1297,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1340,7 +1340,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1385,7 +1385,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1429,7 +1429,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1473,7 +1473,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1517,7 +1517,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> Modified: trunk/OpenMPT/build/vs2022win10clang/PluginBridge.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/PluginBridge.vcxproj Fri Nov 29 11:59:55 2024 (r22342) +++ trunk/OpenMPT/build/vs2022win10clang/PluginBridge.vcxproj Fri Nov 29 12:00:17 2024 (r22343) @@ -534,7 +534,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -566,7 +566,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -598,7 +598,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -630,7 +630,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -667,7 +667,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -705,7 +705,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -743,7 +743,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -781,7 +781,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -821,7 +821,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -860,7 +860,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -899,7 +899,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -938,7 +938,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -972,7 +972,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1004,7 +1004,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1036,7 +1036,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1068,7 +1068,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1105,7 +1105,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1143,7 +1143,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1181,7 +1181,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1219,7 +1219,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1259,7 +1259,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1298,7 +1298,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1337,7 +1337,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -1376,7 +1376,7 @@ <OmitFramePointers>false</OmitFramePointers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> Modified: trunk/OpenMPT/build/vs2022win10clang/PluginBridgeLegacy.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/PluginBridgeLegacy.vcxproj Fri Nov 29 11:59:55 2024 (r22342) +++ trunk/OpenMPT/build/vs2022win10clang/PluginBridgeLegacy.vcxproj Fri Nov 29 12:00:17 2024 (r22343) @@ -534,7 +534,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -566,7 +566,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -599,7 +599,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -630,7 +630,7 @@ <DebugInformationFormat>None</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -667,7 +667,7 @@ <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -705,7 +705,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -744,7 +744,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <LanguageStandard>stdcpp17</LanguageStandard> + <LanguageStandard>stdcpp20</LanguageStandard> <LanguageStandard_C>stdc17</LanguageStandard_C> <ConformanceMode>true</ConformanceMode> <ExternalWarningLevel>Level3</ExternalWarningLevel> @@ -781,7 +781,7 @@ <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrar... [truncated message content] |
From: <sv...@op...> - 2024-11-29 11:00:07
|
Author: manx Date: Fri Nov 29 11:59:55 2024 New Revision: 22342 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22342 Log: [Mod] build: premake: Clang: Enable C++20 for Clang on Windows. Modified: trunk/OpenMPT/build/premake/premake-defaults.lua Modified: trunk/OpenMPT/build/premake/premake-defaults.lua ============================================================================== --- trunk/OpenMPT/build/premake/premake-defaults.lua Fri Nov 29 11:59:22 2024 (r22341) +++ trunk/OpenMPT/build/premake/premake-defaults.lua Fri Nov 29 11:59:55 2024 (r22342) @@ -124,11 +124,7 @@ filter { "action:vs*", "language:C++", "action:vs2019" } cppdialect "C++17" filter { "action:vs*", "language:C++", "not action:vs2017", "not action:vs2019" } - if _OPTIONS["clang"] then - cppdialect "C++17" - else - cppdialect "C++20" - end + cppdialect "C++20" filter { "action:vs*", "action:vs2017" } if _OPTIONS["windows-version"] == "win10" then conformancemode "On" |
From: <sv...@op...> - 2024-11-29 10:59:33
|
Author: manx Date: Fri Nov 29 11:59:22 2024 New Revision: 22341 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22341 Log: [Ref] mptOSException: Silence Clang warning. Modified: trunk/OpenMPT/misc/mptOSException.h Modified: trunk/OpenMPT/misc/mptOSException.h ============================================================================== --- trunk/OpenMPT/misc/mptOSException.h Fri Nov 29 11:58:55 2024 (r22340) +++ trunk/OpenMPT/misc/mptOSException.h Fri Nov 29 11:59:22 2024 (r22341) @@ -59,6 +59,7 @@ static_assert(std::is_trivially_copy_constructible<decltype(fn())>::value); static_assert(std::is_trivially_move_assignable<decltype(fn())>::value); static_assert(std::is_trivially_move_constructible<decltype(fn())>::value); + MPT_UNUSED(handler); DWORD code = 0; __try { |
From: <sv...@op...> - 2024-11-29 10:59:07
|
Author: manx Date: Fri Nov 29 11:58:55 2024 New Revision: 22340 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22340 Log: [Ref] Pattern Font: Silence Clang warning with C++20 MPT_USTRING_MODE_WIDE. Modified: trunk/OpenMPT/mptrack/PatternFont.cpp Modified: trunk/OpenMPT/mptrack/PatternFont.cpp ============================================================================== --- trunk/OpenMPT/mptrack/PatternFont.cpp Fri Nov 29 11:57:59 2024 (r22339) +++ trunk/OpenMPT/mptrack/PatternFont.cpp Fri Nov 29 11:58:55 2024 (r22340) @@ -99,7 +99,7 @@ ::DrawTextA(hDC, &ch, 1, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_NOPREFIX); } -#if MPT_CXX_AT_LEAST(20) +#if MPT_CXX_AT_LEAST(20) && MPT_USTRING_MODE_UTF8 static void DrawChar(HDC hDC, char8_t ch8, int x, int y, int w, int h) { CRect rect(x, y, x + w, y + h); |
From: <sv...@op...> - 2024-11-29 10:58:05
|
Author: manx Date: Fri Nov 29 11:57:59 2024 New Revision: 22339 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22339 Log: [Ref] Pattern Font: Replace open char casts by mpt::unsafe_char_convert. Modified: trunk/OpenMPT/mptrack/PatternFont.cpp Modified: trunk/OpenMPT/mptrack/PatternFont.cpp ============================================================================== --- trunk/OpenMPT/mptrack/PatternFont.cpp Fri Nov 29 10:08:49 2024 (r22338) +++ trunk/OpenMPT/mptrack/PatternFont.cpp Fri Nov 29 11:57:59 2024 (r22339) @@ -454,7 +454,7 @@ for(uint32 c = 32; c < 128; ++c) { - DrawChar(hDC, (char)(unsigned char)c, charWidth * c, 0, charWidth, charHeight); + DrawChar(hDC, mpt::unsafe_char_convert<char>(static_cast<char32_t>(c)), charWidth * c, 0, charWidth, charHeight); } ::GdiFlush(); |
From: <sv...@op...> - 2024-11-29 09:09:00
|
Author: manx Date: Fri Nov 29 10:08:49 2024 New Revision: 22338 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22338 Log: [Fix] mptTime: Add some trivial std::chrono shims for C++17. Modified: trunk/OpenMPT/common/mptTime.h trunk/OpenMPT/mptrack/AutoSaver.cpp trunk/OpenMPT/mptrack/AutoSaver.h Modified: trunk/OpenMPT/common/mptTime.h ============================================================================== --- trunk/OpenMPT/common/mptTime.h Thu Nov 28 23:39:49 2024 (r22337) +++ trunk/OpenMPT/common/mptTime.h Fri Nov 29 10:08:49 2024 (r22338) @@ -15,6 +15,8 @@ #if MPT_CXX_AT_LEAST(20) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO_DATE) #include <chrono> #include <exception> +#elif MPT_CXX_AT_LEAST(17) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) && defined(MODPLUG_TRACKER) +#include <chrono> #endif #include <string> @@ -37,6 +39,28 @@ +#if defined(MODPLUG_TRACKER) && !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) + +namespace mpt { +namespace chrono { +#if MPT_CXX_AT_LEAST(20) +using days = std::chrono::days; +using weeks = std::chrono::weeks; +using years = std::chrono::years; +using months = std::chrono::months; +#else +using days = std::chrono::duration<int, std::ratio_multiply<std::ratio<24>, std::chrono::hours::period>>; +using weeks = std::chrono::duration<int, std::ratio_multiply<std::ratio<7>, mpt::chrono::days::period>>; +using years = std::chrono::duration<int, std::ratio_multiply<std::ratio<146097, 400>, mpt::chrono::days::period>>; +using months = std::chrono::duration<int, std::ratio_divide<mpt::chrono::years::period, std::ratio<12>>>; +#endif +} +} + +#endif // !MPT_LIBCXX_QUIRK_NO_CHRONO + + + namespace mpt { namespace Date Modified: trunk/OpenMPT/mptrack/AutoSaver.cpp ============================================================================== --- trunk/OpenMPT/mptrack/AutoSaver.cpp Thu Nov 28 23:39:49 2024 (r22337) +++ trunk/OpenMPT/mptrack/AutoSaver.cpp Fri Nov 29 10:08:49 2024 (r22338) @@ -59,9 +59,9 @@ } -std::chrono::days CAutoSaver::GetRetentionTime() const +mpt::chrono::days CAutoSaver::GetRetentionTime() const { - return std::chrono::days{TrackerSettings::Instance().AutosaveRetentionTimeDays.Get()}; + return mpt::chrono::days{TrackerSettings::Instance().AutosaveRetentionTimeDays.Get()}; } Modified: trunk/OpenMPT/mptrack/AutoSaver.h ============================================================================== --- trunk/OpenMPT/mptrack/AutoSaver.h Thu Nov 28 23:39:49 2024 (r22337) +++ trunk/OpenMPT/mptrack/AutoSaver.h Fri Nov 29 10:08:49 2024 (r22338) @@ -12,7 +12,7 @@ #include "openmpt/all/BuildSettings.hpp" -#include <chrono> +#include "../common/mptTime.h" OPENMPT_NAMESPACE_BEGIN @@ -30,7 +30,7 @@ mpt::PathString GetPath() const; uint32 GetHistoryDepth() const; std::chrono::minutes GetSaveInterval() const; - std::chrono::days GetRetentionTime() const; + mpt::chrono::days GetRetentionTime() const; private: bool SaveSingleFile(CModDoc &modDoc); |
From: <sv...@op...> - 2024-11-28 22:39:56
|
Author: sagamusix Date: Thu Nov 28 23:39:49 2024 New Revision: 22337 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22337 Log: [Fix] Compile fix for pre-C++20 builds. Modified: trunk/OpenMPT/mptrack/AutoSaver.h Modified: trunk/OpenMPT/mptrack/AutoSaver.h ============================================================================== --- trunk/OpenMPT/mptrack/AutoSaver.h Thu Nov 28 23:07:28 2024 (r22336) +++ trunk/OpenMPT/mptrack/AutoSaver.h Thu Nov 28 23:39:49 2024 (r22337) @@ -12,6 +12,8 @@ #include "openmpt/all/BuildSettings.hpp" +#include <chrono> + OPENMPT_NAMESPACE_BEGIN class CModDoc; |
From: <sv...@op...> - 2024-11-28 22:07:41
|
Author: sagamusix Date: Thu Nov 28 23:07:28 2024 New Revision: 22336 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22336 Log: [New] Autosave: When autosaving to a user-specified folder, there is now the possibility to automatically delete autosaves older than x days (default 30). [New] Autosave: Old autosaves are now moved to the recycling bin by default instead of being deleted permanently. Can be turned off in settings dialog. Modified: trunk/OpenMPT/mptrack/AutoSaver.cpp trunk/OpenMPT/mptrack/AutoSaver.h trunk/OpenMPT/mptrack/FolderScanner.cpp trunk/OpenMPT/mptrack/FolderScanner.h trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/Moddoc.h trunk/OpenMPT/mptrack/PathConfigDlg.cpp trunk/OpenMPT/mptrack/PathConfigDlg.h trunk/OpenMPT/mptrack/TrackerSettings.cpp trunk/OpenMPT/mptrack/TrackerSettings.h trunk/OpenMPT/mptrack/mptrack.rc Modified: trunk/OpenMPT/mptrack/AutoSaver.cpp ============================================================================== --- trunk/OpenMPT/mptrack/AutoSaver.cpp Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/AutoSaver.cpp Thu Nov 28 23:07:28 2024 (r22336) @@ -28,7 +28,7 @@ CAutoSaver::CAutoSaver() - : m_lastSave(timeGetTime()) + : m_lastSave{timeGetTime()} { } @@ -53,32 +53,38 @@ return TrackerSettings::Instance().AutosaveHistoryDepth; } -uint32 CAutoSaver::GetSaveInterval() const +std::chrono::minutes CAutoSaver::GetSaveInterval() const { - return TrackerSettings::Instance().AutosaveIntervalMinutes; + return std::chrono::minutes{TrackerSettings::Instance().AutosaveIntervalMinutes.Get()}; } -bool CAutoSaver::DoSave(DWORD curTime) +std::chrono::days CAutoSaver::GetRetentionTime() const +{ + return std::chrono::days{TrackerSettings::Instance().AutosaveRetentionTimeDays.Get()}; +} + + +bool CAutoSaver::DoSave() { // Do nothing if we are already saving, or if time to save has not been reached yet. - if(m_saveInProgress || !CheckTimer(curTime)) + if(m_saveInProgress || !CheckTimer(timeGetTime())) return true; bool success = true, clearStatus = false; m_saveInProgress = true; - theApp.BeginWaitCursor(); // Display hour glass + theApp.BeginWaitCursor(); // Display hour glass for(auto &modDoc : theApp.GetOpenDocuments()) { if(modDoc->ModifiedSinceLastAutosave()) { clearStatus = true; - static_cast<CMainFrame *>(theApp.GetMainWnd())->SetHelpText(MPT_CFORMAT("Auto-saving {}...")(modDoc->GetPathNameMpt().GetFilename())); + CMainFrame::GetMainFrame()->SetHelpText(MPT_CFORMAT("Auto-saving {}...")(modDoc->GetPathNameMpt().GetFilename())); if(SaveSingleFile(*modDoc)) { - CleanUpBackups(*modDoc); + CleanUpAutosaves(*modDoc); } else { TrackerSettings::Instance().AutosaveEnabled = false; @@ -87,13 +93,14 @@ } } } + CleanUpAutosaves(); m_lastSave = timeGetTime(); theApp.EndWaitCursor(); // End display hour glass m_saveInProgress = false; if(clearStatus) - static_cast<CMainFrame *>(theApp.GetMainWnd())->SetHelpText(_T("")); + CMainFrame::GetMainFrame()->SetHelpText(_T("")); return success; } @@ -101,7 +108,7 @@ bool CAutoSaver::CheckTimer(DWORD curTime) const { - return (curTime - m_lastSave) >= GetSaveIntervalMilliseconds(); + return std::chrono::milliseconds{curTime - m_lastSave} >= GetSaveInterval(); } @@ -149,41 +156,19 @@ bool CAutoSaver::SaveSingleFile(CModDoc &modDoc) { - // We do not call CModDoc::DoSave as this populates the Recent Files - // list with backups... hence we have duplicated code.. :( - CSoundFile &sndFile = modDoc.GetSoundFile(); - mpt::PathString fileName = BuildFileName(modDoc); // We are actually not going to show the log for autosaved files. ScopedLogCapturer logcapturer(modDoc, _T(""), nullptr, false); - - bool success = false; - mpt::ofstream f(fileName, std::ios::binary); - if(f) - { - switch(modDoc.GetSoundFile().GetBestSaveFormat()) - { - case MOD_TYPE_MOD: success = sndFile.SaveMod(f); break; - case MOD_TYPE_S3M: success = sndFile.SaveS3M(f); break; - case MOD_TYPE_XM: success = sndFile.SaveXM(f); break; - case MOD_TYPE_IT: success = sndFile.SaveIT(f, GetUseOriginalPath() ? fileName : mpt::PathString{}); break; - case MOD_TYPE_MPT: success = sndFile.SaveIT(f, GetUseOriginalPath() ? fileName : mpt::PathString{}); break; - default: - // nothing - break; - } - } - - return success; + return modDoc.SaveFile(BuildFileName(modDoc), GetUseOriginalPath()); } -void CAutoSaver::CleanUpBackups(const CModDoc &modDoc) const +void CAutoSaver::CleanUpAutosaves(const CModDoc &modDoc) const { // Find all autosave files for this document, and delete the oldest ones if there are more than the user wants. std::vector<mpt::PathString> foundfiles; - FolderScanner scanner(GetBasePath(modDoc, false), FolderScanner::kOnlyFiles, GetBaseName(modDoc) + P_(".AutoSave.*")); + FolderScanner scanner(GetBasePath(modDoc, false), FolderScanner::kOnlyFiles, GetBaseName(modDoc) + P_(".AutoSave.*.*.*")); mpt::PathString fileName; while(scanner.Next(fileName)) { @@ -191,11 +176,53 @@ } std::sort(foundfiles.begin(), foundfiles.end()); size_t filesToDelete = std::max(static_cast<size_t>(GetHistoryDepth()), foundfiles.size()) - GetHistoryDepth(); + const bool deletePermanently = TrackerSettings::Instance().AutosaveDeletePermanently; for(size_t i = 0; i < filesToDelete; i++) { - DeleteFile(foundfiles[i].AsNative().c_str()); + DeleteAutosave(foundfiles[i], deletePermanently); } } +// Find all autosave files in the autosave folder and delete all of those older than X days +void CAutoSaver::CleanUpAutosaves() const +{ + if(GetUseOriginalPath() || !GetRetentionTime().count()) + return; + auto path = GetPath(); + if(!mpt::native_fs{}.is_directory(path)) + return; + const std::chrono::seconds maxAge = GetRetentionTime(); + const bool deletePermanently = TrackerSettings::Instance().AutosaveDeletePermanently; + FILETIME sysFileTime; + GetSystemTimeAsFileTime(&sysFileTime); + const int64 currentTime = static_cast<int64>(mpt::bit_cast<ULARGE_INTEGER>(sysFileTime).QuadPart); + FolderScanner scanner(std::move(path), FolderScanner::kOnlyFiles, P_("*.AutoSave.*.*.*")); + mpt::PathString fileName; + WIN32_FIND_DATA fileInfo; + while(scanner.Next(fileName, &fileInfo)) + { + const auto fileTime = static_cast<int64>(mpt::bit_cast<ULARGE_INTEGER>(fileInfo.ftLastWriteTime).QuadPart); + const auto timeDiff = std::chrono::seconds{(currentTime - fileTime) / 10000000}; + if(timeDiff >= maxAge) + DeleteAutosave(fileName, deletePermanently); + } +} + + +void CAutoSaver::DeleteAutosave(const mpt::PathString &fileName, bool deletePermanently) +{ + // Create double-null-terminated path list + // Note: We could supply multiple filenames here. However, if the files in total are too big for the recycling bin, + // this will cause all of them to be deleted permanently. If we supply them one by one, at least some of them + // will go to the recycling bin until it is full. + mpt::winstring path = fileName.AsNative() + _T('\0'); + SHFILEOPSTRUCT fos{}; + fos.hwnd = CMainFrame::GetMainFrame()->m_hWnd; + fos.wFunc = FO_DELETE; + fos.pFrom = path.c_str(); + fos.fFlags = (deletePermanently ? 0 : FOF_ALLOWUNDO) | FOF_NO_UI; + SHFileOperation(&fos); +} + OPENMPT_NAMESPACE_END Modified: trunk/OpenMPT/mptrack/AutoSaver.h ============================================================================== --- trunk/OpenMPT/mptrack/AutoSaver.h Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/AutoSaver.h Thu Nov 28 23:07:28 2024 (r22336) @@ -21,28 +21,27 @@ public: CAutoSaver(); - bool DoSave(DWORD curTime); + bool DoSave(); bool IsEnabled() const; bool GetUseOriginalPath() const; mpt::PathString GetPath() const; uint32 GetHistoryDepth() const; - uint32 GetSaveInterval() const; - uint32 GetSaveIntervalMilliseconds() const - { - return Clamp(GetSaveInterval(), 0u, (1u << 30) / 60u / 1000u) * 60 * 1000; - } + std::chrono::minutes GetSaveInterval() const; + std::chrono::days GetRetentionTime() const; private: bool SaveSingleFile(CModDoc &modDoc); mpt::PathString GetBasePath(const CModDoc &modDoc, bool createPath) const; mpt::PathString GetBaseName(const CModDoc &modDoc) const; mpt::PathString BuildFileName(const CModDoc &modDoc) const; - void CleanUpBackups(const CModDoc &modDoc) const; + void CleanUpAutosaves(const CModDoc &modDoc) const; + void CleanUpAutosaves() const; bool CheckTimer(DWORD curTime) const; + static void DeleteAutosave(const mpt::PathString &fileName, bool deletePermanently); DWORD m_lastSave = 0; - //Flag to prevent autosave from starting new saving if previous is still in progress. + // Flag to prevent autosave from starting new saving if previous is still in progress. bool m_saveInProgress = false; }; Modified: trunk/OpenMPT/mptrack/FolderScanner.cpp ============================================================================== --- trunk/OpenMPT/mptrack/FolderScanner.cpp Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/FolderScanner.cpp Thu Nov 28 23:07:28 2024 (r22336) @@ -14,19 +14,18 @@ OPENMPT_NAMESPACE_BEGIN -FolderScanner::FolderScanner(const mpt::PathString &path, FlagSet<ScanType> type, mpt::PathString filter) - : m_paths(1, path) - , m_filter(std::move(filter)) - , m_hFind(INVALID_HANDLE_VALUE) - , m_type(type) +FolderScanner::FolderScanner(mpt::PathString path, FlagSet<ScanType> type, mpt::PathString filter) + : m_paths{1, std::move(path)} + , m_filter{std::move(filter)} + , m_type{type} { - MemsetZero(m_wfd); } FolderScanner::~FolderScanner() { - FindClose(m_hFind); + if(m_hFind != INVALID_HANDLE_VALUE) + FindClose(m_hFind); } #if MPT_COMPILER_MSVC @@ -34,7 +33,7 @@ #pragma warning(push) #pragma warning(disable:6387) // 'HANDLE' could be '0' #endif // MPT_COMPILER_MSVC -bool FolderScanner::Next(mpt::PathString &file) +bool FolderScanner::Next(mpt::PathString &file, WIN32_FIND_DATA *fileInfo) { bool found = false; do @@ -42,13 +41,10 @@ if(m_hFind == INVALID_HANDLE_VALUE) { if(m_paths.empty()) - { return false; - } - m_currentPath = m_paths.back(); + m_currentPath = m_paths.back().WithTrailingSlash(); m_paths.pop_back(); - m_currentPath = m_currentPath.WithTrailingSlash(); m_hFind = FindFirstFile(mpt::support_long_path((m_currentPath + m_filter).AsNative()).c_str(), &m_wfd); } @@ -62,29 +58,25 @@ { if(_tcscmp(m_wfd.cFileName, _T("..")) && _tcscmp(m_wfd.cFileName, _T("."))) { + // Add sub directory if(m_type[kFindInSubDirectories]) - { - // Add sub directory m_paths.push_back(file); - } if(m_type[kOnlyDirectories]) - { found = true; - } } } else if(m_type[kOnlyFiles]) { found = true; } + if(found && fileInfo) + *fileInfo = m_wfd; } while((nextFile = FindNextFile(m_hFind, &m_wfd)) != FALSE && !found); } if(nextFile == FALSE) { // Done with this directory, advance to next if(m_hFind != INVALID_HANDLE_VALUE) - { FindClose(m_hFind); - } m_hFind = INVALID_HANDLE_VALUE; } } while(!found); Modified: trunk/OpenMPT/mptrack/FolderScanner.h ============================================================================== --- trunk/OpenMPT/mptrack/FolderScanner.h Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/FolderScanner.h Thu Nov 28 23:07:28 2024 (r22336) @@ -27,20 +27,19 @@ kFindInSubDirectories = 0x04, }; -protected: - std::vector<mpt::PathString> m_paths; - mpt::PathString m_currentPath; - mpt::PathString m_filter; - HANDLE m_hFind; - WIN32_FIND_DATA m_wfd; - FlagSet<ScanType> m_type; - -public: - FolderScanner(const mpt::PathString &path, FlagSet<ScanType> type, mpt::PathString filter = MPT_PATHSTRING("*.*")); + FolderScanner(mpt::PathString path, FlagSet<ScanType> type, mpt::PathString filter = P_("*.*")); ~FolderScanner(); // Return one file or directory at a time in parameter file. Returns true if a file was found (file parameter is valid), false if no more files can be found (file parameter is not touched). - bool Next(mpt::PathString &file); + bool Next(mpt::PathString &file, WIN32_FIND_DATA *fileInfo = nullptr); + +protected: + std::vector<mpt::PathString> m_paths; + mpt::PathString m_currentPath; + const mpt::PathString m_filter; + HANDLE m_hFind = INVALID_HANDLE_VALUE; + WIN32_FIND_DATA m_wfd{}; + const FlagSet<ScanType> m_type; }; MPT_DECLARE_ENUM(FolderScanner::ScanType) Modified: trunk/OpenMPT/mptrack/MainFrm.cpp ============================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/MainFrm.cpp Thu Nov 28 23:07:28 2024 (r22336) @@ -2216,17 +2216,14 @@ { m_dwTimeSec = time; m_nAvgMixChn = m_nMixChn; - OnUpdateTime(NULL); + OnUpdateTime(nullptr); } } - // Idle Time Check - DWORD curTime = timeGetTime(); - if(m_AutoSaver.IsEnabled()) { - bool success = m_AutoSaver.DoSave(curTime); - if (!success) // autosave failure; bring up options. + bool success = m_AutoSaver.DoSave(); + if(!success) // autosave failure; bring up options. { CMainFrame::m_nLastOptionsPage = OPTIONS_PAGE_PATHS; OnViewOptions(); Modified: trunk/OpenMPT/mptrack/Moddoc.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/Moddoc.cpp Thu Nov 28 23:07:28 2024 (r22336) @@ -318,65 +318,41 @@ if(filename.empty()) return false; - bool ok = false; BeginWaitCursor(); - m_SndFile.m_dwLastSavedWithVersion = Version::Current(); - try + const bool ok = SaveFile(filename, true); + if(ok && m_SndFile.m_SongFlags[SONG_IMPORTED]) { - mpt::IO::SafeOutputFile sf(filename, std::ios::binary, mpt::IO::FlushModeFromBool(TrackerSettings::Instance().MiscFlushFileBuffersOnSave)); - mpt::IO::ofstream &f = sf; - if(f) + const auto formatName = m_SndFile.GetModSpecifications().GetFileExtensionUpper(); + if(!(GetModType() & (MOD_TYPE_MOD | MOD_TYPE_S3M))) { - if(m_SndFile.m_SongFlags[SONG_IMPORTED]) + // Check if any non-supported playback behaviours are enabled due to being imported from a different format + // File saving code will omit those flags automatically, so it's okay if we check and reset them after a successful save only + const auto supportedBehaviours = m_SndFile.GetSupportedPlaybackBehaviour(GetModType()); + bool showWarning = true; + for(size_t i = 0; i < kMaxPlayBehaviours; i++) { - const auto formatName = m_SndFile.GetModSpecifications().GetFileExtensionUpper(); - if(!(GetModType() & (MOD_TYPE_MOD | MOD_TYPE_S3M))) + if(m_SndFile.m_playBehaviour[i] && !supportedBehaviours[i]) { - // Check if any non-supported playback behaviours are enabled due to being imported from a different format - const auto supportedBehaviours = m_SndFile.GetSupportedPlaybackBehaviour(GetModType()); - bool showWarning = true; - for(size_t i = 0; i < kMaxPlayBehaviours; i++) + if(showWarning) { - if(m_SndFile.m_playBehaviour[i] && !supportedBehaviours[i]) - { - if(showWarning) - { - AddToLog(LogWarning, MPT_UFORMAT("Some imported Compatibility Settings that are not supported by the {} format have been disabled. Verify that the module still sounds as intended.") - (formatName)); - showWarning = false; - } - m_SndFile.m_playBehaviour.reset(i); - } + AddToLog(LogWarning, MPT_UFORMAT("Some imported Compatibility Settings that are not supported by the {} format have been disabled. Verify that the module still sounds as intended.")(formatName)); + showWarning = false; } + m_SndFile.m_playBehaviour.reset(i); } - - for(INSTRUMENTINDEX i = 1; i <= GetNumInstruments(); i++) - { - if(m_SndFile.Instruments[i] && m_SndFile.Instruments[i]->synth.HasScripts()) - { - AddToLog(LogWarning, MPT_UFORMAT("Scripted instruments are not supported by the {} format and will not be exported.")(formatName)); - break; - } - } - if(!m_SndFile.m_globalScript.empty()) - AddToLog(LogWarning, MPT_UFORMAT("Global instrument scripts are not supported by the {} format and will not be exported.")(formatName)); } + } - f.exceptions(f.exceptions() | std::ios::badbit | std::ios::failbit); - FixNullStrings(); - switch(m_SndFile.GetType()) + for(INSTRUMENTINDEX i = 1; i <= GetNumInstruments(); i++) + { + if(m_SndFile.Instruments[i] && m_SndFile.Instruments[i]->synth.HasScripts()) { - case MOD_TYPE_MOD: ok = m_SndFile.SaveMod(f); break; - case MOD_TYPE_S3M: ok = m_SndFile.SaveS3M(f); break; - case MOD_TYPE_XM: ok = m_SndFile.SaveXM(f); break; - case MOD_TYPE_IT: ok = m_SndFile.SaveIT(f, filename); break; - case MOD_TYPE_MPT: ok = m_SndFile.SaveIT(f, filename); break; - default: MPT_ASSERT_NOTREACHED(); + AddToLog(LogWarning, MPT_UFORMAT("Scripted instruments are not supported by the {} format and will not be exported.")(formatName)); + break; } } - } catch(const std::exception &) - { - ok = false; + if(!m_SndFile.m_globalScript.empty()) + AddToLog(LogWarning, MPT_UFORMAT("Global instrument scripts are not supported by the {} format and will not be exported.")(formatName)); } EndWaitCursor(); @@ -398,6 +374,33 @@ } +bool CModDoc::SaveFile(const mpt::PathString &filename, bool allowRelativeSamplePaths) +{ + try + { + mpt::IO::SafeOutputFile sf(filename, std::ios::binary, mpt::IO::FlushModeFromBool(TrackerSettings::Instance().MiscFlushFileBuffersOnSave)); + mpt::IO::ofstream &f = sf; + if(!f) + return false; + + f.exceptions(f.exceptions() | std::ios::badbit | std::ios::failbit); + FixNullStrings(); + switch(m_SndFile.GetBestSaveFormat()) + { + case MOD_TYPE_MOD: return m_SndFile.SaveMod(f); + case MOD_TYPE_S3M: return m_SndFile.SaveS3M(f); + case MOD_TYPE_XM: return m_SndFile.SaveXM(f); + case MOD_TYPE_IT: return m_SndFile.SaveIT(f, allowRelativeSamplePaths ? filename : mpt::PathString{}); + case MOD_TYPE_MPT: return m_SndFile.SaveIT(f, allowRelativeSamplePaths ? filename : mpt::PathString{}); + default: MPT_ASSERT_NOTREACHED(); + } + } catch(const std::exception &) + { + } + return false; +} + + BOOL CModDoc::SaveModified() { if(m_SndFile.GetType() == MOD_TYPE_MPT && !SaveAllSamples()) Modified: trunk/OpenMPT/mptrack/Moddoc.h ============================================================================== --- trunk/OpenMPT/mptrack/Moddoc.h Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/Moddoc.h Thu Nov 28 23:07:28 2024 (r22336) @@ -369,6 +369,7 @@ void OnCloseDocument() override; void SafeFileClose(); bool OnSaveDocument(const mpt::PathString &filename, const bool setPath = true); + bool SaveFile(const mpt::PathString &filename, bool allowRelativeSamplePaths); #if MPT_COMPILER_CLANG #pragma clang diagnostic push Modified: trunk/OpenMPT/mptrack/PathConfigDlg.cpp ============================================================================== --- trunk/OpenMPT/mptrack/PathConfigDlg.cpp Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/PathConfigDlg.cpp Thu Nov 28 23:07:28 2024 (r22336) @@ -74,14 +74,17 @@ ON_COMMAND(IDC_BUTTON_CHANGE_VSTPRESETSDIR, &PathConfigDlg::OnBrowsePresets) // Autosave - ON_COMMAND(IDC_CHECK1, &PathConfigDlg::OnSettingsChanged) - ON_BN_CLICKED(IDC_AUTOSAVE_BROWSE, &PathConfigDlg::OnBrowseAutosavePath) - ON_BN_CLICKED(IDC_AUTOSAVE_ENABLE, &PathConfigDlg::OnAutosaveEnable) - ON_BN_CLICKED(IDC_AUTOSAVE_USEORIGDIR, &PathConfigDlg::OnAutosaveUseOrigDir) - ON_BN_CLICKED(IDC_AUTOSAVE_USECUSTOMDIR, &PathConfigDlg::OnAutosaveUseOrigDir) - ON_EN_UPDATE(IDC_AUTOSAVE_PATH, &PathConfigDlg::OnSettingsChanged) - ON_EN_UPDATE(IDC_AUTOSAVE_HISTORY, &PathConfigDlg::OnSettingsChanged) - ON_EN_UPDATE(IDC_AUTOSAVE_INTERVAL, &PathConfigDlg::OnSettingsChanged) + ON_COMMAND(IDC_CHECK1, &PathConfigDlg::OnSettingsChanged) + ON_COMMAND(IDC_CHECK2, &PathConfigDlg::OnAutosaveRetention) + ON_COMMAND(IDC_CHECK3, &PathConfigDlg::OnSettingsChanged) + ON_COMMAND(IDC_AUTOSAVE_BROWSE, &PathConfigDlg::OnBrowseAutosavePath) + ON_COMMAND(IDC_AUTOSAVE_ENABLE, &PathConfigDlg::OnAutosaveEnable) + ON_COMMAND(IDC_AUTOSAVE_USEORIGDIR, &PathConfigDlg::OnAutosaveUseOrigDir) + ON_COMMAND(IDC_AUTOSAVE_USECUSTOMDIR, &PathConfigDlg::OnAutosaveUseOrigDir) + ON_EN_UPDATE(IDC_AUTOSAVE_PATH, &PathConfigDlg::OnSettingsChanged) + ON_EN_UPDATE(IDC_AUTOSAVE_HISTORY, &PathConfigDlg::OnSettingsChanged) + ON_EN_UPDATE(IDC_AUTOSAVE_INTERVAL, &PathConfigDlg::OnSettingsChanged) + ON_EN_UPDATE(IDC_EDIT1, &PathConfigDlg::OnSettingsChanged) END_MESSAGE_MAP() @@ -101,14 +104,19 @@ static_cast<CSpinButtonCtrl *>(GetDlgItem(IDC_SPIN1))->SetRange32(1, int32_max); static_cast<CSpinButtonCtrl *>(GetDlgItem(IDC_SPIN2))->SetRange32(1, int32_max); + static_cast<CSpinButtonCtrl *>(GetDlgItem(IDC_SPIN3))->SetRange32(1, int32_max); CheckDlgButton(IDC_AUTOSAVE_ENABLE, settings.AutosaveEnabled ? BST_CHECKED : BST_UNCHECKED); SetDlgItemInt(IDC_AUTOSAVE_HISTORY, settings.AutosaveHistoryDepth); SetDlgItemInt(IDC_AUTOSAVE_INTERVAL, settings.AutosaveIntervalMinutes); + SetDlgItemInt(IDC_EDIT1, settings.AutosaveRetentionTimeDays ? settings.AutosaveRetentionTimeDays : 30); + CheckDlgButton(IDC_CHECK2, settings.AutosaveRetentionTimeDays > 0); CheckDlgButton(IDC_AUTOSAVE_USEORIGDIR, settings.AutosaveUseOriginalPath ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(IDC_AUTOSAVE_USECUSTOMDIR, settings.AutosaveUseOriginalPath ? BST_UNCHECKED : BST_CHECKED); + CheckDlgButton(IDC_CHECK3, settings.AutosaveDeletePermanently ? BST_CHECKED : BST_UNCHECKED); //enable/disable stuff as appropriate OnAutosaveEnable(); OnAutosaveUseOrigDir(); + OnAutosaveRetention(); return TRUE; } @@ -132,10 +140,15 @@ // Autosave settings.CreateBackupFiles = IsDlgButtonChecked(IDC_CHECK1) != BST_UNCHECKED; - settings.AutosaveEnabled = (IsDlgButtonChecked(IDC_AUTOSAVE_ENABLE) != BST_UNCHECKED); - settings.AutosaveHistoryDepth = (GetDlgItemInt(IDC_AUTOSAVE_HISTORY)); - settings.AutosaveIntervalMinutes = (GetDlgItemInt(IDC_AUTOSAVE_INTERVAL)); - settings.AutosaveUseOriginalPath = (IsDlgButtonChecked(IDC_AUTOSAVE_USEORIGDIR) == BST_CHECKED); + settings.AutosaveEnabled = IsDlgButtonChecked(IDC_AUTOSAVE_ENABLE) != BST_UNCHECKED; + settings.AutosaveHistoryDepth = GetDlgItemInt(IDC_AUTOSAVE_HISTORY); + settings.AutosaveIntervalMinutes = GetDlgItemInt(IDC_AUTOSAVE_INTERVAL); + if(IsDlgButtonChecked(IDC_CHECK2)) + settings.AutosaveRetentionTimeDays = std::max(GetDlgItemInt(IDC_EDIT1), UINT(1)); + else + settings.AutosaveRetentionTimeDays = 0; + settings.AutosaveUseOriginalPath = IsDlgButtonChecked(IDC_AUTOSAVE_USEORIGDIR) != BST_UNCHECKED; + settings.AutosaveDeletePermanently = IsDlgButtonChecked(IDC_CHECK3) != BST_UNCHECKED; CPropertyPage::OnOK(); } @@ -157,15 +170,16 @@ void PathConfigDlg::OnAutosaveEnable() { - BOOL enabled = IsDlgButtonChecked(IDC_AUTOSAVE_ENABLE); - GetDlgItem(IDC_AUTOSAVE_INTERVAL)->EnableWindow(enabled); - GetDlgItem(IDC_SPIN1)->EnableWindow(enabled); - GetDlgItem(IDC_AUTOSAVE_HISTORY)->EnableWindow(enabled); - GetDlgItem(IDC_SPIN2)->EnableWindow(enabled); - GetDlgItem(IDC_AUTOSAVE_USEORIGDIR)->EnableWindow(enabled); - GetDlgItem(IDC_AUTOSAVE_USECUSTOMDIR)->EnableWindow(enabled); - GetDlgItem(IDC_AUTOSAVE_PATH)->EnableWindow(enabled); - GetDlgItem(IDC_AUTOSAVE_BROWSE)->EnableWindow(enabled); + const BOOL enabled = IsDlgButtonChecked(IDC_AUTOSAVE_ENABLE); + static constexpr UINT AutoSaveDlgItems[] = + { + IDC_AUTOSAVE_INTERVAL, IDC_AUTOSAVE_HISTORY, IDC_AUTOSAVE_USEORIGDIR, IDC_AUTOSAVE_USECUSTOMDIR, + IDC_AUTOSAVE_PATH, IDC_AUTOSAVE_BROWSE, IDC_CHECK2, IDC_CHECK3, IDC_EDIT1, IDC_SPIN1, IDC_SPIN2, IDC_SPIN3 + }; + for(UINT id : AutoSaveDlgItems) + { + GetDlgItem(id)->EnableWindow(enabled); + } OnSettingsChanged(); return; } @@ -173,17 +187,28 @@ void PathConfigDlg::OnAutosaveUseOrigDir() { - if (IsDlgButtonChecked(IDC_AUTOSAVE_ENABLE)) + if(IsDlgButtonChecked(IDC_AUTOSAVE_ENABLE)) { - BOOL enabled = IsDlgButtonChecked(IDC_AUTOSAVE_USEORIGDIR); - GetDlgItem(IDC_AUTOSAVE_PATH)->EnableWindow(!enabled); - GetDlgItem(IDC_AUTOSAVE_BROWSE)->EnableWindow(!enabled); + const BOOL enabled = IsDlgButtonChecked(IDC_AUTOSAVE_USEORIGDIR) ? FALSE : TRUE; + static constexpr UINT AutoSaveDirDlgItems[] = {IDC_AUTOSAVE_PATH, IDC_AUTOSAVE_BROWSE, IDC_CHECK2, IDC_EDIT1, IDC_SPIN3}; + for(UINT id : AutoSaveDirDlgItems) + { + GetDlgItem(id)->EnableWindow(enabled); + } OnSettingsChanged(); } return; } +void PathConfigDlg::OnAutosaveRetention() +{ + const BOOL enabled = IsDlgButtonChecked(IDC_CHECK2) ? TRUE : FALSE; + GetDlgItem(IDC_EDIT1)->EnableWindow(enabled); + GetDlgItem(IDC_SPIN3)->EnableWindow(enabled); +} + + void PathConfigDlg::OnSettingsChanged() { SetModified(TRUE); Modified: trunk/OpenMPT/mptrack/PathConfigDlg.h ============================================================================== --- trunk/OpenMPT/mptrack/PathConfigDlg.h Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/PathConfigDlg.h Thu Nov 28 23:07:28 2024 (r22336) @@ -31,6 +31,7 @@ afx_msg void OnAutosaveEnable(); afx_msg void OnAutosaveUseOrigDir(); + afx_msg void OnAutosaveRetention(); afx_msg void OnBrowseAutosavePath(); afx_msg void OnBrowseSongs(); afx_msg void OnBrowseSamples(); Modified: trunk/OpenMPT/mptrack/TrackerSettings.cpp ============================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.cpp Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/TrackerSettings.cpp Thu Nov 28 23:07:28 2024 (r22336) @@ -318,7 +318,9 @@ , AutosaveEnabled(conf, UL_("AutoSave"), UL_("Enabled"), true) , AutosaveIntervalMinutes(conf, UL_("AutoSave"), UL_("IntervalMinutes"), 10) , AutosaveHistoryDepth(conf, UL_("AutoSave"), UL_("BackupHistory"), 3) + , AutosaveRetentionTimeDays(conf, UL_("AutoSave"), UL_("RetentionTimeDays"), 30) , AutosaveUseOriginalPath(conf, UL_("AutoSave"), UL_("UseOriginalPath"), true) + , AutosaveDeletePermanently(conf, UL_("AutoSave"), UL_("DeletePermanently"), false) , AutosavePath(conf, UL_("AutoSave"), UL_("Path"), mpt::common_directories::get_temp_directory()) // Paths , PathSongs(conf, UL_("Paths"), UL_("Songs_Directory"), mpt::PathString()) Modified: trunk/OpenMPT/mptrack/TrackerSettings.h ============================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.h Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/TrackerSettings.h Thu Nov 28 23:07:28 2024 (r22336) @@ -886,7 +886,9 @@ CachedSetting<bool> AutosaveEnabled; CachedSetting<uint32> AutosaveIntervalMinutes; CachedSetting<uint32> AutosaveHistoryDepth; + CachedSetting<uint32> AutosaveRetentionTimeDays; CachedSetting<bool> AutosaveUseOriginalPath; + CachedSetting<bool> AutosaveDeletePermanently; ConfigurableDirectory AutosavePath; // Paths Modified: trunk/OpenMPT/mptrack/mptrack.rc ============================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc Thu Nov 28 22:58:00 2024 (r22335) +++ trunk/OpenMPT/mptrack/mptrack.rc Thu Nov 28 23:07:28 2024 (r22336) @@ -2188,21 +2188,23 @@ CAPTION "Paths / Auto Save" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN + GROUPBOX "Default Directories",IDC_STATIC,6,6,312,102 RTEXT "Songs:",IDC_STATIC_MODDIR,12,18,48,12,SS_CENTERIMAGE EDITTEXT IDC_OPTIONS_DIR_MODS,66,18,192,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_MODDIR,264,18,48,11 + PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_MODDIR,264,18,48,12 RTEXT "Samples:",IDC_STATIC_SAMPDIR,12,36,48,12,SS_CENTERIMAGE EDITTEXT IDC_OPTIONS_DIR_SAMPS,66,36,192,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_SAMPDIR,264,36,48,11 + PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_SAMPDIR,264,36,48,12 RTEXT "Instruments:",IDC_STATIC_INSTRDIR,12,54,48,12,SS_CENTERIMAGE EDITTEXT IDC_OPTIONS_DIR_INSTS,66,54,192,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_INSTRDIR,264,54,48,11 + PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_INSTRDIR,264,54,48,12 RTEXT "VST Plugins:",IDC_STATIC_VSTDIR,12,72,48,12,SS_CENTERIMAGE EDITTEXT IDC_OPTIONS_DIR_VSTS,66,72,192,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_VSTDIR,264,72,48,11 + PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_VSTDIR,264,72,48,12 RTEXT "VST Presets:",IDC_STATIC_VSTPRESETDIR,12,90,48,12,SS_CENTERIMAGE EDITTEXT IDC_OPTIONS_DIR_VSTPRESETS,66,90,192,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_VSTPRESETSDIR,264,90,48,11 + PUSHBUTTON "Browse...",IDC_BUTTON_CHANGE_VSTPRESETSDIR,264,90,48,12 + GROUPBOX "Backup and Auto Save",IDC_STATIC,6,120,312,186 CONTROL "Create &backup copy (*.bak) when saving module files",IDC_CHECK1, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,135,258,12 CONTROL "&Enable Auto Save",IDC_AUTOSAVE_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,154,237,10 @@ -2218,12 +2220,16 @@ "Button",BS_AUTORADIOBUTTON,18,202,218,10 CONTROL "S&tore in:",IDC_AUTOSAVE_USECUSTOMDIR,"Button",BS_AUTORADIOBUTTON,18,218,43,10 EDITTEXT IDC_AUTOSAVE_PATH,72,216,186,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_AUTOSAVE_BROWSE,264,216,48,11 - LTEXT "Filename:",IDC_STATIC,30,240,36,12,SS_CENTERIMAGE - LTEXT "[filename].AutoSave.[timestamp].[extension]",IDC_STATIC,72,240,240,12,SS_CENTERIMAGE,WS_EX_CLIENTEDGE - LTEXT "(example: mySong.AutoSave.20050327.2343.it)",IDC_STATIC,72,258,240,12,SS_CENTERIMAGE - GROUPBOX "Backup and Auto Save",IDC_STATIC,6,120,312,186 - GROUPBOX "Default Directories",IDC_STATIC,6,6,312,102 + PUSHBUTTON "Browse...",IDC_AUTOSAVE_BROWSE,264,216,48,12 + CONTROL "&Delete auto saves older than",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,72,234,114,12 + EDITTEXT IDC_EDIT1,186,234,40,12,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SPIN3,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,210,240,11,14 + LTEXT "days",IDC_STATIC,234,236,30,8 + CONTROL "Delete old auto saves &permanently instead of moving them to the recycling bin",IDC_CHECK3, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,252,294,10 + LTEXT "Filename:",IDC_STATIC,18,270,36,12,SS_CENTERIMAGE + LTEXT "[filename].AutoSave.[timestamp].[extension]",IDC_STATIC,60,270,252,12,SS_CENTERIMAGE,WS_EX_CLIENTEDGE + LTEXT "(example: mySong.it.AutoSave.20050327.2343.it)",IDC_STATIC,60,288,252,12,SS_CENTERIMAGE END IDD_EDIT_GOTO DIALOGEX 0, 0, 123, 122 |
From: <sv...@op...> - 2024-11-28 21:58:11
|
Author: sagamusix Date: Thu Nov 28 22:58:00 2024 New Revision: 22335 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22335 Log: [Ref] mptWine: Avoid unnecessary copy of file contents. Modified: trunk/OpenMPT/misc/mptWine.cpp Modified: trunk/OpenMPT/misc/mptWine.cpp ============================================================================== --- trunk/OpenMPT/misc/mptWine.cpp Thu Nov 28 22:07:05 2024 (r22334) +++ trunk/OpenMPT/misc/mptWine.cpp Thu Nov 28 22:58:00 2024 (r22335) @@ -675,9 +675,8 @@ try { mpt::IO::FileRef f(filename); - std::vector<char> buf = f; mpt::PathString treeFilename = mpt::PathString::FromNative(filename.AsNative().substr(basePath.AsNative().length())); - result.filetree[treeFilename.ToUTF8()] = buf; + result.filetree[treeFilename.ToUTF8()] = f; } catch (std::exception &) { // nothing?! |
From: <sv...@op...> - 2024-11-28 21:07:18
|
Author: sagamusix Date: Thu Nov 28 22:07:05 2024 New Revision: 22334 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22334 Log: Merged revision(s) 22333 from trunk/OpenMPT: [Fix] Use mpt::support_long_path in various instances of FindFirstFile. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/misc/mptWine.cpp branches/OpenMPT-1.31/mptrack/FolderScanner.cpp branches/OpenMPT-1.31/mptrack/Mptrack.cpp branches/OpenMPT-1.31/mptrack/View_tre.cpp Modified: branches/OpenMPT-1.31/misc/mptWine.cpp ============================================================================== --- branches/OpenMPT-1.31/misc/mptWine.cpp Thu Nov 28 22:06:45 2024 (r22333) +++ branches/OpenMPT-1.31/misc/mptWine.cpp Thu Nov 28 22:07:05 2024 (r22334) @@ -657,7 +657,7 @@ path = path.WithTrailingSlash(); HANDLE hFind = NULL; WIN32_FIND_DATA wfd = {}; - hFind = FindFirstFile((path + P_("*.*")).AsNative().c_str(), &wfd); + hFind = FindFirstFile(mpt::support_long_path((path + P_("*.*")).AsNative()).c_str(), &wfd); if(hFind != NULL && hFind != INVALID_HANDLE_VALUE) { do Modified: branches/OpenMPT-1.31/mptrack/FolderScanner.cpp ============================================================================== --- branches/OpenMPT-1.31/mptrack/FolderScanner.cpp Thu Nov 28 22:06:45 2024 (r22333) +++ branches/OpenMPT-1.31/mptrack/FolderScanner.cpp Thu Nov 28 22:07:05 2024 (r22334) @@ -45,7 +45,7 @@ m_currentPath = m_paths.back(); m_paths.pop_back(); m_currentPath = m_currentPath.WithTrailingSlash(); - m_hFind = FindFirstFile((m_currentPath + m_filter).AsNative().c_str(), &m_wfd); + m_hFind = FindFirstFile(mpt::support_long_path((m_currentPath + m_filter).AsNative()).c_str(), &m_wfd); } BOOL nextFile = FALSE; Modified: branches/OpenMPT-1.31/mptrack/Mptrack.cpp ============================================================================== --- branches/OpenMPT-1.31/mptrack/Mptrack.cpp Thu Nov 28 22:06:45 2024 (r22333) +++ branches/OpenMPT-1.31/mptrack/Mptrack.cpp Thu Nov 28 22:07:05 2024 (r22334) @@ -1016,7 +1016,7 @@ const mpt::PathString searchPattern = oldTunings + P_("*.*"); WIN32_FIND_DATA FindFileData; HANDLE hFind; - hFind = FindFirstFile(searchPattern.AsNative().c_str(), &FindFileData); + hFind = FindFirstFile(mpt::support_long_path(searchPattern.AsNative()).c_str(), &FindFileData); if(hFind != INVALID_HANDLE_VALUE) { do Modified: branches/OpenMPT-1.31/mptrack/View_tre.cpp ============================================================================== --- branches/OpenMPT-1.31/mptrack/View_tre.cpp Thu Nov 28 22:06:45 2024 (r22333) +++ branches/OpenMPT-1.31/mptrack/View_tre.cpp Thu Nov 28 22:07:05 2024 (r22334) @@ -2020,9 +2020,8 @@ LinkResolver linkResolver; HANDLE hFind; - WIN32_FIND_DATA wfd; - MemsetZero(wfd); - if((hFind = FindFirstFile(path.AsNative().c_str(), &wfd)) != INVALID_HANDLE_VALUE) + WIN32_FIND_DATA wfd{}; + if((hFind = FindFirstFile(mpt::support_long_path(path.AsNative()).c_str(), &wfd)) != INVALID_HANDLE_VALUE) { do { |
From: <sv...@op...> - 2024-11-28 21:06:57
|
Author: sagamusix Date: Thu Nov 28 22:06:45 2024 New Revision: 22333 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22333 Log: [Fix] Use mpt::support_long_path in various instances of FindFirstFile. Modified: trunk/OpenMPT/misc/mptWine.cpp trunk/OpenMPT/mptrack/FolderScanner.cpp trunk/OpenMPT/mptrack/Mptrack.cpp trunk/OpenMPT/mptrack/View_tre.cpp Modified: trunk/OpenMPT/misc/mptWine.cpp ============================================================================== --- trunk/OpenMPT/misc/mptWine.cpp Thu Nov 28 21:54:02 2024 (r22332) +++ trunk/OpenMPT/misc/mptWine.cpp Thu Nov 28 22:06:45 2024 (r22333) @@ -657,7 +657,7 @@ path = path.WithTrailingSlash(); HANDLE hFind = NULL; WIN32_FIND_DATA wfd = {}; - hFind = FindFirstFile((path + P_("*.*")).AsNative().c_str(), &wfd); + hFind = FindFirstFile(mpt::support_long_path((path + P_("*.*")).AsNative()).c_str(), &wfd); if(hFind != NULL && hFind != INVALID_HANDLE_VALUE) { do Modified: trunk/OpenMPT/mptrack/FolderScanner.cpp ============================================================================== --- trunk/OpenMPT/mptrack/FolderScanner.cpp Thu Nov 28 21:54:02 2024 (r22332) +++ trunk/OpenMPT/mptrack/FolderScanner.cpp Thu Nov 28 22:06:45 2024 (r22333) @@ -49,7 +49,7 @@ m_currentPath = m_paths.back(); m_paths.pop_back(); m_currentPath = m_currentPath.WithTrailingSlash(); - m_hFind = FindFirstFile((m_currentPath + m_filter).AsNative().c_str(), &m_wfd); + m_hFind = FindFirstFile(mpt::support_long_path((m_currentPath + m_filter).AsNative()).c_str(), &m_wfd); } BOOL nextFile = FALSE; Modified: trunk/OpenMPT/mptrack/Mptrack.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Mptrack.cpp Thu Nov 28 21:54:02 2024 (r22332) +++ trunk/OpenMPT/mptrack/Mptrack.cpp Thu Nov 28 22:06:45 2024 (r22333) @@ -1041,7 +1041,7 @@ const mpt::PathString searchPattern = oldTunings + P_("*.*"); WIN32_FIND_DATA FindFileData; HANDLE hFind; - hFind = FindFirstFile(searchPattern.AsNative().c_str(), &FindFileData); + hFind = FindFirstFile(mpt::support_long_path(searchPattern.AsNative()).c_str(), &FindFileData); if(hFind != INVALID_HANDLE_VALUE) { do Modified: trunk/OpenMPT/mptrack/View_tre.cpp ============================================================================== --- trunk/OpenMPT/mptrack/View_tre.cpp Thu Nov 28 21:54:02 2024 (r22332) +++ trunk/OpenMPT/mptrack/View_tre.cpp Thu Nov 28 22:06:45 2024 (r22333) @@ -2057,9 +2057,8 @@ LinkResolver linkResolver; HANDLE hFind; - WIN32_FIND_DATA wfd; - MemsetZero(wfd); - if((hFind = FindFirstFile(path.AsNative().c_str(), &wfd)) != INVALID_HANDLE_VALUE) + WIN32_FIND_DATA wfd{}; + if((hFind = FindFirstFile(mpt::support_long_path(path.AsNative()).c_str(), &wfd)) != INVALID_HANDLE_VALUE) { do { |
Author: sagamusix Date: Thu Nov 28 21:54:02 2024 New Revision: 22332 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22332 Log: [Imp] Add AccessibleEdit control with custom value readout that allows for a suffix to be announced by the screen reader (e.g. "100%" instead of just "100"). Added: trunk/OpenMPT/mptrack/AccessibleControls.h - copied, changed from r22331, trunk/OpenMPT/mptrack/AccessibleButton.h Deleted: trunk/OpenMPT/mptrack/AccessibleButton.h Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj.filters trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj.filters trunk/OpenMPT/mptrack/CDecimalSupport.h trunk/OpenMPT/mptrack/ColorConfigDlg.cpp trunk/OpenMPT/mptrack/ColorConfigDlg.h trunk/OpenMPT/mptrack/Ctrl_pat.h trunk/OpenMPT/mptrack/Ctrl_smp.cpp trunk/OpenMPT/mptrack/Ctrl_smp.h trunk/OpenMPT/mptrack/GeneralConfigDlg.h trunk/OpenMPT/mptrack/Mpdlgs.cpp trunk/OpenMPT/mptrack/Mpdlgs.h trunk/OpenMPT/mptrack/PathConfigDlg.cpp trunk/OpenMPT/mptrack/PathConfigDlg.h trunk/OpenMPT/mptrack/QuickStartDialog.h trunk/OpenMPT/mptrack/SampleConfigDlg.cpp trunk/OpenMPT/mptrack/SampleConfigDlg.h trunk/OpenMPT/mptrack/View_gen.h Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -794,7 +794,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -794,7 +794,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -794,7 +794,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxp/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -794,7 +794,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -794,7 +794,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -794,7 +794,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2017winxpansi/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -813,7 +813,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -813,7 +813,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -813,7 +813,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2019win7/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -2015,7 +2015,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -2015,7 +2015,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -2015,7 +2015,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1583,7 +1583,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1583,7 +1583,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1583,7 +1583,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win10clang/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -345,7 +345,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -833,7 +833,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -833,7 +833,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -833,7 +833,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win7/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1221,7 +1221,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win8/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1221,7 +1221,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win8/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1221,7 +1221,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win8/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1221,7 +1221,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win81/OpenMPT-ANSI.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1221,7 +1221,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win81/OpenMPT-UTF8.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Modified: trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj ============================================================================== --- trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj Thu Nov 28 21:54:02 2024 (r22332) @@ -1221,7 +1221,7 @@ <ClInclude Include="..\..\misc\mptWine.h" /> <ClInclude Include="..\..\mptrack\AboutDialog.h" /> <ClInclude Include="..\..\mptrack\AbstractVstEditor.h" /> - <ClInclude Include="..\..\mptrack\AccessibleButton.h" /> + <ClInclude Include="..\..\mptrack\AccessibleControls.h" /> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h" /> <ClInclude Include="..\..\mptrack\AutoSaver.h" /> <ClInclude Include="..\..\mptrack\Autotune.h" /> Modified: trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj.filters ============================================================================== --- trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj.filters Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/build/vs2022win81/OpenMPT.vcxproj.filters Thu Nov 28 21:54:02 2024 (r22332) @@ -387,7 +387,7 @@ <ClInclude Include="..\..\mptrack\AbstractVstEditor.h"> <Filter>mptrack</Filter> </ClInclude> - <ClInclude Include="..\..\mptrack\AccessibleButton.h"> + <ClInclude Include="..\..\mptrack\AccessibleControls.h"> <Filter>mptrack</Filter> </ClInclude> <ClInclude Include="..\..\mptrack\AdvancedConfigDlg.h"> Copied and modified: trunk/OpenMPT/mptrack/AccessibleControls.h (from r22331, trunk/OpenMPT/mptrack/AccessibleButton.h) ============================================================================== --- trunk/OpenMPT/mptrack/AccessibleButton.h Thu Nov 28 15:39:02 2024 (r22331, copy source) +++ trunk/OpenMPT/mptrack/AccessibleControls.h Thu Nov 28 21:54:02 2024 (r22332) @@ -1,7 +1,7 @@ /* - * AccessibleButton.h - * ------------------ - * Purpose: A CButton-derived class that allows to set an alternative accessible name, in case the real button text is not suitable for screen readers. + * AccessibleControls.h + * -------------------- + * Purpose: A collection of class deriving from standard MFC control classes that allow to set an alternative accessible name or value, in case the real window text is not suitable for screen readers. * Notes : (currently none) * Authors: OpenMPT Devs * The OpenMPT source code is released under the BSD license. Read LICENSE for more details. @@ -36,4 +36,28 @@ }; +class AccessibleEdit : public CEdit +{ +public: + AccessibleEdit() { EnableActiveAccessibility(); } + + void SetAccessibleSuffix(const TCHAR *suffix) { m_suffix = suffix; } + + HRESULT get_accValue(VARIANT varChild, BSTR *pszName) override + { + if(varChild.lVal == CHILDID_SELF) + { + CString s; + GetWindowText(s); + *pszName = (s + m_suffix).AllocSysString(); + return S_OK; + } + return CEdit::get_accValue(varChild, pszName); + } + +private: + CString m_suffix; +}; + + OPENMPT_NAMESPACE_END Modified: trunk/OpenMPT/mptrack/CDecimalSupport.h ============================================================================== --- trunk/OpenMPT/mptrack/CDecimalSupport.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/CDecimalSupport.h Thu Nov 28 21:54:02 2024 (r22332) @@ -12,7 +12,8 @@ #pragma once #include "openmpt/all/BuildSettings.hpp" -#include "Snd_defs.h" +#include "AccessibleControls.h" +#include "../soundlib/Snd_defs.h" OPENMPT_NAMESPACE_BEGIN @@ -375,7 +376,7 @@ }; -class CNumberEdit : public CEdit, public CDecimalSupport<CNumberEdit> +class CNumberEdit : public AccessibleEdit, public CDecimalSupport<CNumberEdit> { public: void SetTempoValue(const TEMPO &t); Modified: trunk/OpenMPT/mptrack/ColorConfigDlg.cpp ============================================================================== --- trunk/OpenMPT/mptrack/ColorConfigDlg.cpp Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/ColorConfigDlg.cpp Thu Nov 28 21:54:02 2024 (r22332) @@ -105,22 +105,26 @@ { CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(COptionsColors) - DDX_Control(pDX, IDC_COMBO1, m_ComboItem); - DDX_Control(pDX, IDC_COMBO2, m_ComboFont); - DDX_Control(pDX, IDC_COMBO3, m_ComboPreset); - DDX_Control(pDX, IDC_BUTTON4, m_BtnPreview); - DDX_Control(pDX, IDC_TEXT1, m_TxtColor[0]); - DDX_Control(pDX, IDC_TEXT2, m_TxtColor[1]); - DDX_Control(pDX, IDC_TEXT3, m_TxtColor[2]); - DDX_Control(pDX, IDC_SPIN1, m_ColorSpin); + DDX_Control(pDX, IDC_COMBO1, m_ComboItem); + DDX_Control(pDX, IDC_COMBO2, m_ComboFont); + DDX_Control(pDX, IDC_COMBO3, m_ComboPreset); + DDX_Control(pDX, IDC_BUTTON4, m_BtnPreview); + DDX_Control(pDX, IDC_TEXT1, m_TxtColor[0]); + DDX_Control(pDX, IDC_TEXT2, m_TxtColor[1]); + DDX_Control(pDX, IDC_TEXT3, m_TxtColor[2]); + DDX_Control(pDX, IDC_SPIN1, m_ColorSpin); + DDX_Control(pDX, IDC_PRIMARYHILITE, m_rpmEdit); + DDX_Control(pDX, IDC_SECONDARYHILITE, m_rpbEdit); //}}AFX_DATA_MAP } COptionsColors::COptionsColors() - : CPropertyPage(IDD_OPTIONS_COLORS) - , CustomColors(TrackerSettings::Instance().rgbCustomColors) + : CPropertyPage{IDD_OPTIONS_COLORS} + , CustomColors{TrackerSettings::Instance().rgbCustomColors} { + m_rpbEdit.SetAccessibleSuffix(_T("rows per beat")); + m_rpmEdit.SetAccessibleSuffix(_T("rows per measure")); } Modified: trunk/OpenMPT/mptrack/ColorConfigDlg.h ============================================================================== --- trunk/OpenMPT/mptrack/ColorConfigDlg.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/ColorConfigDlg.h Thu Nov 28 21:54:02 2024 (r22332) @@ -11,6 +11,7 @@ #pragma once #include "openmpt/all/BuildSettings.hpp" +#include "AccessibleControls.h" #include "ColorPickerButton.h" #include "TrackerSettings.h" @@ -26,6 +27,7 @@ ColorPickerButton m_BtnColor[3]; CButton m_BtnPreview; CSpinButtonCtrl m_ColorSpin; + AccessibleEdit m_rpbEdit, m_rpmEdit; CStatic m_TxtColor[3]; MODPLUGDIB *m_pPreviewDib = nullptr; FontSetting patternFont, commentFont; Modified: trunk/OpenMPT/mptrack/Ctrl_pat.h ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/Ctrl_pat.h Thu Nov 28 21:54:02 2024 (r22332) @@ -13,7 +13,7 @@ #include "openmpt/all/BuildSettings.hpp" -#include "AccessibleButton.h" +#include "AccessibleControls.h" #include "Globals.h" OPENMPT_NAMESPACE_BEGIN Modified: trunk/OpenMPT/mptrack/Ctrl_smp.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_smp.cpp Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/Ctrl_smp.cpp Thu Nov 28 21:54:02 2024 (r22332) @@ -183,6 +183,7 @@ : CModControlDlg(parent, document) { m_nLockCount = 1; + m_EditTimeStretchRatio.SetAccessibleSuffix(_T("%")); } Modified: trunk/OpenMPT/mptrack/Ctrl_smp.h ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_smp.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/Ctrl_smp.h Thu Nov 28 21:54:02 2024 (r22332) @@ -13,6 +13,7 @@ #include "openmpt/all/BuildSettings.hpp" +#include "AccessibleControls.h" #include "CDecimalSupport.h" #include "Globals.h" #include "Undo.h" Modified: trunk/OpenMPT/mptrack/GeneralConfigDlg.h ============================================================================== --- trunk/OpenMPT/mptrack/GeneralConfigDlg.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/GeneralConfigDlg.h Thu Nov 28 21:54:02 2024 (r22332) @@ -11,7 +11,7 @@ #pragma once #include "openmpt/all/BuildSettings.hpp" -#include "AccessibleButton.h" +#include "AccessibleControls.h" OPENMPT_NAMESPACE_BEGIN Modified: trunk/OpenMPT/mptrack/Mpdlgs.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Mpdlgs.cpp Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/Mpdlgs.cpp Thu Nov 28 21:54:02 2024 (r22332) @@ -1020,13 +1020,17 @@ DDX_Control(pDX, IDC_EDIT_VOLRAMP_SAMPLES_UP, m_CInfoRampUp); DDX_Control(pDX, IDC_EDIT_VOLRAMP_SAMPLES_DOWN, m_CInfoRampDown); DDX_Control(pDX, IDC_SLIDER_STEREOSEP, m_SliderStereoSep); - // check box soft pan DDX_Control(pDX, IDC_SLIDER_PREAMP, m_SliderPreAmp); //}}AFX_DATA_MAP } -COptionsMixer::COptionsMixer() : CPropertyPage{IDD_OPTIONS_MIXER} {} +COptionsMixer::COptionsMixer() + : CPropertyPage{IDD_OPTIONS_MIXER} +{ + m_CEditRampUp.SetAccessibleSuffix(_T("microseconds up")); + m_CEditRampDown.SetAccessibleSuffix(_T("microseconds down")); +} @@ -1728,12 +1732,13 @@ { CPropertyPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(COptionsSoundcard) - DDX_Control(pDX, IDC_SPIN1, m_SpinSpd); - DDX_Control(pDX, IDC_SPIN2, m_SpinPat); - DDX_Control(pDX, IDC_SPIN3, m_SpinAmp); - DDX_Control(pDX, IDC_COMBO1, m_InputDevice); - DDX_Control(pDX, IDC_COMBO2, m_ATBehaviour); - DDX_Control(pDX, IDC_COMBO3, m_Quantize); + DDX_Control(pDX, IDC_SPIN1, m_SpinSpd); + DDX_Control(pDX, IDC_SPIN2, m_SpinPat); + DDX_Control(pDX, IDC_SPIN3, m_SpinAmp); + DDX_Control(pDX, IDC_COMBO1, m_InputDevice); + DDX_Control(pDX, IDC_COMBO2, m_ATBehaviour); + DDX_Control(pDX, IDC_COMBO3, m_Quantize); + DDX_Control(pDX, IDC_EDIT3, m_editAmp); //}}AFX_DATA_MAP } @@ -1743,6 +1748,7 @@ , m_dwMidiSetup{flags} , m_nMidiDevice{device} { + m_editAmp.SetAccessibleSuffix(_T("%")); } Modified: trunk/OpenMPT/mptrack/Mpdlgs.h ============================================================================== --- trunk/OpenMPT/mptrack/Mpdlgs.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/Mpdlgs.h Thu Nov 28 21:54:02 2024 (r22332) @@ -12,6 +12,7 @@ #include "openmpt/all/BuildSettings.hpp" +#include "AccessibleControls.h" #include "TrackerSettings.h" #include "../sounddsp/EQ.h" #include "openmpt/sounddevice/SoundDevice.hpp" @@ -97,8 +98,8 @@ CComboBox m_CbnResampling, m_CbnAmigaType; - CEdit m_CEditRampUp; - CEdit m_CEditRampDown; + AccessibleEdit m_CEditRampUp; + AccessibleEdit m_CEditRampDown; CEdit m_CInfoRampUp; CEdit m_CInfoRampDown; @@ -202,10 +203,6 @@ DWORD m_dwMidiSetup; UINT m_nMidiDevice; -protected: - CSpinButtonCtrl m_SpinSpd, m_SpinPat, m_SpinAmp; - CComboBox m_InputDevice, m_ATBehaviour, m_Quantize; - public: CMidiSetupDlg(DWORD flags, UINT device); @@ -218,6 +215,11 @@ afx_msg void OnRenameDevice(); afx_msg void OnSettingsChanged() { SetModified(TRUE); } DECLARE_MESSAGE_MAP() + +protected: + CSpinButtonCtrl m_SpinSpd, m_SpinPat, m_SpinAmp; + CComboBox m_InputDevice, m_ATBehaviour, m_Quantize; + AccessibleEdit m_editAmp; }; Modified: trunk/OpenMPT/mptrack/PathConfigDlg.cpp ============================================================================== --- trunk/OpenMPT/mptrack/PathConfigDlg.cpp Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/PathConfigDlg.cpp Thu Nov 28 21:54:02 2024 (r22332) @@ -35,16 +35,24 @@ PathConfigDlg::PathConfigDlg() : CPropertyPage{IDD_OPTIONS_AUTOSAVE} { - for(AccessibleButton &button : m_browseButtons) - { - button.SetAccessibleText(_T("Browse for folder...")); - } + m_accessibleEdits[0].SetAccessibleSuffix(_T("minutes")); + m_accessibleEdits[1].SetAccessibleSuffix(_T("backups")); + m_accessibleEdits[2].SetAccessibleSuffix(_T("days")); + m_browseButtons[0].SetAccessibleText(_T("Browse for song folder...")); + m_browseButtons[1].SetAccessibleText(_T("Browse for sample folder...")); + m_browseButtons[2].SetAccessibleText(_T("Browse for instrument folder...")); + m_browseButtons[3].SetAccessibleText(_T("Browse for VST plugin folder...")); + m_browseButtons[4].SetAccessibleText(_T("Browse for VST preset folder...")); + m_browseButtons[5].SetAccessibleText(_T("Browse for auto save folder...")); } void PathConfigDlg::DoDataExchange(CDataExchange* pDX) { CPropertyPage::DoDataExchange(pDX); + DDX_Control(pDX, IDC_AUTOSAVE_INTERVAL, m_accessibleEdits[0]); + DDX_Control(pDX, IDC_AUTOSAVE_HISTORY, m_accessibleEdits[1]); + DDX_Control(pDX, IDC_EDIT1, m_accessibleEdits[2]); DDX_Control(pDX, IDC_BUTTON_CHANGE_MODDIR, m_browseButtons[0]); DDX_Control(pDX, IDC_BUTTON_CHANGE_SAMPDIR, m_browseButtons[1]); DDX_Control(pDX, IDC_BUTTON_CHANGE_INSTRDIR, m_browseButtons[2]); Modified: trunk/OpenMPT/mptrack/PathConfigDlg.h ============================================================================== --- trunk/OpenMPT/mptrack/PathConfigDlg.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/PathConfigDlg.h Thu Nov 28 21:54:02 2024 (r22332) @@ -11,7 +11,7 @@ #pragma once #include "openmpt/all/BuildSettings.hpp" -#include "AccessibleButton.h" +#include "AccessibleControls.h" OPENMPT_NAMESPACE_BEGIN @@ -47,6 +47,7 @@ DECLARE_MESSAGE_MAP() + std::array<AccessibleEdit, 3> m_accessibleEdits; std::array<AccessibleButton, 6> m_browseButtons; }; Modified: trunk/OpenMPT/mptrack/QuickStartDialog.h ============================================================================== --- trunk/OpenMPT/mptrack/QuickStartDialog.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/QuickStartDialog.h Thu Nov 28 21:54:02 2024 (r22332) @@ -12,7 +12,7 @@ #include "openmpt/all/BuildSettings.hpp" -#include "AccessibleButton.h" +#include "AccessibleControls.h" #include "CListCtrl.h" #include "ResizableDialog.h" #include "../common/mptPathString.h" Modified: trunk/OpenMPT/mptrack/SampleConfigDlg.cpp ============================================================================== --- trunk/OpenMPT/mptrack/SampleConfigDlg.cpp Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/SampleConfigDlg.cpp Thu Nov 28 21:54:02 2024 (r22332) @@ -45,11 +45,17 @@ //{{AFX_DATA_MAP(COptionsSampleEditor) DDX_Control(pDX, IDC_DEFAULT_FORMAT, m_cbnDefaultSampleFormat); DDX_Control(pDX, IDC_VOLUME_HANDLING, m_cbnDefaultVolumeHandling); + DDX_Control(pDX, IDC_EDIT_UNDOSIZE, m_undoBufferEdit); + DDX_Control(pDX, IDC_EDIT_FINETUNE, m_finetuneEdit); //}}AFX_DATA_MAP } -COptionsSampleEditor::COptionsSampleEditor() : CPropertyPage{IDD_OPTIONS_SAMPLEEDITOR} {} +COptionsSampleEditor::COptionsSampleEditor() : CPropertyPage{IDD_OPTIONS_SAMPLEEDITOR} +{ + m_undoBufferEdit.SetAccessibleSuffix(_T("%")); + m_finetuneEdit.SetAccessibleSuffix(_T("cents")); +} BOOL COptionsSampleEditor::OnInitDialog() Modified: trunk/OpenMPT/mptrack/SampleConfigDlg.h ============================================================================== --- trunk/OpenMPT/mptrack/SampleConfigDlg.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/SampleConfigDlg.h Thu Nov 28 21:54:02 2024 (r22332) @@ -11,14 +11,12 @@ #pragma once #include "openmpt/all/BuildSettings.hpp" +#include "AccessibleControls.h" OPENMPT_NAMESPACE_BEGIN class COptionsSampleEditor : public CPropertyPage { -protected: - CComboBox m_cbnDefaultSampleFormat, m_cbnDefaultVolumeHandling; - public: COptionsSampleEditor(); @@ -34,6 +32,9 @@ afx_msg void OnSettingsChanged() { SetModified(TRUE); } afx_msg void OnUndoSizeChanged(); DECLARE_MESSAGE_MAP(); + + CComboBox m_cbnDefaultSampleFormat, m_cbnDefaultVolumeHandling; + AccessibleEdit m_undoBufferEdit, m_finetuneEdit; }; OPENMPT_NAMESPACE_END Modified: trunk/OpenMPT/mptrack/View_gen.h ============================================================================== --- trunk/OpenMPT/mptrack/View_gen.h Thu Nov 28 15:39:02 2024 (r22331) +++ trunk/OpenMPT/mptrack/View_gen.h Thu Nov 28 21:54:02 2024 (r22332) @@ -12,7 +12,7 @@ #pragma once #include "openmpt/all/BuildSettings.hpp" -#include "AccessibleButton.h" +#include "AccessibleControls.h" #include "ColorPickerButton.h" #include "PluginComboBox.h" #include "UpdateHints.h" |
From: <sv...@op...> - 2024-11-28 14:39:16
|
Author: sagamusix Date: Thu Nov 28 15:39:02 2024 New Revision: 22331 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22331 Log: Merged revision(s) 22330 from trunk/OpenMPT: [Fix] When importing a soundfont instrument, its bank number was off by one. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/soundlib/Dlsbank.cpp Modified: branches/OpenMPT-1.31/soundlib/Dlsbank.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/Dlsbank.cpp Thu Nov 28 15:38:41 2024 (r22330) +++ branches/OpenMPT-1.31/soundlib/Dlsbank.cpp Thu Nov 28 15:39:02 2024 (r22331) @@ -2127,9 +2127,9 @@ } } pIns->nFadeOut = 1024; - pIns->nMidiProgram = (uint8)(dlsIns.ulInstrument & 0x7F) + 1; - pIns->nMidiChannel = (uint8)(isDrum ? 10 : 0); - pIns->wMidiBank = (uint16)(((dlsIns.ulBank & 0x7F00) >> 1) | (dlsIns.ulBank & 0x7F)); + pIns->nMidiProgram = static_cast<uint8>(1 + (dlsIns.ulInstrument & 0x7F)); + pIns->nMidiChannel = static_cast<uint8>(isDrum ? 10 : 0); + pIns->wMidiBank = static_cast<uint16>(1 + (((dlsIns.ulBank & 0x7F00) >> 1) | (dlsIns.ulBank & 0x7F))); pIns->nNNA = NewNoteAction::NoteOff; pIns->nDCT = DuplicateCheckType::Note; pIns->nDNA = DuplicateNoteAction::NoteFade; @@ -2146,7 +2146,7 @@ const DLSREGION &rgn = dlsIns.Regions[nRgn]; if(rgn.IsDummy()) continue; - // Elimitate Duplicate Regions + // Eliminate Duplicate Regions uint32 dupRegion; for(dupRegion = minRegion; dupRegion < nRgn; dupRegion++) { |