You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(10) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
(2) |
May
(10) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2008 |
Jan
(6) |
Feb
(4) |
Mar
(5) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(4) |
Aug
(6) |
Sep
(2) |
Oct
(9) |
Nov
(1) |
Dec
(4) |
2009 |
Jan
(9) |
Feb
(2) |
Mar
(2) |
Apr
(2) |
May
(6) |
Jun
(18) |
Jul
(33) |
Aug
(39) |
Sep
(33) |
Oct
(24) |
Nov
(23) |
Dec
(22) |
2010 |
Jan
(29) |
Feb
(32) |
Mar
(51) |
Apr
(17) |
May
(31) |
Jun
(21) |
Jul
(32) |
Aug
(28) |
Sep
(35) |
Oct
(27) |
Nov
(11) |
Dec
(13) |
2011 |
Jan
(14) |
Feb
(13) |
Mar
(27) |
Apr
(27) |
May
(28) |
Jun
(20) |
Jul
(43) |
Aug
(52) |
Sep
(66) |
Oct
(61) |
Nov
(11) |
Dec
(8) |
2012 |
Jan
(20) |
Feb
(30) |
Mar
(38) |
Apr
(21) |
May
(33) |
Jun
(21) |
Jul
(25) |
Aug
(9) |
Sep
(24) |
Oct
(42) |
Nov
(27) |
Dec
(41) |
2013 |
Jan
(20) |
Feb
(35) |
Mar
(156) |
Apr
(298) |
May
(258) |
Jun
(201) |
Jul
(105) |
Aug
(60) |
Sep
(193) |
Oct
(245) |
Nov
(280) |
Dec
(194) |
2014 |
Jan
(63) |
Feb
(202) |
Mar
(200) |
Apr
(23) |
May
(53) |
Jun
(105) |
Jul
(18) |
Aug
(26) |
Sep
(110) |
Oct
(187) |
Nov
(97) |
Dec
(74) |
2015 |
Jan
(45) |
Feb
(55) |
Mar
(116) |
Apr
(116) |
May
(193) |
Jun
(164) |
Jul
(50) |
Aug
(111) |
Sep
(98) |
Oct
(71) |
Nov
(103) |
Dec
(63) |
2016 |
Jan
(33) |
Feb
(101) |
Mar
(182) |
Apr
(139) |
May
(140) |
Jun
(103) |
Jul
(165) |
Aug
(286) |
Sep
(208) |
Oct
(127) |
Nov
(97) |
Dec
(54) |
2017 |
Jan
(64) |
Feb
(335) |
Mar
(202) |
Apr
(212) |
May
(139) |
Jun
(127) |
Jul
(294) |
Aug
(154) |
Sep
(170) |
Oct
(152) |
Nov
(156) |
Dec
(62) |
2018 |
Jan
(168) |
Feb
(237) |
Mar
(196) |
Apr
(174) |
May
(174) |
Jun
(161) |
Jul
(127) |
Aug
(88) |
Sep
(149) |
Oct
(66) |
Nov
(52) |
Dec
(135) |
2019 |
Jan
(146) |
Feb
(126) |
Mar
(104) |
Apr
(58) |
May
(60) |
Jun
(28) |
Jul
(197) |
Aug
(129) |
Sep
(141) |
Oct
(148) |
Nov
(63) |
Dec
(100) |
2020 |
Jan
(74) |
Feb
(37) |
Mar
(59) |
Apr
(154) |
May
(194) |
Jun
(133) |
Jul
(313) |
Aug
(197) |
Sep
(49) |
Oct
(162) |
Nov
(143) |
Dec
(57) |
2021 |
Jan
(120) |
Feb
(107) |
Mar
(314) |
Apr
(157) |
May
(524) |
Jun
(169) |
Jul
(72) |
Aug
(133) |
Sep
(135) |
Oct
(146) |
Nov
(198) |
Dec
(325) |
2022 |
Jan
(409) |
Feb
(249) |
Mar
(138) |
Apr
(95) |
May
(102) |
Jun
(221) |
Jul
(66) |
Aug
(120) |
Sep
(192) |
Oct
(131) |
Nov
(53) |
Dec
(171) |
2023 |
Jan
(357) |
Feb
(82) |
Mar
(168) |
Apr
(218) |
May
(196) |
Jun
(86) |
Jul
(115) |
Aug
(49) |
Sep
(190) |
Oct
(102) |
Nov
(45) |
Dec
(76) |
2024 |
Jan
(86) |
Feb
(50) |
Mar
(324) |
Apr
(209) |
May
(197) |
Jun
(232) |
Jul
(194) |
Aug
(247) |
Sep
(219) |
Oct
(266) |
Nov
(328) |
Dec
(304) |
2025 |
Jan
(191) |
Feb
(115) |
Mar
(137) |
Apr
(32) |
May
(126) |
Jun
(403) |
Jul
(68) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2025-04-01 12:07:11
|
Author: manx Date: Tue Apr 1 14:06:44 2025 New Revision: 23117 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23117 Log: [Reg] CI: Github: MSYS: MSYS2 is dropping all 32 bit support (see <https://www.msys2.org/news/#2023-12-13-starting-to-drop-some-32-bit-packages>). This is now starting to affect our dependencies. Remove all MSYS2 32bit GitHub actions. Modified: trunk/OpenMPT/.github/workflows/MSYS2-Autotools.yml trunk/OpenMPT/.github/workflows/MSYS2-Makefile-Clang.yml trunk/OpenMPT/.github/workflows/MSYS2-Makefile.yml Modified: trunk/OpenMPT/.github/workflows/MSYS2-Autotools.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/MSYS2-Autotools.yml Tue Apr 1 13:35:09 2025 (r23116) +++ trunk/OpenMPT/.github/workflows/MSYS2-Autotools.yml Tue Apr 1 14:06:44 2025 (r23117) @@ -16,7 +16,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-autotools-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} Modified: trunk/OpenMPT/.github/workflows/MSYS2-Makefile-Clang.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/MSYS2-Makefile-Clang.yml Tue Apr 1 13:35:09 2025 (r23116) +++ trunk/OpenMPT/.github/workflows/MSYS2-Makefile-Clang.yml Tue Apr 1 14:06:44 2025 (r23117) @@ -16,7 +16,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-autotools-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} Modified: trunk/OpenMPT/.github/workflows/MSYS2-Makefile.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/MSYS2-Makefile.yml Tue Apr 1 13:35:09 2025 (r23116) +++ trunk/OpenMPT/.github/workflows/MSYS2-Makefile.yml Tue Apr 1 14:06:44 2025 (r23117) @@ -16,7 +16,6 @@ matrix: include: - { sys: MINGW64, rep: mingw64, env: x86_64 } - - { sys: MINGW32, rep: mingw32, env: i686 } - { sys: UCRT64, rep: ucrt64, env: ucrt-x86_64 } concurrency: group: ${{github.ref}}-${{github.workflow}}-${{matrix.sys}}-${{matrix.rep}}-${{matrix.env}} |
From: <sv...@op...> - 2025-04-01 11:35:31
|
Author: manx Date: Tue Apr 1 13:35:09 2025 New Revision: 23116 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23116 Log: Merged revision(s) 23114 from trunk/OpenMPT: [Imp] build: CI: GitHub: macOS: Add XCode 16.3. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Modified: branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml Tue Apr 1 13:34:48 2025 (r23115) +++ branches/OpenMPT-1.31/.github/workflows/macOS-Autotools.yml Tue Apr 1 13:35:09 2025 (r23116) @@ -10,6 +10,7 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.3' } - { host: macos-15, compiler: '16.2' } - { host: macos-15, compiler: '16.1' } - { host: macos-15, compiler: '16.0' } Modified: branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml ============================================================================== --- branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Tue Apr 1 13:34:48 2025 (r23115) +++ branches/OpenMPT-1.31/.github/workflows/macOS-Makefile.yml Tue Apr 1 13:35:09 2025 (r23116) @@ -11,6 +11,28 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.3', arch: '' , target: '' , deps: sys , check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: '' , target: '' , deps: sys , check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: arm64 , target: '' , deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: x86_64, target: '' , deps: local, check: true , ancient: false } |
From: <sv...@op...> - 2025-04-01 11:35:15
|
Author: manx Date: Tue Apr 1 13:34:48 2025 New Revision: 23115 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23115 Log: Merged revision(s) 23114 from trunk/OpenMPT: [Imp] build: CI: GitHub: macOS: Add XCode 16.3. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Modified: branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml Tue Apr 1 13:31:53 2025 (r23114) +++ branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml Tue Apr 1 13:34:48 2025 (r23115) @@ -10,6 +10,7 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.3' } - { host: macos-15, compiler: '16.2' } - { host: macos-15, compiler: '16.1' } - { host: macos-15, compiler: '16.0' } Modified: branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Tue Apr 1 13:31:53 2025 (r23114) +++ branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Tue Apr 1 13:34:48 2025 (r23115) @@ -11,6 +11,28 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.3', arch: '' , target: '' , deps: sys , check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: '' , target: '' , deps: sys , check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: arm64 , target: '' , deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: x86_64, target: '' , deps: local, check: true , ancient: false } |
From: <sv...@op...> - 2025-04-01 11:32:22
|
Author: manx Date: Tue Apr 1 13:31:53 2025 New Revision: 23114 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23114 Log: [Imp] build: CI: GitHub: macOS: Add XCode 16.3. Modified: trunk/OpenMPT/.github/workflows/macOS-Autotools.yml trunk/OpenMPT/.github/workflows/macOS-Makefile.yml Modified: trunk/OpenMPT/.github/workflows/macOS-Autotools.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/macOS-Autotools.yml Sun Mar 30 18:43:00 2025 (r23113) +++ trunk/OpenMPT/.github/workflows/macOS-Autotools.yml Tue Apr 1 13:31:53 2025 (r23114) @@ -12,6 +12,7 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.3' } - { host: macos-15, compiler: '16.2' } - { host: macos-15, compiler: '16.1' } - { host: macos-15, compiler: '16.0' } Modified: trunk/OpenMPT/.github/workflows/macOS-Makefile.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/macOS-Makefile.yml Sun Mar 30 18:43:00 2025 (r23113) +++ trunk/OpenMPT/.github/workflows/macOS-Makefile.yml Tue Apr 1 13:31:53 2025 (r23114) @@ -13,6 +13,28 @@ fail-fast: false matrix: include: + - { host: macos-15, compiler: '16.3', arch: '' , target: '' , deps: sys , check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '' , deps: small, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15.2' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15.1' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '15' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '14' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '13' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '12' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: arm64 , target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '11' , deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false } + - { host: macos-15, compiler: '16.3', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: '' , target: '' , deps: sys , check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: arm64 , target: '' , deps: local, check: true , ancient: false } - { host: macos-15, compiler: '16.2', arch: x86_64, target: '' , deps: local, check: true , ancient: false } |
From: <sv...@op...> - 2025-03-30 16:43:21
|
Author: sagamusix Date: Sun Mar 30 18:43:00 2025 New Revision: 23113 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23113 Log: Merged revision(s) 23112 from trunk/OpenMPT: [Mod] Allow retro builds to be built and signed locally. ........ Added: branches/OpenMPT-1.32/installer/install-multi-arch-retro-signed.iss - copied unchanged from r23112, trunk/OpenMPT/installer/install-multi-arch-retro-signed.iss Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/build/build_openmpt_release_retro.cmd Modified: branches/OpenMPT-1.32/build/build_openmpt_release_retro.cmd ============================================================================== --- branches/OpenMPT-1.32/build/build_openmpt_release_retro.cmd Sun Mar 30 18:42:38 2025 (r23112) +++ branches/OpenMPT-1.32/build/build_openmpt_release_retro.cmd Sun Mar 30 18:43:00 2025 (r23113) @@ -10,9 +10,9 @@ cmd /c build\download_externals.cmd auto nodownload || goto error cmd /c build\auto\update_package_template_retro.cmd || goto error -rem cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp Win32 Release 7z default || goto error -rem cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp x64 Release 7z default || goto error -cmd /c build\auto\build_openmpt_release_packages_retro.cmd auto || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp Win32 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp x64 Release 7z default || goto error +cmd /c build\auto\build_openmpt_release_packages_retro.cmd auto sign || goto error cmd /c build\auto\build_openmpt_update_information_retro.cmd auto || goto error cmd /c build\auto\package_openmpt_installer_retro_args.cmd vs2017 winxp Win32 Release 7z default || goto error Copied: branches/OpenMPT-1.32/installer/install-multi-arch-retro-signed.iss (from r23112, trunk/OpenMPT/installer/install-multi-arch-retro-signed.iss) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/OpenMPT-1.32/installer/install-multi-arch-retro-signed.iss Sun Mar 30 18:43:00 2025 (r23113, copy of r23112, trunk/OpenMPT/installer/install-multi-arch-retro-signed.iss) @@ -0,0 +1,5 @@ +[Setup] +SignTool=signtool +SignedUninstaller=yes + +#include "install-multi-arch-retro.iss" |
From: <sv...@op...> - 2025-03-30 16:43:01
|
Author: sagamusix Date: Sun Mar 30 18:42:38 2025 New Revision: 23112 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23112 Log: [Mod] Allow retro builds to be built and signed locally. Added: trunk/OpenMPT/installer/install-multi-arch-retro-signed.iss Modified: trunk/OpenMPT/build/build_openmpt_release_retro.cmd Modified: trunk/OpenMPT/build/build_openmpt_release_retro.cmd ============================================================================== --- trunk/OpenMPT/build/build_openmpt_release_retro.cmd Sat Mar 29 16:22:53 2025 (r23111) +++ trunk/OpenMPT/build/build_openmpt_release_retro.cmd Sun Mar 30 18:42:38 2025 (r23112) @@ -10,9 +10,9 @@ cmd /c build\download_externals.cmd auto nodownload || goto error cmd /c build\auto\update_package_template_retro.cmd || goto error -rem cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp Win32 Release 7z default || goto error -rem cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp x64 Release 7z default || goto error -cmd /c build\auto\build_openmpt_release_packages_retro.cmd auto || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp Win32 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2017 winxp x64 Release 7z default || goto error +cmd /c build\auto\build_openmpt_release_packages_retro.cmd auto sign || goto error cmd /c build\auto\build_openmpt_update_information_retro.cmd auto || goto error cmd /c build\auto\package_openmpt_installer_retro_args.cmd vs2017 winxp Win32 Release 7z default || goto error Added: trunk/OpenMPT/installer/install-multi-arch-retro-signed.iss ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/OpenMPT/installer/install-multi-arch-retro-signed.iss Sun Mar 30 18:42:38 2025 (r23112) @@ -0,0 +1,5 @@ +[Setup] +SignTool=signtool +SignedUninstaller=yes + +#include "install-multi-arch-retro.iss" |
From: <sv...@op...> - 2025-03-29 15:23:05
|
Author: sagamusix Date: Sat Mar 29 16:22:53 2025 New Revision: 23111 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23111 Log: Merged revision(s) 23110 from trunk/OpenMPT: [Fix] MED: Fix combination of IFFOCT instruments with sample transpose (https://www.un4seen.com/forum/?msg=144308). ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.32/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/Load_med.cpp Sat Mar 29 16:22:37 2025 (r23110) +++ branches/OpenMPT-1.32/soundlib/Load_med.cpp Sat Mar 29 16:22:53 2025 (r23111) @@ -1043,6 +1043,7 @@ MMD0Sample sampleHeader; sampleHeaderChunk.ReadStruct(sampleHeader); + int8 sampleTranspose = sampleHeader.sampleTranspose; uint8 numSamples = std::max(uint8(1), static_cast<uint8>(waveformOffsets.size())); static constexpr uint8 SamplesPerType[] = {1, 5, 3, 2, 4, 6, 7}; @@ -1077,14 +1078,16 @@ // TODO: Move octaves so that they align better (C-4 = lowest, we don't have access to the highest four octaves) if(!isSynth) { - for(int octave = 4; octave < 10; octave++) + for(int i = 0; i < static_cast<int>(instr.Keyboard.size()); i++) { - for(int note = 0, i = 12 * octave; note < 12; note++, i++) - { - instr.Keyboard[i] = smp + OctSampleMap[numSamples - 2][octave - 4]; - instr.NoteMap[i] = static_cast<uint8>(instr.NoteMap[i] + OctTransposeMap[numSamples - 2][octave - 4]); - } + int note = i + sampleTranspose; + if(note < 0) + note = -note % 12; + int octave = std::clamp(note / 12 - 4, 0, static_cast<int>(std::size(OctTransposeMap[0]) - 1)); + instr.Keyboard[i] = smp + OctSampleMap[numSamples - 2][octave]; + instr.NoteMap[i] = static_cast<uint8>(NOTE_MIN + note + OctTransposeMap[numSamples - 2][octave]); } + sampleTranspose = 0; } } else if(maskedType == MMDInstrHeader::EXTSAMPLE) { @@ -1126,7 +1129,7 @@ int offset = NOTE_MIDDLEC + (hardwareMixSamples ? 24 : 36); for(auto ¬e : instr.NoteMap) { - int realNote = note + sampleHeader.sampleTranspose; + int realNote = note + sampleTranspose; if(realNote >= offset) note -= static_cast<uint8>(mpt::align_down(realNote - offset + 12, 12)); } @@ -1137,7 +1140,7 @@ ModSample &mptSmp = Samples[smp + i]; mptSmp.Initialize(MOD_TYPE_MED); mptSmp.nVolume = 4u * std::min<uint8>(sampleHeader.sampleVolume, 64u); - mptSmp.RelativeTone = sampleHeader.sampleTranspose; + mptSmp.RelativeTone = sampleTranspose; } SampleIO sampleIO( |
From: <sv...@op...> - 2025-03-29 15:22:54
|
Author: sagamusix Date: Sat Mar 29 16:22:37 2025 New Revision: 23110 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23110 Log: [Fix] MED: Fix combination of IFFOCT instruments with sample transpose (https://www.un4seen.com/forum/?msg=144308). Modified: trunk/OpenMPT/soundlib/Load_med.cpp Modified: trunk/OpenMPT/soundlib/Load_med.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp Sat Mar 29 07:32:10 2025 (r23109) +++ trunk/OpenMPT/soundlib/Load_med.cpp Sat Mar 29 16:22:37 2025 (r23110) @@ -1043,6 +1043,7 @@ MMD0Sample sampleHeader; sampleHeaderChunk.ReadStruct(sampleHeader); + int8 sampleTranspose = sampleHeader.sampleTranspose; uint8 numSamples = std::max(uint8(1), static_cast<uint8>(waveformOffsets.size())); static constexpr uint8 SamplesPerType[] = {1, 5, 3, 2, 4, 6, 7}; @@ -1077,14 +1078,16 @@ // TODO: Move octaves so that they align better (C-4 = lowest, we don't have access to the highest four octaves) if(!isSynth) { - for(int octave = 4; octave < 10; octave++) + for(int i = 0; i < static_cast<int>(instr.Keyboard.size()); i++) { - for(int note = 0, i = 12 * octave; note < 12; note++, i++) - { - instr.Keyboard[i] = smp + OctSampleMap[numSamples - 2][octave - 4]; - instr.NoteMap[i] = static_cast<uint8>(instr.NoteMap[i] + OctTransposeMap[numSamples - 2][octave - 4]); - } + int note = i + sampleTranspose; + if(note < 0) + note = -note % 12; + int octave = std::clamp(note / 12 - 4, 0, static_cast<int>(std::size(OctTransposeMap[0]) - 1)); + instr.Keyboard[i] = smp + OctSampleMap[numSamples - 2][octave]; + instr.NoteMap[i] = static_cast<uint8>(NOTE_MIN + note + OctTransposeMap[numSamples - 2][octave]); } + sampleTranspose = 0; } } else if(maskedType == MMDInstrHeader::EXTSAMPLE) { @@ -1126,7 +1129,7 @@ int offset = NOTE_MIDDLEC + (hardwareMixSamples ? 24 : 36); for(auto ¬e : instr.NoteMap) { - int realNote = note + sampleHeader.sampleTranspose; + int realNote = note + sampleTranspose; if(realNote >= offset) note -= static_cast<uint8>(mpt::align_down(realNote - offset + 12, 12)); } @@ -1137,7 +1140,7 @@ ModSample &mptSmp = Samples[smp + i]; mptSmp.Initialize(MOD_TYPE_MED); mptSmp.nVolume = 4u * std::min<uint8>(sampleHeader.sampleVolume, 64u); - mptSmp.RelativeTone = sampleHeader.sampleTranspose; + mptSmp.RelativeTone = sampleTranspose; } SampleIO sampleIO( |
From: <sv...@op...> - 2025-03-29 06:32:34
|
Author: manx Date: Sat Mar 29 07:32:10 2025 New Revision: 23109 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23109 Log: Merged revision(s) 23108 from trunk/OpenMPT: [Ref] <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109455> is fixed in GCC 12.3. See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366#c20>. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/soundlib/tuning.cpp Modified: branches/OpenMPT-1.32/soundlib/tuning.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/tuning.cpp Sat Mar 29 07:31:36 2025 (r23108) +++ branches/OpenMPT-1.32/soundlib/tuning.cpp Sat Mar 29 07:32:10 2025 (r23109) @@ -70,13 +70,14 @@ CTuning::CTuning() { -#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(13, 1, 0) +#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(12, 3, 0) // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109455 +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstringop-overflow" #endif m_RatioTable.resize(s_RatioTableSizeDefault, 1); -#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(13, 1, 0) +#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(12, 3, 0) #pragma GCC diagnostic pop #endif } |
From: <sv...@op...> - 2025-03-29 06:31:50
|
Author: manx Date: Sat Mar 29 07:31:36 2025 New Revision: 23108 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23108 Log: [Ref] <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109455> is fixed in GCC 12.3. See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366#c20>. Modified: trunk/OpenMPT/soundlib/tuning.cpp Modified: trunk/OpenMPT/soundlib/tuning.cpp ============================================================================== --- trunk/OpenMPT/soundlib/tuning.cpp Fri Mar 28 23:29:01 2025 (r23107) +++ trunk/OpenMPT/soundlib/tuning.cpp Sat Mar 29 07:31:36 2025 (r23108) @@ -70,13 +70,14 @@ CTuning::CTuning() { -#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(13, 1, 0) +#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(12, 3, 0) // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109455 +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstringop-overflow" #endif m_RatioTable.resize(s_RatioTableSizeDefault, 1); -#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(13, 1, 0) +#if MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(12, 3, 0) #pragma GCC diagnostic pop #endif } |
From: <sv...@op...> - 2025-03-28 22:29:46
|
Author: sagamusix Date: Fri Mar 28 23:29:01 2025 New Revision: 23107 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23107 Log: Merged revision(s) 23106 from trunk/OpenMPT: [Fix] Pattenr tab: Toggling most toolbar buttons didn't dot anything when doing it via the keyboard (https://bugs.openmpt.org/view.php?id=1871). ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp Modified: branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp ============================================================================== --- branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp Fri Mar 28 23:28:39 2025 (r23106) +++ branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp Fri Mar 28 23:29:01 2025 (r23107) @@ -114,7 +114,8 @@ CCtrlPatterns::CCtrlPatterns(CModControlView &parent, CModDoc &document) - : CModControlDlg(parent, document), m_OrderList(*this, document) + : CModControlDlg{parent, document} + , m_OrderList{*this, document} { m_BtnPrev.SetAccessibleText(_T("Select Previous Order")); m_BtnNext.SetAccessibleText(_T("Select Next Order")); @@ -1078,8 +1079,9 @@ void CCtrlPatterns::OnPatternRecord() { - m_bRecord = m_ToolBar.IsButtonChecked(IDC_PATTERN_RECORD) != 0; + m_bRecord = !m_bRecord; TrackerSettings::Instance().gbPatternRecord = m_bRecord; + m_ToolBar.CheckButton(IDC_PATTERN_RECORD, m_bRecord ? TRUE : FALSE); SendViewMessage(VIEWMSG_SETRECORD, m_bRecord); SwitchToView(); } @@ -1087,8 +1089,9 @@ void CCtrlPatterns::OnPatternVUMeters() { - m_bVUMeters = m_ToolBar.IsButtonChecked(ID_PATTERN_VUMETERS) != 0; - TrackerSettings::Instance().gbPatternVUMeters = (m_bVUMeters != 0); + m_bVUMeters = !m_bVUMeters; + TrackerSettings::Instance().gbPatternVUMeters = m_bVUMeters; + m_ToolBar.CheckButton(ID_PATTERN_VUMETERS, m_bVUMeters ? TRUE : FALSE); SendViewMessage(VIEWMSG_SETVUMETERS, m_bVUMeters); SwitchToView(); } @@ -1096,8 +1099,9 @@ void CCtrlPatterns::OnPatternViewPlugNames() { - m_bPluginNames = m_ToolBar.IsButtonChecked(ID_VIEWPLUGNAMES) != 0; - TrackerSettings::Instance().gbPatternPluginNames = (m_bPluginNames != 0); + m_bPluginNames = !m_bPluginNames; + TrackerSettings::Instance().gbPatternPluginNames = m_bPluginNames; + m_ToolBar.CheckButton(ID_VIEWPLUGNAMES, m_bPluginNames ? TRUE : FALSE); SendViewMessage(VIEWMSG_SETPLUGINNAMES, m_bPluginNames); SwitchToView(); } @@ -1113,8 +1117,7 @@ void CCtrlPatterns::OnToggleMetronome() { - bool enableMetronome = m_ToolBar.IsButtonChecked(IDC_METRONOME) != 0; - TrackerSettings::Instance().metronomeEnabled = enableMetronome; + TrackerSettings::Instance().metronomeEnabled = !TrackerSettings::Instance().metronomeEnabled; CMainFrame::GetMainFrame()->UpdateMetronomeSamples(); theApp.PostMessageToAllViews(WM_MOD_CTRLMSG, CTRLMSG_PAT_UPDATE_TOOLBAR); SwitchToView(); |
From: <sv...@op...> - 2025-03-28 22:29:14
|
Author: sagamusix Date: Fri Mar 28 23:28:39 2025 New Revision: 23106 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23106 Log: [Fix] Pattenr tab: Toggling most toolbar buttons didn't dot anything when doing it via the keyboard (https://bugs.openmpt.org/view.php?id=1871). Modified: trunk/OpenMPT/mptrack/Ctrl_pat.cpp Modified: trunk/OpenMPT/mptrack/Ctrl_pat.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.cpp Fri Mar 28 22:36:09 2025 (r23105) +++ trunk/OpenMPT/mptrack/Ctrl_pat.cpp Fri Mar 28 23:28:39 2025 (r23106) @@ -114,7 +114,8 @@ CCtrlPatterns::CCtrlPatterns(CModControlView &parent, CModDoc &document) - : CModControlDlg(parent, document), m_OrderList(*this, document) + : CModControlDlg{parent, document} + , m_OrderList{*this, document} { m_BtnPrev.SetAccessibleText(_T("Select Previous Order")); m_BtnNext.SetAccessibleText(_T("Select Next Order")); @@ -1078,8 +1079,9 @@ void CCtrlPatterns::OnPatternRecord() { - m_bRecord = m_ToolBar.IsButtonChecked(IDC_PATTERN_RECORD) != 0; + m_bRecord = !m_bRecord; TrackerSettings::Instance().gbPatternRecord = m_bRecord; + m_ToolBar.CheckButton(IDC_PATTERN_RECORD, m_bRecord ? TRUE : FALSE); SendViewMessage(VIEWMSG_SETRECORD, m_bRecord); SwitchToView(); } @@ -1087,8 +1089,9 @@ void CCtrlPatterns::OnPatternVUMeters() { - m_bVUMeters = m_ToolBar.IsButtonChecked(ID_PATTERN_VUMETERS) != 0; - TrackerSettings::Instance().gbPatternVUMeters = (m_bVUMeters != 0); + m_bVUMeters = !m_bVUMeters; + TrackerSettings::Instance().gbPatternVUMeters = m_bVUMeters; + m_ToolBar.CheckButton(ID_PATTERN_VUMETERS, m_bVUMeters ? TRUE : FALSE); SendViewMessage(VIEWMSG_SETVUMETERS, m_bVUMeters); SwitchToView(); } @@ -1096,8 +1099,9 @@ void CCtrlPatterns::OnPatternViewPlugNames() { - m_bPluginNames = m_ToolBar.IsButtonChecked(ID_VIEWPLUGNAMES) != 0; - TrackerSettings::Instance().gbPatternPluginNames = (m_bPluginNames != 0); + m_bPluginNames = !m_bPluginNames; + TrackerSettings::Instance().gbPatternPluginNames = m_bPluginNames; + m_ToolBar.CheckButton(ID_VIEWPLUGNAMES, m_bPluginNames ? TRUE : FALSE); SendViewMessage(VIEWMSG_SETPLUGINNAMES, m_bPluginNames); SwitchToView(); } @@ -1113,8 +1117,7 @@ void CCtrlPatterns::OnToggleMetronome() { - bool enableMetronome = m_ToolBar.IsButtonChecked(IDC_METRONOME) != 0; - TrackerSettings::Instance().metronomeEnabled = enableMetronome; + TrackerSettings::Instance().metronomeEnabled = !TrackerSettings::Instance().metronomeEnabled; CMainFrame::GetMainFrame()->UpdateMetronomeSamples(); theApp.PostMessageToAllViews(WM_MOD_CTRLMSG, CTRLMSG_PAT_UPDATE_TOOLBAR); SwitchToView(); |
From: <sv...@op...> - 2025-03-28 21:37:07
|
Author: sagamusix Date: Fri Mar 28 22:36:09 2025 New Revision: 23105 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23105 Log: Merged revision(s) 23104 from trunk/OpenMPT: [Doc] libopenmpt: Update changelog. [Doc] Add preliminary OpenMPT 1.32 changelog. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/doc/libopenmpt/changelog.md branches/OpenMPT-1.32/packageTemplate/History.txt Modified: branches/OpenMPT-1.32/doc/libopenmpt/changelog.md ============================================================================== --- branches/OpenMPT-1.32/doc/libopenmpt/changelog.md Fri Mar 28 22:35:37 2025 (r23104) +++ branches/OpenMPT-1.32/doc/libopenmpt/changelog.md Fri Mar 28 22:36:09 2025 (r23105) @@ -9,12 +9,15 @@ * [**New**] Can now read PumaTracker (`PUMA`) modules. * [**New**] Can now read Face The Music (`FTM`) modules. + * [**New**] Can now read Future Composer (`FC` / `FC13` / `FC14` / `SMOD`) + modules. * [**New**] Can now read Game Music Creator (`GMC`) modules. * [**New**] Can now read Chuck Biscuits / Black Artist (`CBA`) modules from the Expoze musicdisk by Heretics * [**New**] Can now read Real Tracker 2 (`RTM`) modules. * [**New**] Can now read Images Music System (`IMS`) modules. * [**New**] Can now read ChipTracker (`MOD`) modules. + * [**New**] Can now read TCB Tracker (`MOD`) modules. * [**New**] Can now read EasyTrax (`ETX`) modules. * [**New**] Can now load UNIC Tracker v1 (`UNIC`) files. * [**New**] MED: Synthesized and hybrid instruments are now supported. @@ -65,17 +68,31 @@ * [**Regression**] Using `EMSCRIPTEN_PORTS=1` with Emscripten older than 3.1.54 now requires additionally specifying `ANCIENT=1`. - * IT: Various plaback fixes. - * XM: If key-off is reached before auto-vibrato reaches full depth, the depth - is reset. + * IT: Various playback fixes. + * IT: When using tone portamento to another sample after the previous sample's + sustain loop has been released, the new sample should also not play its + sustain loop. + * IT: When triggering an empty instrument note slot, completely ignore the + pattern cell - do not reset the currently playing instrument's envelopes, + and also don't process any effects - including global ones. + * IT: Offset with instrument number but no note should play offset effect with + previous note. + * IT: Fixed various combinations of volume column and effect column portamento + effects. + * IT: Implemented a quirk in command Lxx that always executes a portamento + down when no tone portamento has been set up before, sometimes causing the + target note to be reached immediately, or sliding the note down very subtly. + * IT: Envelope Carry should not be influenced by a previous note-off. + + * XM: When a key-off is encountered before auto-vibrato reaches full depth, + the depth is reset. * S3M: Combined slides (Kxy / Lxy) are no longer run on the first tick of a row in files made with Scream Tracker. * MOD: Groo's "The Ultimate Beeper" now plays like in ProTracker. * DTM: Portamentos are now also evaluated on the first tick of the row. * MO3: If multiple sample slots shared the same Ogg Vorbis sample, only one sample slot was loaded. - * MED: Tempo parameters > 255 BPM were not imported properly if the files was - imported as MOD instead of XM. + * MED: Various playback fixes. * SymMOD: Files containing more than 127 channels are no longer rejected. * Better support for automatic slide commands (commands that keep sliding on following rows) in various formats. Modified: branches/OpenMPT-1.32/packageTemplate/History.txt ============================================================================== --- branches/OpenMPT-1.32/packageTemplate/History.txt Fri Mar 28 22:35:37 2025 (r23104) +++ branches/OpenMPT-1.32/packageTemplate/History.txt Fri Mar 28 22:36:09 2025 (r23105) @@ -20,6 +20,7 @@ <sp> pelya / Sergiy Pylypenko [pelya] <tn> plastik_s / Trevor Nunes [plastik_s] Patch submitters: + <cs127> cs127 <cs> kode54 / Christopher Snowhill <da> Revenant / Devin Acker <ih> xaimus / Imran Hameed @@ -32,6 +33,673 @@ find our issue tracker and forums. +v1.32.01.00 (? April 2025, revision 23094) +------------------------------------------ +Tree view +- [New] <js> The tree view can now also be placed on the right side of the window (View -> Toolbars). +- [Imp] <js> The Instrument Library now shows size information for samples in modules as well, and uses cached information for displaying file size and modification time of on-disk files instead of querying this information from the operating system every time a file is selected. +- [Mod] <js> The "Switch To Instrument Library" shortcut is no longer available if the tree view is hidden (http://bugs.openmpt.org/view.php?id=1802). +- [Mod] <js> When MIDI Library entries are unset by user, they are no longer replaced with the default soundfont after restarting OpenMPT (http://bugs.openmpt.org/view.php?id=1870). + +General tab +- [New] <js> By holding Shift when pressing the Bypass checkbox, all other plugins are (un-)bypassed. Holding Ctrl instead, only Master plugins are affected. +- [Imp] <js> Expanded mix now also works with plugins that have no inputs. +- [Imp] <js> All mix modes are now available for instrument plugins as well. The old plugin mixing behaviour for instrument plugins is emulated with the new "Instrument" mix mode (http://forum.openmpt.org/index.php?topic=7178.0). + +Pattern tab +- [New] <js> There is now a metronome that can be enabled from the toolbar or via a keyboard shortcut. The toolbar button also allows to change the metronome volume or replace metronome samples (http://bugs.openmpt.org/view.php?id=689). +- [New] <js> Merge functionality has been extended to support merging into multiple patterns with a user-specified length. This way, it becomes possible to automatically rearrange e.g. 64-row patterns into 128-row patterns in one go (http://bugs.openmpt.org/view.php?id=1750). +- [New] <js> Pattern Properties: When increasing pattern size, there is now an option to duplicate the existing contents to the newly-added rows (http://bugs.openmpt.org/view.php?id=431). +- [New] <js> Instrument / volume / effect column visibility can now be toggled independently. Column visibility is now remembered per-module if "Remember song window positions" is enabled (http://bugs.openmpt.org/view.php?id=1523). +- [New] <js> Add experimental hexadecimal volume column mode. Has to be enabled via hidden setting "Pattern.VolumeColumnInHex" and then manually assign the corresponding keys for A-F and reassign effect keys to something else (http://bugs.openmpt.org/view.php?id=1798). +- [New] <js> It is now possible to queue the next pattern to not only play when the current pattern is finished, but also when the current measure, beat or row is finished. This can be done through new order list context menu entries, four new keyboard shortcuts (combinations of Shift + Alt + Q), or as before by middle-clicking or Ctrl-left-clicking (together with the same modifier combinations of Shift and Alt as the aforementioned shortcuts, http://forum.openmpt.org/index.php?topic=7014.0). +- [New] <js> Added keyboard shortcuts for toggling most MIDI recording options (http://bugs.openmpt.org/view.php?id=500). +- [New] <js> Can now set a separate background color for the active row when recording is enabled (http://bugs.openmpt.org/view.php?id=856). +- [Imp] <js> Shortcuts that toggle settings with no immediate visual feedback now show the new setting value in the status bar (http://bugs.openmpt.org/view.php?id=500). +- [Imp] <js> It is now possible to solo a group of channels at once. The solo shortcut applies to all channels in the current pattern selection. +- [Imp] <js> Global S9x commands are now applied while seeking as well. +- [Imp] <js> Added hidden setting "Pattern Editor.AutoHideVolumeColumnForMOD" to disable the volume column by default for MOD and MOD-like formats (http://bugs.openmpt.org/view.php?id=1836). +- [Imp] <js> The built-in pattern font is now automatically scaled according to DPI settings. From 150% onward it is upscaled 2x, from 250% onward it's 3x, etc... +- [Imp] <js> "Continue song as soon as MIDI notes are being received" can now optionally start playback from the start of pattern, rather than from the current row (http://bugs.openmpt.org/view.php?id=445). +- [Imp] <js> In sample mode, show default volume also for note-less instruments (http://github.com/OpenMPT/openmpt/pull/29). +- [Imp] <js> Reduced flickering text when updating channel and row headers. +- [Fix] <js> When inserting or duplicating multiple patterns, it was possible that patterns at the end of the order list disappeared. +- [Fix] <js> Using the Toggle Overflow Paste shortcut didn't update the corresponding toolbar button. +- [Fix] <js> Checking or unchecking Overflow Paste in one pattern editor didn't update the button in other pattern editors. + +Sample tab +- [Imp] <js> Replaced pitch shifting and time stretching components. By default, Signalsmith Stretch is now used for both high-quality shifting and stretching, and a custom "Akai"-like implementation can be used alternatively in "Lo-Fi Mode". Both implementations can handle any pitch shifting and time stretching amounts, and apply both changes simultaneously (http://bugs.openmpt.org/view.php?id=1808). +- [Imp] <js> When resampling samples in MOD files, there is now an option to adjust pattern data accordingly (http://forum.openmpt.org/index.php?topic=7245.0). +- [Imp] <js> The default / global volume tooltips now also show the effective amplification based on the sample / synth volume specified in the General tab (http://forum.openmpt.org/index.php?topic=7308.0). + +Instrument tab +- [New] <js> Last edited instrument is now remembered per-module if "Remember song window positions" is enabled. + +Comments tab +- [New] <js> In addition to copying sample / instrument texts, they can now be pasted as well. +- [Imp] <js> Sample and instrument names and filenames are now drawn using the Comments font (so typically a fixed-width font; http://bugs.openmpt.org/view.php?id=1758). + +VST / DMO Plugins +- [New] <js> Can now load shell VST plugins (http://bugs.openmpt.org/view.php?id=1551). +- [Imp] <js> VST: Improve correctness of PPQ position reporting. The PPQ is now also correct when the tempo changes, and when breaking to the next pattern, the position is rounded to the next start of measure (partially fixes https://bugs.openmpt.org/view.php?id=1731). +- [Mod] <js> After seeking, plugins are informed immediately about the new playback position if playback is stopped (http://bugs.openmpt.org/view.php?id=1731). +- [Fix] <js> Before OpenMPT 1.26, it was possible to send MIDI notes to channel plugins if the current instrument had a valid MIDI channel but no plugin assigned. The old behaviour is now re-enabled for old modules that rely on it. +- [Reg] <js> When a plugin referenced by a module isn't found, it is no longer added to the plugin library if it can be automatically found in the root of the VST plugin path specified in the OpenMPT settings. + +Playback +- [Fix] <js> The retrigger command could behave differently when a MIDI channel was assigned to the active instrument (http://bugs.openmpt.org/view.php?id=1587). +- [Fix] <js> NNA channels associated with VST plugins or the MIDI I/O plugin will no longer cause channel starvation with NNA set to "Continue". +- [Fix] <js> Some plugin notes could keep playing forever when previewing samples or instruments while all NNA channels were in use. + +MPTM +- [New] <js> Every sequence has its own default tempo and speed now (http://bugs.openmpt.org/view.php?id=1322). + +IT +- [Imp] <js> Default cue points are no longer set for samples in IT files and old enough MPTM files that don't use any volume-column offset commands (http://bugs.openmpt.org/view.php?id=1540). +- [Fix] <js> When using tone portamento to another sample after the previous sample's sustain loop has been released, the new sample should also not play its sustain loop. +- [Fix] <js> When triggering an empty instrument note slot, completely ignore the pattern cell - do not reset the currently playing instrument's envelopes (fixes wayfinder's Jet Rider), and also don't process any effects - including global ones. +- [Fix] <js> Offset with instrument number but no note should play offset effect with previous note (http://bugs.openmpt.org/view.php?id=1785). +- [Fix] <js> Fixed various combinations of volume column and effect column portamento effects (http://bugs.openmpt.org/view.php?id=1827). +- [Fix] <js> Implemented a quirk in command Lxx that always executes a portamento down when no tone portamento has been set up before, sometimes causing the target note to be reached immediately, or sliding the note down very subtly. +- [Fix] <js> Envelope Carry should not be influenced by a previous note-off (fixes bridge.it by rs3, http://www.un4seen.com/forum/?topic=15448.msg144272#msg144272). + +XM +- [Fix] <js> When a key-off is encountered before auto-vibrato sweep reaches full depth, the vibrato depth is reset. + +S3M +- [Mod] <js> Impulse Tracker style edit timer is now stored, and also read from files made with Schism Tracker. +- [Fix] <js> Combined slides (Kxy / Lxy) are no longer run on the first tick of a row in files made with Scream Tracker (http://bugs.openmpt.org/view.php?id=1828). + +MOD +- [Imp] <js> Groo's "The Ultimate Beeper" now plays like in ProTracker. + +Other formats +- [New] <js> Can now read PumaTracker (PUMA) modules (http://bugs.openmpt.org/view.php?id=1327). +- [New] <js> Can now read Face The Music (FTM) modules (http://bugs.openmpt.org/view.php?id=1411). +- [New] <js> Can now read Future Composer (FC / SMOD) modules (http://bugs.openmpt.org/view.php?id=39). +- [New] <js> Can now read Game Music Creator (GMC) modules (http://bugs.openmpt.org/view.php?id=1762). +- [New] <js> Can now read Chuck Biscuits / Black Artist (CBA) modules from the Expoze musicdisk by Heretics (http://bugs.openmpt.org/view.php?id=1792). +- [New] <js> Can now read TCB Tracker (MOD) modules (http://bugs.openmpt.org/view.php?id=1845). +- [New] <js> Can now read Real Tracker 2 (RTM) modules. +- [New] <js> Can now read Images Music System (IMS) modules. +- [New] <js> Can now read ChipTracker (MOD) modules. +- [New] <js> Can now read EasyTrax (ETX) modules. +- [New] <js> Can now read UNIC Tracker v1 (UNIC) files. +- [New] <js> MED: Synthesized and hybrid instruments are now supported (http://bugs.openmpt.org/view.php?id=1321). +- [New] <js> GT2: Better support for old "envelopes", in particular adding support for the previously missing tremor / tremolo / vibrato. +- [New] <js> NST: His Master's Noise "Mupp" instruments are now supported, as well as command 7 "mega-arp". +- [New] <js> Better support for automatic slide commands (commands that keep sliding on following rows) in various formats (http://bugs.openmpt.org/view.php?id=1773). +- [Imp] <js> The pattern channel limit was raised from 127 to 192 for imported formats. +- [Imp] <js> SymMOD: Files containing more channels than OpenMPT can handle are no longer rejected (http://www.un4seen.com/forum/?topic=15448.msg143952#msg143952). +- [Mod] <js> PSM: Sub-songs are now imported as independent sequences instead of being crammed together into the same order list. +- [Fix] <js> DTM: Portamentos are now also evaluated on the first tick of the row. +- [Fix] <js> MO3: If multiple sample slots shared the same Ogg Vorbis sample, only one sample slot was loaded. +- [Fix] <js> MED: Tempo parameters > 255 BPM were not imported properly if the files was imported as MOD instead of XM (http://www.un4seen.com/forum/?topic=15448.msg143478#msg143478). +- [Fix] <js> MED: Import notes that exceed OpenMPT's note range. +- [Fix] <js> MED: Better handling of high octaves for non-MIDI instruments (http://www.un4seen.com/forum/?topic=15448.msg144154#msg144154). +- [Fix] <js> MED: Improve handling of low tempos in BPM mode (http://www.un4seen.com/forum/?topic=15448.msg144160#msg144160). +- [Fix] <js> MED: For IFFOCT instruments with extra sample loop information, the loop length was not correct. + +Stream Export +- [New] <js> Can now export all sub songs to individual files (http://bugs.openmpt.org/view.php?id=1515). +- [Imp] <js> Repeat count can now also be specified when exporting a pattern range or exporting all sub songs. +- [Imp] <js> Normalize and Clear Plugin Buffer choices are remembered across runs. Clear Plugin Buffer is now enabled by default. +- [Reg] <js> It is no longer possible to export a range of sequences. + +Misc +- [New] <js> Added a quick start "project assistant" view that is shown whenever there is no module loaded (http://bugs.openmpt.org/view.php?id=863). +- [New] <js> In addition to the "Previous Order" and "Next Order" shortcuts, there are now also shortcuts that can delay the pattern transition until the next measure, beat or row is reached. When the song isn't playing, they behave like the normal "Previous Order" and "Next Order" shortcuts in the pattern editor (http://forum.openmpt.org/index.php?topic=7014.0). +- [New] <js> Added shortcut for browsing template modules (File/Open Template). +- [New] <js> Key bindings with Impulse Tracker-like and FastTracker-like note entry (but otherwise identical keyboard shortcuts) can now be applied directly from the keyboard settings dialog, without the need for external keymap files. +- [New] <js> Auto save: When auto saving to a user-specified folder, it is now possible to automatically delete old auto save files (default: older than 30 days). +- [New] <js> Auto save: Old auto save files are now moved to the recycling bin by default instead of being deleted permanently. Old behaviour can be restored in the auto save settings. +- [New] <js> MIDI Export can now write sub songs to individual files (http://bugs.openmpt.org/view.php?id=1515). +- [New] <js> Added a /play command line switch, which automatically starts playback of one of the modules passed via the command-line (http://bugs.openmpt.org/view.php?id=1751). +- [New] <js> Templates can now be opened from the "New" icon's dropdown menu in the main toolbar (http://bugs.openmpt.org/view.php?id=254). +- [New] <js> The main toolbar now shows the global volume of the currently playing module, and can also be used to modify it (http://bugs.openmpt.org/view.php?id=277). +- [Imp] <js> The visibility of all song info controls in the main toolbar can now be toggled via the context menu. The readouts can now also be edited directly in addition to the spin buttons. +- [Imp] <js> If the main toolbar is too wide to fit the window's size, it now wraps around. In vertical mode, it also wraps around more sensibly. +- [Imp] <js> Allow changing the base octave by entering digits 0 to 8 or + and - into the octave edit field in the main toolbar. +- [Imp] <js> Precision of time display in status bar was increased to show tenths of a second (http://bugs.openmpt.org/view.php?id=1791). +- [Imp] <js> When creating a new MOD file, it is now possible to specify whether it should be an Amiga MOD (4 channels, enable ProTracker quirks and Amiga resampler) or a PC MOD (8 channels, disable ProTracker quirks and Amiga resampler) (http://bugs.openmpt.org/view.php?id=1830). +- [Imp] <js> DPI-awareness can now be set in the Display options directly, without the need to edit hidden settings. High-DPI and mixed-DPI behaviour has been greatly improved in many aspects, and OpenMPT is now DPI-aware by default. The old hidden settings Display.HighResUI and Display.UseGDIUpscaling are gone and not migrated. +- [Imp] <js> When "Remember song window positions" is active, the last active state is now remembered for all tabs, not just the currently active tab. +- [Imp] <js> "Find MPT Hacks" now warns about S3Ms using extended OPL3 waveforms (as it was possible in early OpenMPT versions with OPL support). +- [Imp] <js> Channel Manager: It is now possible to interact with channels that have been marked for deletion. +- [Imp] <js> Redesign keyboard settings dialog. Assigned shortcuts are now immediately visible without having to manually select each shortcut. Potential cross-context conflicts between shortcuts are now always visible when selecting one of the shortcuts, and not just when editing them. +- [Imp] <js> The previously hidden setting "Pattern Editor.IgnoreSongTimeSignature" can now be changed directly via the Display settings. +- [Imp] <js> Tuning Dialog: The the dialog is now resizable. +- [Imp] <js> Auto save directory is now created when it's missing. +- [Mod] <js> Channel mute status is no longer saved by default. +- [Mod] <js> Auto save no longer defaults to saving in the song's original folder (http://bugs.openmpt.org/view.php?id=1837). +- [Mod] <js> Custom context menus are now handled using a new keyboard shortcut instead of hardcoding the Application key. Shift + F10 was added as a default alternative to the Application key for keyboards that don't have this key (http://bugs.openmpt.org/view.php?id=1815). +- [Mod] <js> New default keyboard shortcuts that conflict with existing shortcut are now added if the conflicting shortcut is in a more specific context, as the latter would override it anyway. Previously, it was the other way around, potentially changing existing shortcut behaviours. +- [Mod] <js> Global keyboard shortcuts no longer have priority over shortcuts in more specific contexts if they conflict, making their behaviour consistent with other contexts. +- [Mod] <js> Folder browser now uses modern browser style when available. The old browser style can be enforced by the hidden setting "Display.UseOldStyleFolderBrowser" (http://bugs.openmpt.org/view.php?id=1687). +- [Mod] <js> When auto-saving to a custom folder, sample paths for external samples are no longer relative in auto-saved files. This way, it is guaranteed that they will still work correctly when being moved back to the module's original folder. +- [Mod] <js> Various context menus are now opened when releasing the right mouse button, not when pressing it. +- [Mod] <js> Special key interception (Windows / Caps Lock / Scroll Lock / Num Lock) is now only active in contexts where a shortcut using that key is present (so e.g. having Note Off assigned to Caps Lock will now allow Caps Lock to be used as normal in another text edit field). +- [Fix] <js> Various keyboard handling issues on Wine should be fixed (http://bugs.openmpt.org/view.php?id=713). +- [Fix] <js> The "Previous Order" and "Next Order" shortcuts now also work when the pattern editor isn't focussed (http://bugs.openmpt.org/view.php?id=1489). +- [Fix] <js> Fix various keyboard focus issues when switching between upper and lower half of editor views or switching to another application and back (http://bugs.openmpt.org/view.php?id=1799, http://bugs.openmpt.org/view.php?id=1800). +- [Reg] <js> Global keyboard shortcuts can no longer be triggered while a menu or context menu is open. +- [Reg] <js> On Windows XP and Wine 3.12 and older, messages with "don't show again" option are now always shown at most once (the checkbox is no longer visible). + +Bundled plugins +- [New] <js> MIDI I/O Plugin: Can now send an initial MIDI dump on playback start. +- [New] <js> MIDI I/O Plugin: The plugin now has its own extended MIDI macro system: Automating any plugin parameter (via PC events or, maybe a bit pointlessly, Zxx macros) sends MIDI macros that follow the same format as Zxx macros, but unlike Zxx macros they are not limited in length. +- [New] <js> MIDI I/O Plugin: A new virtual output device has been added to allow for MIDI messages to be forwarded to the configured output plugin. This way, the new macro mechanism can also be used together with other plugins and not just MIDI devices. +- [Imp] <js> MIDI I/O Plugin: PPQ position is now sent when "send timing information" is enabled. Position updates are sent at the start of every measure, and when changing playback position. +- [Imp] <js> MIDI I/O Plugin: The plugin editor is now resizable. +- [Fix] <js> MIDI I/O Plugin: When a MIDI device is lost temporarily, OpenMPT tries to re-open the correct device (identified by name or friendly name) when playback is started. +- [Reg] <js> MIDI I/O Plugin: The possibility to automate the MIDI input or output port was removed. The resolution of automation parameters was nowhere near enough to be able to actually select devices in a meaningful way. + +Third-Party Libraries +- [Imp] Update RtMidi (v6.0.0) + + +v1.31.15.00 (23 March 2025, revision 23072) +------------------------------------------- +Sample tab +- [Imp] <js> Relaxed BRR file rejection heuristics a bit (http://bugs.openmpt.org/view.php?id=1859). +- [Imp] <js> Loop and cue point information is now also copied for sample selections (http://bugs.openmpt.org/view.php?id=1869). +- [Fix] <js> Possible crash when replacing a sample with a shorter one while outside of the sample editor, and then returning to the same sample slot (http://bugs.openmpt.org/view.php?id=1866). +- [Fix] <js> Drawing sample data from right to left caused the drawn lines to not be interpolated properly. + +Instrument tab +- [Fix] <js> Fixed crash when trying to remove the only point of an envelope. + +Misc +- [Fix] <js> If multiple keyboard layouts were installed, note key mapping could be based on the wrong layout, causing e.g. B-4 and Note-Off keys to be swapped on the default key map with an active US keyboard layout but also a German layout being present. + +Third-Party Libraries +- [Imp] Update FLAC (v1.5.0) + + +v1.31.14.00 (6 January 2025, revision 22819) +-------------------------------------------- +Pattern tab +- [Fix] <js> Upon data entry, the status bar display was not updated unless playback was running. +- [Fix] <js> Fixed potential crash when trying to move the cursor past the start or end of a pattern when the order list is empty (http://bugs.openmpt.org/view.php?id=1854). + +Sample tab +- [Imp] <js> Pressing Ctrl while moving loop points or clicking loop start / end spin buttons now moves the loop, keeping the loop length constant. +- [Imp] <js> Cue preview shortcuts now set the cue point if it's currently unused and the sample is being previewed (http://bugs.openmpt.org/view.php?id=1852). +- [Fix] <js> Time stretching didn't update cue points. + +Playback +- [Fix] <js> Default velocity for instrument plugins was broken in OpenMPT 1.31.13.00 (tx coda). +- [Fix] <js> MIDI Macros: An unfinished byte right before an "s" SysEx checksum macro letter was not considered in the checksum. +- [Fix] <js> Avoid NNA channel starvation due to sample-based instruments that have a MIDI channel assigned and NNA set to "Continue". It can still happen if a VST plugin or the MIDI I/O plugin is associated with the instrument. Other built-in plugins are not affected (http://bugs.openmpt.org/view.php?id=1848). + +XM +- [Imp] <js> Warn when saving an instrument that references more than 16 (compatibility export) or 32 samples (http://bugs.openmpt.org/view.php?id=1846). +- [Imp] <js> Identify XMs saved with Digitrakker that were converted from other formats. +- [Fix] <js> In non-compatible linear slide mode, the sample rate could wrap around with portamento slides to extremely low frequencies. This should only happen in compatible mode. + +Other formats +- [Imp] <js> MO3: XM dummy command W is now imported. +- [Fix] <js> ITP: Instruments paths were always read as relative paths since OpenMPT 1.31.01.00, usually causing them to fail to load. +- [Fix] <js> ITP: Since OpenMPT 1.28.01.00, instrument and envelope flags were no longer read correctly. + +Misc +- [Imp] <js> Fine tempo adjustment shortcuts now also work with formats that don't support fractional tempo. +- [Imp] <js> "Find MPT Hacks" now warns when an XM instrument uses more than 16 samples (http://bugs.openmpt.org/view.php?id=1846). +- [Fix] <js> Passing a relative path to a module file as a command-line parameter for OpenMPT did not work as intended since OpenMPT 1.29.10.00. +- [Fix] <js> Real BPM approximation reported infinity when rows per beat was set to 0. A default of 4 rows per beat is now assumed in this situation. +- [Fix] <js> Advanced Settings: It was not possible to enter fractional values for settings of type float with system locales using a decimal separator other than ".". + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.10) and unrar (v7.1.2). + + +v1.31.13.00 (1 December 2024, revision 22403) +--------------------------------------------- +Tree view +- [Imp] <js> Add option to open modules and instrument library entries in Explorer through the context menu (http://bugs.openmpt.org/view.php?id=677). +- [Fix] <js> The folder browser could not handle paths longer than 260 characters. + +Pattern tab +- [Fix] <js> Special note keys (Note Cut / Off / Fade / PC / PCs) were not available in the default key map on various keyboard layouts (http://bugs.openmpt.org/view.php?id=1838). +- [Fix] <js> When partially pasting a normal pattern event over a PC event, the effect column was not erased properly if it wasn't part of the copied region. +- [Fix] <js> When evaluating MIDI macros containing letters "u" or "v" during seeking, the initial global volume was applied to them, rather than the global volume that would be reached at that pattern position. + +Instrument tab +- [Imp] <js> When moving the last envelope point, avoid it snapping back quickly when moving backwards (http://bugs.openmpt.org/view.php?id=297). +- [Imp] <js> Show tooltips for disabled envelope toolbar buttons, and show the button name in the toolbar. +- [Fix] <js> When importing a soundfont instrument, its bank number was off by one (http://bugs.openmpt.org/view.php?id=1842). + +Mod Conversion +- [Imp] <js> Improve handling of the transpose = -1 / finetune = 0 case when converting samples from another format to MOD. This combination is now automatically translated to finetune = -8. + +IT +- [Imp] <js> Don't report files claiming to be made with Impulse Tracker 2.08+ as IT-made if they have no edit timer. +- [Fix] <js> Ignore sample data in slots that don't have the "sample data present" flag set, if the file vaguely looks IT-made to avoid playing garbage caused by an Impulse Tracker bug that should not be audible (http://www.un4seen.com/forum/?topic=20542.0). + +S3M +- [Imp] <js> Detect early Schism Tracker versions. + +MOD +- [Imp] <js> When trying to detect MOD files with broken order lists, the file size is now rounded down to an even number. This helps identifying some malformed files (MOD files can technically not have an odd size). +- [Fix] <js> Also enable ProTracker-compatible tremolo ramp waveform for M!K! modules. +- [Fix] <js> In ProTracker 1/2 mode, retrigger with instrument-less notes now keeps using the previous sample offset. + +Other formats +- [Imp] <js> Warn when Startrekker AM companion file for synthesized instruments is most likely missing. +- [Imp] <js> DBM / IMF / MED: When merging pattern commands, allow to move offset to volume column at the expense of a lower offset resolution. Slightly improves playback of ShowMeLove.med (http://www.un4seen.com/forum/?topic=15448.msg144136#msg144136). +- [Fix] <js> MED: Fix correct octave transposition in some MED files that have hardware mixing disabled but sample transpose enabled. Fixed Journey.med (http://www.un4seen.com/forum/?topic=15448.msg143713#msg143713). +- [Fix] <js> MED: Don't enable Amiga resampler if any stereo samples are found, as it does not support stereo samples (http://www.un4seen.com/forum/?topic=15448.msg144058#msg144058). +- [Fix] <js> MED: Fix tempo in some files using software mixing mode and legacy tempo values (http://www.un4seen.com/forum/?topic=15448.msg144080#msg144080). +- [Fix] <js> MED: Avoid importing effect memory for some commands (http://www.un4seen.com/forum/?topic=15448.msg144131#msg144131). +- [Fix] <js> MED: Retrigger with instrument-less note now keeps using the previous sample offset. Fixes Kris Hadalot.med (http://www.un4seen.com/forum/?topic=15448.msg144130#msg144130). +- [Fix] <js> MED: Disable sample swapping on notes with portamento, and don't resume stopped notes with portamento. Fixes Homeward_Trek.med by Soundburst (http://www.un4seen.com/forum/?topic=15448.msg144148#msg144148). +- [Fix] <js> MED: Only use 7-bit volume commands in MMD3 files made with a new enough version of MED Soundstudio. +- [Fix] <js> STM: Do not sanitize sample loop data. Scream Tracker 2 reads into the next sample's data when loops exceed the sample length (http://www.un4seen.com/forum/?topic=15448.msg144130#msg144130). + +Module cleanup +- [Fix] <js> Possible crash when searching for unused samples if an instrument refers to a non-existing sample slot. + +Misc +- [Imp] <js> Added the possibility to disable enhanced GDI upscaling via hidden setting "Display.UseGDIUpcaling". This may fix freezes when opening the editors of some older VST plugins when this mode is enabled (http://bugs.openmpt.org/view.php?id=1524). +- [Imp] <js> Channel Manager: Channel buttons now have tooltips. +- [Mod] <js> When enabling the "Display.HighResUI" option, OpenMPT claimed to support per-monitor awareness. This was not really usable, so OpenMPT now only claims to support one system-wide DPI setting. +- [Mod] <js> Auto save no longer uses relative paths for external samples when auto saving to a user-specified folder. +- [Fix] <js> MIDI recording: Velocity amplification was rounded down to integer multiples of 100% (http://bugs.openmpt.org/view.php?id=1835). +- [Fix] <js> After loading a module with missing external samples, OpenMPT still prompted to save those empty sample slots to disk when closing the module. Doing that resulted in a crash. +- [Fix] <js> Fix truncated display of first item in checkbox lists in particular "Display.HighResUI" enabled. Potentially also fixes http://bugs.openmpt.org/view.php?id=1480 +- [Fix] <js> When changing a shortcut via a search that had results in multiple contexts, a wrong context could be assigned to the shortcut. +- [Fix] <js> File/Append shortcut didn't work. +- [Fix] <js> Cleaning up auto save files, scanning for missing samples or creating the list of templates or example songs in paths longer than 260 characters did not work. +- [Fix] <ze> When saving a copy of a module, its modified status is no longer reset (http://bugs.openmpt.org/view.php?id=1843). +- [Fix] <js> On Windows XP, the advanced settings list was not formatted correctly. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.9) + + +v1.31.12.00 (26 October 2024, revision 21983) +--------------------------------------------- +Pattern tab +- [Fix] <js> Keyboard entry was broken in several pattern columns in OpenMPT 1.31.11.00 (http://bugs.openmpt.org/view.php?id=1834). + + +v1.31.11.00 (26 October 2024, revision 21948) +--------------------------------------------- +Pattern tab +- [Imp] <js> Undo steps are no longer created when entering data into the pattern that doesn't actually result in any change (e.g. adding another 0 to an effect parameter that is already 0). +- [Imp] <js> There is now a shortcut for stream export from the order list (http://bugs.openmpt.org/view.php?id=1831). +- [Mod] <js> Rename "Render to Wave" context menu item to "Stream Export". + +Instrument tab +- [Fix] <js> When importing instruments in an IT file, restrict fadeout value to multiples of 32. + +Mod Conversion +- [Mod] <js> When converting to IT, clamp maximum tempo to 255 BPM and restrict instrument fadeout to multiples of 32. + +VST / DMO Plugins +- [Fix] <js> Plugin editor: Adjust window height after pasting a preset if the menu bar height changed due to a longer or shorter preset name. + +IT +- [Imp] <js> Don't import SAx High Offset command for IT 1.xx modules. This feature was added in Impulse Tracker 2.00. +- [Imp] <js> Limit Vxx parameter to V80 for files made with old Schism Tracker versions (see http://github.com/schismtracker/schismtracker/issues/531). +- [Mod] <js> When using compatibility export, pattern length is restricted to 32 - 200 rows. Pattern break commands are inserted when required. +- [Fix] <js> Impulse Tracker 2.14 patch version information was incorrect (tx cs127). + +S3M +- [Imp] <js> Insert pattern break commands on the last pattern row when trying to save patterns shorter than 64 rows. +- [Mod] <js> O00 effects are no longer ignored if the tracker version in the file header indicates Scream Tracker 3.00 / 3.01, but the file was clearly saved with another tool (e.g. UNMO3). +- [Mod] <cs127> As files made with Scream Tracker 3.20 and 3.21 cannot be told apart, both versions are now shown in the "last saved with" information (http://github.com/OpenMPT/openmpt/pull/24). +- [Fix] <js> Impulse Tracker 2.14 patch version information was incorrect (tx cs127). + +MOD +- [Imp] <js> Insert pattern break commands on the last pattern row when trying to save patterns shorter than 64 rows. + +Other formats +- [Imp] <js> ULT: Try to preserve global commands if there's e.g. both a speed and tempo command in the same cell. Fixes trance mission.ult (http://www.un4seen.com/forum/?topic=15448.msg143764#msg143764). +- [Imp] <cs127> STM: Improve "last saved with" tracker identification (http://github.com/OpenMPT/openmpt/pull/23) +- [Imp] <js> SymMOD: When running out of Zxx macros, try to find the closest macro to use instead. Fixes files like ocean view.symmod with tons of filter sweeps (http://www.un4seen.com/forum/?topic=15448.msg143932#msg143932). +- [Mod] <js> SymMOD: Ignore unknown hunks instead of rejecting entire file, as that's what Symphonie does as well. Fixes reading of Natsh1.SymMOD, which has garbage at the end of the file (http://www.un4seen.com/forum/?topic=15448.msg143961#msg143961). +- [Fix] <js> OKT: Disable loop on type "B" samples if they're used on a mixed channel. Fixes sinfonia.okta (http://www.un4seen.com/forum/?topic=15448.msg143764#msg143764). +- [Fix] <js> OKT: The last sample slot was never loaded. +- [Fix] <js> PTM: Halve offset command strength for 16-bit samples. Fixes leveled.ptm (http://www.un4seen.com/forum/?topic=15448.msg143764#msg143764). + +Stream Export +- [Fix] <js> Aborting was not possible during the normalization step. + +Misc +- [Imp] <js> Keyboard Config Dialog: New shortcuts are now accepted by pressing the new "Set" button or by double-clicking into the shortcut field to improve accesibility (http://bugs.openmpt.org/view.php?id=1825). +- [Mod] <js> "Find MPT Hacks" now detects IT instruments with fadeout values that are not multiples of 32, and warns about patterns shorter than 32 rows. +- [Fix] <js> The "update available" tooltip could cause a really long hang if the previous OpenMPT session was ended in a minimized window state (http://bugs.openmpt.org/view.php?id=1723). +- [Fix] <js> Prevent "Close All" keyboard shortcut from being activated when a dialog is open. It was not possible to close any files in this situation, but the modified status of all files was reset. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.8) + + +v1.31.10.00 (22 September 2024, revision 21662) +----------------------------------------------- +Tree view +- [Fix] <js> Remove keyboard focus from tree when it is about to be hidden (http://bugs.openmpt.org/view.php?id=1802). + +Pattern tab +- [Imp] <js> Channel settings can now be opened from channel context menu. + +Instrument tab +- [Imp] <js> SFZ: Reduce memory usage of regions using the offset / end opcodes (e.g. SFZ files generated Sforzando's SF2 conversion process). + +Mod Conversion +- [Imp] <js> Enable sustain loop on last envelope point when converting a volume envelope from XM that has no loops set (http://bugs.openmpt.org/view.php?id=1805). + +VST / DMO Plugins +- [Fix] <js> Effect column Cxx volume command (MOD / XM style) was never sent to plugins. In particular this means that MIDI export did not export such volume commands. +- [Fix] <js> For plugin IDs with the highest bit set, cache information retrieval was not possible due to incorrect INI key formatting, causing such plugins to be rescanned every time. +- [Fix] <js> Avoid crash in plugin bridge if plugin changes channel configuration without notifying the host (http://bugs.openmpt.org/view.php?id=1807). + +Other formats +- [New] <js> MID: SF2 sound banks embedded in RMI files are now also recognized. +- [Imp] <js> PTM: Use square root pan law, like in XM files. +- [Imp] <js> OKT: Don't drop global commands when setting paired channel volume, and try to write channel volume on the next row in this situation (http://www.un4seen.com/forum/?topic=15448.msg143684#msg143684 +- [Imp] <js> MED: Allow tempo parameters < 32 BPM. +- [Fix] <js> MED: Command 09 (set speed) was limited to 20 ticks per row instead of 32 ticks per row (http://www.un4seen.com/forum/?topic=15448.msg143294#msg143294). +- [Fix] <js> MED: Disallow free panning if hardware mixing is enabled (http://www.un4seen.com/forum/?topic=15448.msg143278#msg143278). +- [Fix] <js> MED: For MOD-style vibrato, a speed parameter of 0 was not treated as effect memory (http://www.un4seen.com/forum/?topic=15448.msg143464#msg143464). +- [Fix] <js> MED: Fix pattern index exhaustion in modules with multiple sub songs (http://www.un4seen.com/forum/?topic=15448.msg143464#msg143464). +- [Fix] <js> MID: Embedded DLS sound banks were not being read. +- [Fix] <js> SFX: Ignore unused data at end of oneshot samples which sometimes caused clicky noises (http://www.un4seen.com/forum/?topic=15448.msg143414#msg143414). + +Module cleanup +- [Fix] <js> Plugins only referenced by to-be-removed channels were not removed. + +Misc +- [Imp] <js> When using the /shared command line parameter, modules are now opened in the OpenMPT window that was last interacted with, instead of a more or less random one. +- [Imp] <js> When appending to an MPTM module, copy over restart position to the newly-created sequence. +- [Fix] <js> Huge soundfonts failed to load if the hidden setting "Misc.CacheCompleteFileBeforeLoading" was used and the soundfont would not fit in memory. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.7) + +Installer/release package +- [Mod] <cs127> Added FST to list of recognized file extensions. AMP uses this extension for multichannel MODs. + + +v1.31.09.00 (21 July 2024, revision 21219) +------------------------------------------ +General tab +- [Fix] <js> The fix for garbled graphics in OpenMPT 1.31.08.00 broke graphical updates when using UI scaling in Windows (http://bugs.openmpt.org/view.php?id=1789). + +Pattern tab +- [New] <js> Added shortcuts to go to a specific column within a pattern cell (http://bugs.openmpt.org/view.php?id=1797). +- [Mod] <js> S88 / E88 effect parameter explanation is now shown as "1 R" instead of "Center" as there is no real panning center with these commands (http://bugs.openmpt.org/view.php?id=1796). +- [Fix] <js> The next pattern is now also drawn if "always center active row" is turned off if there is enough space (http://bugs.openmpt.org/view.php?id=22). +- [Fix] <js> Possible crash when seeking with sample sync. + +Sample tab +- [Fix] <js> When switching from an OPL instrument to a regular sample slot, keyboard focus remained on the now-invisible OPL editing controls (http://bugs.openmpt.org/view.php?id=1795). + +VST / DMO Plugins +- [Fix] <js> Since OpenMPT 1.26.01.00, VST plugins were only loaded if their plugin type ID matched the expected value. However, some old files specify the wrong type ID, in which case those plugins were no longer loaded. The old behaviour was restored. + +IT +- [Imp] <js> Identify files saved with itwriter. + +XM +- [Imp] <js> For files saved with registered MadTracker 2 versions, do not show binary garbage (the user ID) in the "last saved with" information, instead simply show "registered". +- [Fix] <js> For some truncated files, the used tracker was not identified correctly. +- [Fix] <js> oggmod does not support stereo samples but keeps the stereo flag when encoding such samples. They are now imported as mono samples instead of not importing them at all (tx AliceLR). + +S3M +- [Imp] <js> Identify files saved with early Impulse Tracker versions, Sound Club 2, Liquid Tracker, NESMusa, UNMO3, deMODifier, Kosmic To-S3M, and better tell old ModPlug Tracker versions apart. + +MOD +- [Fix] <js> Allow sample swapping to work when swapping from a non-looping, stopped sample back to a looping sample (fixes MOD.energy, http://www.un4seen.com/forum/?topic=15448.msg143034#msg143034). + +Other formats +- [Imp] <js> MID: Allow importing up to 32 MIDI channels by either using the official port selection mechanism of the SMF format, or alternatively by using a Yamaha extension (http://forum.openmpt.org/index.php?topic=7200.0). +- [Imp] <js> DTM: Identify files saved with Digital Tracker 2.3. +- [Imp] <js> DBM: Import second sustain point in case the first sustain point is not set, or if it has a lower index than the first. +- [Fix] <js> DBM: When several instruments referenced the same sample with different properties (volume, loop points, etc.), only one set of properties was imported (fixes DBM.Supernova, http://www.un4seen.com/forum/?topic=15448.msg143091#msg143091). +- [Fix] <js> DBM: Prioritize effects more correctly when the same effect is encountered in both effect columns of a cell (fixes DBM.143_Gnoj, http://www.un4seen.com/forum/?topic=15448.msg143155#msg143155). +- [Fix] <js> DBM: Don't import offset effects when there's a tone portmento next to them (fixes DBM.123_Savo, http://www.un4seen.com/forum/?topic=15448.msg143155#msg143155). +- [Fix] <js> DBM: A few IT-specific playback quirks are disabled for more accurate playback (e.g. in "Are You Flying With Me?" by Jazzcat). +- [Fix] <js> AMF: When running out of sample slots, file reading became be misaligned because the sample name was not skipped. +- [Fix] <js> MED: Command 0F was not imported. Upper frequency limits should be more accurate now. +- [Fix] <js> MED: Channel panning is now only applied in MMD2 files if the free pan flag is set (http://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). +- [Fix] <js> MED: Volume command resolution was incorrect for pre-MMD3 files (http://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). + +Misc +- [Fix] <js> Keyboard focus was not restored properly in the upper half of the editor views when switching from and back to OpenMPT (http://bugs.openmpt.org/view.php?id=1795). +- [Fix] <js> Keyoard configuration: Changing the category dropdown selection while "Find Key" was active did not refresh the key list properly. + +Third-Party Libraries +- [Imp] Update ancient (2024-07-15). This update adds support for Pack-Ice and PMC formats, and fixes a crash with malformed PPMQ files. + + +v1.31.08.00 (9 June 2024, revision 20987) +----------------------------------------- +General tab +- [Fix] <js> Updates received from other views could cause unintended data changes (e.g. truncating fractional tempo if it is technically unsupported by current format). +- [Fix] <js> Since OpenMPT 1.30, it was possible that leftovers from a previously visited tab could remain visible under some circumstances. + +Pattern tab +- [Fix] <js> Navigating up on the first row of a pattern with "Play whole row while navigating" enabled but "Continuous scroll" disabled played the row and advanced to the second row instead of doing nothing (http://bugs.openmpt.org/view.php?id=1781). +- [Fix] <js> After deleting an effect, it was possible that its now-invisible parameter could still affect effect memory in S3M files. + +Other formats +- [Imp] <js> MED: Additional command pages can now be read (http://bugs.openmpt.org/view.php?id=1783). +- [Imp] <js> MED: Echo DSP is now emulated (http://www.un4seen.com/forum/?topic=15448.msg143034#msg143034). +- [Fix] <js> AMS: Default channel panning was broken, using all-center panning instead of MOD-style panning. +- [Fix] <js> STP: Correctly import volume slides where both nibbles are set. +- [Fix] <js> DSm: Only the first 48 samples were ever read. +- [Fix] <js> DSm: Don't import as Amiga module (and thus allow Amiga resampler to be enabled), as this PC format can easily exceed the Amiga frequency range. +- [Fix] <cs127 & js> STM / STX: Don't set channel panning. ScreamTracker 2 only outputs mono sound. + +Third-Party Libraries +- [Imp] Update ancient (v2.2.0) and UnRAR (v7.0.9) + + +v1.31.07.00 (12 May 2024, revision 20796) +----------------------------------------- +Pattern tab +- [Fix] <js> Find & Replace: In the plugin parameter dropdown, parameter 999 was missing if the number of plugin parameters was unknown. + +Comments tab +- [Fix] <js> Sample / instrument name editing was broken since OpenMPT 1.31.01.00 (tx SoDa7). + +Playback +- [Fix] <js> The OPL emulation produced unwanted clicks with mix rates exceeding 65 kHz (http://bugs.openmpt.org/view.php?id=1775). +- [Fix] <js> MIDI macro command s didn't compute the correct checksum if a device ID was made up from two bytes (e.g. Roland XV-5080). + +IT +- [Imp] <js> Disable a few more compatibility flags for ITs made with older Schism Tracker versions (http://bugs.openmpt.org/view.php?id=1764). +- [Mod] <js> Halve the output volume of files saved with ChibiTracker, as its mixer is about half as loud as ours. + +XM +- [Imp] <js> Detect files saved with PlayerPRO. Improved detection of files saved with ModPlug Tracker. +- [Mod] <js> Files with impossibly small pattern headers are now rejected, like FastTracker 2 does. + +S3M +- [Imp] <js> Detect files saved with PlayerPRO. +- [Fix] <js> In mono mode, the ratio between sample and OPL volume was incorrect (http://bugs.openmpt.org/view.php?id=1774). + +MOD +- [Mod] <js> Changed VBlank timing heuristic to always assume CIA timing when long samples (unsupported by original ProTracker) are found. +- [Fix] <js> Disable NoiseTracker quirks if empty sample slots have a default volume other than 0 (http://bugs.openmpt.org/view.php?id=1765). +- [Fix] <js> 7-bit panning detection may have returned incorrect results for MODs with a channel count other than 4. + +Other formats +- [Imp] <js> STK: Loosen SoundTracker file rejection heuristics a bit to allow loading of files with overly long samples (romantic.stk) and malformed song titles (schmokk.mod, scramble_2.mod and others). Other heuristics has been tightened a bit. +- [Imp] <js> MED: Improve handling of default tempo, panning and channel volume in files containing more than one song (fixes sugar n spice.mmd3, http://www.un4seen.com/forum/?topic=15448.msg142659#msg142659). +- [Mod] <js> MO3: Further reduce maximum allowed music data (not samples) size from 2 GiB to 512 MiB. +- [Mod] <js> MDL: Slightly more accurate import of pattern command 9 (enabling envelopes instead of setting envelope position). +- [Fix] <cs127> ULT: Support the highest three octaves. + +Misc +- [Mod] <js> Channel Manager: Allow middle-click to open Quick Channel Settings for all formats. +- [Imp] <js> When auto-saving, display the currently saving module's filename in the status bar. +- [Fix] <js> Fixed possible crash when merging sequences. +- [Fix] <jh> It was possible that OpenMPT would crash on shutdown if an automatic update check was still running in the background (http://bugs.openmpt.org/view.php?id=1760). + +Bundled plugins +- [Fix] <js> When changing the output plugin from the LFO plugin's editor, the change was not reflected in the General tab. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.6) and opus (v1.5.2) + + +v1.31.06.00 (24 March 2024, revision 20438) +------------------------------------------- +Sample tab +- [Imp] <js> Audio is no longer blocked while updating the GUI after pasting a sample. + +IT +- [Fix] <js> In OpenMPT 1.31.05.00, MIDI macros in IT files made with older MPT versions were no longer working (http://bugs.openmpt.org/view.php?id=1753). + +Other formats +- [Fix] <js> MED: Transposed samples were playing too low in some files (e.g. mix94.mmd1). +- [Fix] <js> OKT: Some files with garbage at the end were rejected (e.g. katharsis - piano lesson.okta). +- [Fix] <js> SymMOD: Fixed potential crash with malformed sustain loops. + +Misc +- [New] <js> Added two more octaves worth of note key assignments suitable for micro-tuning (http://bugs.openmpt.org/view.php?id=1727). +- [Fix] <js> File / sample sizes in the instrument browser and comments tab were displayed incorrectly if a size less than 1024 bytes ended in 0. + +Bundled plugins +- [Mod] <js> The "Triangle" waveform in the Chorus / Flanger DMO plugins is now labelled "Square" instead to reflect its actual behaviour. +- [Fix] <js> There was a periodic click when playing a module using the Chorus or Flanger DMO plugin at a mix rate exceeding ~136.5 kHz (http://bugs.openmpt.org/view.php?id=1752). +- [Fix] <js> Since OpenMPT 1.29.13.00, the Distortion plugin sounded incorrect when using certain parameter combinations. + +Third-Party Libraries +- [Imp] Update ancient (2024-03-23) + + +v1.31.05.00 (3 March 2024, revision 20196) +------------------------------------------ +Tree view +- [Fix] <js> The search filter was no longer applied when the instrument library was refreshed. + +Pattern tab +- [New] <js> Using the new hidden setting "Pattern Editor.IgnoreSongTimeSignature", it is now possible to ignore the time signature provided by the module and use the pre-configured defaults from the Display tab instead (http://bugs.openmpt.org/view.php?id=1746). +- [Fix] <js> Notes no longer hang on transpose or data entry (http://bugs.openmpt.org/view.php?id=1724). +- [Fix] <js> Data Entry could insert volume column commands even in MOD format when turning "virtual" default volume commands into real commands. This feature of Data Entry is now disabled for MOD files, as the alternative - moving the newly-added command to the effect column - would be counter-intuitive (http://bugs.openmpt.org/view.php?id=1738). +- [Fix] <js> Assigning / unassigning a plugin to / from an instrument didn't update their plugin editor button in the pattern tab. + +Sample tab +- [New] <js> Can now convert sustain loops to normal loops and vice versa. If both loop types are set, the commands swap the two loops. +- [Fix] <js> Transpose value was sometimes off-by-one after manually entering sample rate. +- [Fix] <js> Reset sample reverse flag when loading new samples or converting between formats. +- [Fix] <js> Avoid accidental single-pixel sample data selections and jumpy selection start / end points with zoomed-out or auto-zoomed samples (quite likely introduced in OpenMPT 1.30.04.00). + +Instrument tab +- [Imp] <js> SFZ: global_label opcode (instrument name) is now read and written. +- [Imp] <js> SFZ: Sustain point is no longer set on volume envelopes if it's the last point of the envelope and its value is neutral (0). +- [Fix] <js> SFZ: <, = and various whitespace characters are now omitted when writing name labels, to ensure that the resulting SFZ file can be parsed unambiguously. +- [Fix] <js> Clearing the note map due to plugin assignment didn't update other instrument tabs of the same song accordingly. + +VST / DMO Plugins +- [Fix] <js> Prior to OpenMPT 1.30, if an instrument was set to use MIDI program 1 or bank 1, this program or bank change was not sent to plugins (unless another instrument previously explicitly selected a different program or bank for this plugin). This was fixed in OpenMPT 1.30, but that behaviour change broke existing modules, so for tracks made with earlier OpenMPT versions, the old behaviour is applied again. + +IT +- [Imp] <js> A few more compatibility flags are now disabled for modules saved with earlier Schism Tracker versions. +- [Fix] <js> MIDI macros were reset in IT 2.14 / 2.15 files that declared to be compatible with older IT versions (fixes spx-visionsofthepast.it, http://bugs.openmpt.org/view.php?id=1745). + +Other formats +- [Imp] <js> OKT: Work around missing negative arpeggio implementation by transposing the notes up an octave (http://bugs.openmpt.org/view.php?id=1732). +- [Fix] <js> OKT: Channel volume commands were sometimes lost over less important effects (http://bugs.openmpt.org/view.php?id=1732). +- [Fix] <js> IMF: Do not verify magic bytes in sample header. "Leaving All Behind" by Karsten Koch uses unexpected magic bytes, Orpheus ignores them just like the instrument header magic bytes. +- [Fix] <js> Gzip archives: In some cases, decompression failed despite the file being valid. + +Misc +- [Fix] <js> Opening links through the Open File / Save File dialogs could lead to a crash (http://bugs.openmpt.org/view.php?id=1739). +- [Fix] <js> Allow end-of-tune optimizations for XM F00 command to also work with MIDI / OPL export (http://bugs.openmpt.org/view.php?id=1741). +- [Fix] <jh> OpenMPT no longer ran on Windows N editions without the Media Feature Pack installed since OpenMPT 1.31.01.00 (http://bugs.openmpt.org/view.php?id=1749). +- [Fix] <js> Keyboard configuration: Switching between categories broke in OpenMPT 1.31.04.00. +- [Fix] <js> Moving a plugin didn't update its MIDI mapping directives. +- [Fix] <js> MIDI Export: Exported drum keys were off by one since OpenMPT 1.30.03.00 unless Mapped mode was chosen. +- [Fix] <js> Copying an instrument from another module (through the tree view or when appending modules) that referenced a tuning didn't copy that tuning over to the current module, eventually leading to a crash when the other module was closed. +- [Fix] <js> Fixed possible inconsistent UI state after removing instruments. + +Third-Party Libraries +- [Imp] Update Crypto++ (v8.9.0), mpg123 (v1.32.4), nlohmann-json (v3.11.3), UnRAR (v7.0.7) and zlib (v1.3.1) + +Installer/release package +- [Mod] <js> Updated US_mpt_classic_(nobuyuki).mkb. + + +v1.31.04.00 (27 August 2023, revision 19605) +-------------------------------------------- +Pattern tab +- [Mod] <js> Fixed volume and envelope position issues when seeking with sample sync and the target row contained a note without instrument number. + +Sample tab +- [Fix] <js> IFF: The workaround for 8SVX files with claimed zero-length body chunks (to accomodate for http://bugs.openmpt.org/view.php?id=117) was too aggressive, causing also files with empty NAME chunks to not load properly (http://bugs.openmpt.org/view.php?id=1715). +- [Fix] <js> IFF: 16-bit mono samples were saved as little-endian instead of big-endian. +- [Fix] <js> Remove cue points from newly-created samples after slicing at cue points. The old cue points no longer make sense in the context of the new sample. + +VST / DMO Plugins +- [Mod] <js> MIDI data is no longer sent to bypassed VST plugins. +- [Fix] <js> The new instrument plugin tone portamento mechanism broke after encountering a note-off event. + +Bundled plugins +- [Fix] <js> MIDI I/O Plugin: Fix potential crash while suspending. + +Misc +- [Imp] <js> MIDI pitch bend is now applied to samples outside of the pattern view as well (e.g. sample / instrument / comments tab). +- [Fix] <js> Improve scrolling support for laptops with precision touchpads (http://bugs.openmpt.org/view.php?id=1638). +- [Fix] <js> Clear find text boxes in keyboard configuration when manually switching categories dropdown to avoid inconsistent display. + +Third-Party Libraries +- [Imp] Update ancient (v2.1.1), Crypto++ (v8.8.0), FLAC (v1.4.3), unrar (v6.2.10) and zlib (v.1.3) + + +v1.31.03.00 (18 June 2023, revision 19401) +------------------------------------------ +Tree view +- [Fix] <js> Since OpenMPT 1.31.01.00, refreshing the tree view was much slower than necessary when an item in the file browser was selected. + +Pattern tab +- [Fix] <js> Interpolating a command with two independent nibble parameters caused a wrong result if the direction of interpolation differed between the two nibbles (tx NoobTracker). + +Sample tab +- [Fix] <js> Trying to load unsupported files could sometimes cause the currently loaded sample data in that slot to be removed even if the raw sample import dialog was going to be shown later. + +MOD +- [New] <js> Can now read modified 8-channel MOD files from the DOS game Aleshar - The World Of Ice. + +Other formats +- [Fix] <js> MED: Fixed possible crash with some malformed files. + +Misc +- [Mod] <jh> When updating portable installations, the update is now downloaded into the portable installation directory instead of the system's temporary directory, allowing to update several portable installations at the same ... [truncated message content] |
From: <sv...@op...> - 2025-03-28 21:35:57
|
Author: sagamusix Date: Fri Mar 28 22:35:37 2025 New Revision: 23104 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23104 Log: [Doc] libopenmpt: Update changelog. [Doc] Add preliminary OpenMPT 1.32 changelog. Modified: trunk/OpenMPT/doc/libopenmpt/changelog.md trunk/OpenMPT/packageTemplate/History.txt Modified: trunk/OpenMPT/doc/libopenmpt/changelog.md ============================================================================== --- trunk/OpenMPT/doc/libopenmpt/changelog.md Fri Mar 28 22:21:43 2025 (r23103) +++ trunk/OpenMPT/doc/libopenmpt/changelog.md Fri Mar 28 22:35:37 2025 (r23104) @@ -11,12 +11,15 @@ * [**New**] Can now read PumaTracker (`PUMA`) modules. * [**New**] Can now read Face The Music (`FTM`) modules. + * [**New**] Can now read Future Composer (`FC` / `FC13` / `FC14` / `SMOD`) + modules. * [**New**] Can now read Game Music Creator (`GMC`) modules. * [**New**] Can now read Chuck Biscuits / Black Artist (`CBA`) modules from the Expoze musicdisk by Heretics * [**New**] Can now read Real Tracker 2 (`RTM`) modules. * [**New**] Can now read Images Music System (`IMS`) modules. * [**New**] Can now read ChipTracker (`MOD`) modules. + * [**New**] Can now read TCB Tracker (`MOD`) modules. * [**New**] Can now read EasyTrax (`ETX`) modules. * [**New**] Can now load UNIC Tracker v1 (`UNIC`) files. * [**New**] MED: Synthesized and hybrid instruments are now supported. @@ -67,17 +70,31 @@ * [**Regression**] Using `EMSCRIPTEN_PORTS=1` with Emscripten older than 3.1.54 now requires additionally specifying `ANCIENT=1`. - * IT: Various plaback fixes. - * XM: If key-off is reached before auto-vibrato reaches full depth, the depth - is reset. + * IT: Various playback fixes. + * IT: When using tone portamento to another sample after the previous sample's + sustain loop has been released, the new sample should also not play its + sustain loop. + * IT: When triggering an empty instrument note slot, completely ignore the + pattern cell - do not reset the currently playing instrument's envelopes, + and also don't process any effects - including global ones. + * IT: Offset with instrument number but no note should play offset effect with + previous note. + * IT: Fixed various combinations of volume column and effect column portamento + effects. + * IT: Implemented a quirk in command Lxx that always executes a portamento + down when no tone portamento has been set up before, sometimes causing the + target note to be reached immediately, or sliding the note down very subtly. + * IT: Envelope Carry should not be influenced by a previous note-off. + + * XM: When a key-off is encountered before auto-vibrato reaches full depth, + the depth is reset. * S3M: Combined slides (Kxy / Lxy) are no longer run on the first tick of a row in files made with Scream Tracker. * MOD: Groo's "The Ultimate Beeper" now plays like in ProTracker. * DTM: Portamentos are now also evaluated on the first tick of the row. * MO3: If multiple sample slots shared the same Ogg Vorbis sample, only one sample slot was loaded. - * MED: Tempo parameters > 255 BPM were not imported properly if the files was - imported as MOD instead of XM. + * MED: Various playback fixes. * SymMOD: Files containing more than 127 channels are no longer rejected. * Better support for automatic slide commands (commands that keep sliding on following rows) in various formats. Modified: trunk/OpenMPT/packageTemplate/History.txt ============================================================================== --- trunk/OpenMPT/packageTemplate/History.txt Fri Mar 28 22:21:43 2025 (r23103) +++ trunk/OpenMPT/packageTemplate/History.txt Fri Mar 28 22:35:37 2025 (r23104) @@ -20,6 +20,7 @@ <sp> pelya / Sergiy Pylypenko [pelya] <tn> plastik_s / Trevor Nunes [plastik_s] Patch submitters: + <cs127> cs127 <cs> kode54 / Christopher Snowhill <da> Revenant / Devin Acker <ih> xaimus / Imran Hameed @@ -32,6 +33,673 @@ find our issue tracker and forums. +v1.32.01.00 (? April 2025, revision 23094) +------------------------------------------ +Tree view +- [New] <js> The tree view can now also be placed on the right side of the window (View -> Toolbars). +- [Imp] <js> The Instrument Library now shows size information for samples in modules as well, and uses cached information for displaying file size and modification time of on-disk files instead of querying this information from the operating system every time a file is selected. +- [Mod] <js> The "Switch To Instrument Library" shortcut is no longer available if the tree view is hidden (http://bugs.openmpt.org/view.php?id=1802). +- [Mod] <js> When MIDI Library entries are unset by user, they are no longer replaced with the default soundfont after restarting OpenMPT (http://bugs.openmpt.org/view.php?id=1870). + +General tab +- [New] <js> By holding Shift when pressing the Bypass checkbox, all other plugins are (un-)bypassed. Holding Ctrl instead, only Master plugins are affected. +- [Imp] <js> Expanded mix now also works with plugins that have no inputs. +- [Imp] <js> All mix modes are now available for instrument plugins as well. The old plugin mixing behaviour for instrument plugins is emulated with the new "Instrument" mix mode (http://forum.openmpt.org/index.php?topic=7178.0). + +Pattern tab +- [New] <js> There is now a metronome that can be enabled from the toolbar or via a keyboard shortcut. The toolbar button also allows to change the metronome volume or replace metronome samples (http://bugs.openmpt.org/view.php?id=689). +- [New] <js> Merge functionality has been extended to support merging into multiple patterns with a user-specified length. This way, it becomes possible to automatically rearrange e.g. 64-row patterns into 128-row patterns in one go (http://bugs.openmpt.org/view.php?id=1750). +- [New] <js> Pattern Properties: When increasing pattern size, there is now an option to duplicate the existing contents to the newly-added rows (http://bugs.openmpt.org/view.php?id=431). +- [New] <js> Instrument / volume / effect column visibility can now be toggled independently. Column visibility is now remembered per-module if "Remember song window positions" is enabled (http://bugs.openmpt.org/view.php?id=1523). +- [New] <js> Add experimental hexadecimal volume column mode. Has to be enabled via hidden setting "Pattern.VolumeColumnInHex" and then manually assign the corresponding keys for A-F and reassign effect keys to something else (http://bugs.openmpt.org/view.php?id=1798). +- [New] <js> It is now possible to queue the next pattern to not only play when the current pattern is finished, but also when the current measure, beat or row is finished. This can be done through new order list context menu entries, four new keyboard shortcuts (combinations of Shift + Alt + Q), or as before by middle-clicking or Ctrl-left-clicking (together with the same modifier combinations of Shift and Alt as the aforementioned shortcuts, http://forum.openmpt.org/index.php?topic=7014.0). +- [New] <js> Added keyboard shortcuts for toggling most MIDI recording options (http://bugs.openmpt.org/view.php?id=500). +- [New] <js> Can now set a separate background color for the active row when recording is enabled (http://bugs.openmpt.org/view.php?id=856). +- [Imp] <js> Shortcuts that toggle settings with no immediate visual feedback now show the new setting value in the status bar (http://bugs.openmpt.org/view.php?id=500). +- [Imp] <js> It is now possible to solo a group of channels at once. The solo shortcut applies to all channels in the current pattern selection. +- [Imp] <js> Global S9x commands are now applied while seeking as well. +- [Imp] <js> Added hidden setting "Pattern Editor.AutoHideVolumeColumnForMOD" to disable the volume column by default for MOD and MOD-like formats (http://bugs.openmpt.org/view.php?id=1836). +- [Imp] <js> The built-in pattern font is now automatically scaled according to DPI settings. From 150% onward it is upscaled 2x, from 250% onward it's 3x, etc... +- [Imp] <js> "Continue song as soon as MIDI notes are being received" can now optionally start playback from the start of pattern, rather than from the current row (http://bugs.openmpt.org/view.php?id=445). +- [Imp] <js> In sample mode, show default volume also for note-less instruments (http://github.com/OpenMPT/openmpt/pull/29). +- [Imp] <js> Reduced flickering text when updating channel and row headers. +- [Fix] <js> When inserting or duplicating multiple patterns, it was possible that patterns at the end of the order list disappeared. +- [Fix] <js> Using the Toggle Overflow Paste shortcut didn't update the corresponding toolbar button. +- [Fix] <js> Checking or unchecking Overflow Paste in one pattern editor didn't update the button in other pattern editors. + +Sample tab +- [Imp] <js> Replaced pitch shifting and time stretching components. By default, Signalsmith Stretch is now used for both high-quality shifting and stretching, and a custom "Akai"-like implementation can be used alternatively in "Lo-Fi Mode". Both implementations can handle any pitch shifting and time stretching amounts, and apply both changes simultaneously (http://bugs.openmpt.org/view.php?id=1808). +- [Imp] <js> When resampling samples in MOD files, there is now an option to adjust pattern data accordingly (http://forum.openmpt.org/index.php?topic=7245.0). +- [Imp] <js> The default / global volume tooltips now also show the effective amplification based on the sample / synth volume specified in the General tab (http://forum.openmpt.org/index.php?topic=7308.0). + +Instrument tab +- [New] <js> Last edited instrument is now remembered per-module if "Remember song window positions" is enabled. + +Comments tab +- [New] <js> In addition to copying sample / instrument texts, they can now be pasted as well. +- [Imp] <js> Sample and instrument names and filenames are now drawn using the Comments font (so typically a fixed-width font; http://bugs.openmpt.org/view.php?id=1758). + +VST / DMO Plugins +- [New] <js> Can now load shell VST plugins (http://bugs.openmpt.org/view.php?id=1551). +- [Imp] <js> VST: Improve correctness of PPQ position reporting. The PPQ is now also correct when the tempo changes, and when breaking to the next pattern, the position is rounded to the next start of measure (partially fixes https://bugs.openmpt.org/view.php?id=1731). +- [Mod] <js> After seeking, plugins are informed immediately about the new playback position if playback is stopped (http://bugs.openmpt.org/view.php?id=1731). +- [Fix] <js> Before OpenMPT 1.26, it was possible to send MIDI notes to channel plugins if the current instrument had a valid MIDI channel but no plugin assigned. The old behaviour is now re-enabled for old modules that rely on it. +- [Reg] <js> When a plugin referenced by a module isn't found, it is no longer added to the plugin library if it can be automatically found in the root of the VST plugin path specified in the OpenMPT settings. + +Playback +- [Fix] <js> The retrigger command could behave differently when a MIDI channel was assigned to the active instrument (http://bugs.openmpt.org/view.php?id=1587). +- [Fix] <js> NNA channels associated with VST plugins or the MIDI I/O plugin will no longer cause channel starvation with NNA set to "Continue". +- [Fix] <js> Some plugin notes could keep playing forever when previewing samples or instruments while all NNA channels were in use. + +MPTM +- [New] <js> Every sequence has its own default tempo and speed now (http://bugs.openmpt.org/view.php?id=1322). + +IT +- [Imp] <js> Default cue points are no longer set for samples in IT files and old enough MPTM files that don't use any volume-column offset commands (http://bugs.openmpt.org/view.php?id=1540). +- [Fix] <js> When using tone portamento to another sample after the previous sample's sustain loop has been released, the new sample should also not play its sustain loop. +- [Fix] <js> When triggering an empty instrument note slot, completely ignore the pattern cell - do not reset the currently playing instrument's envelopes (fixes wayfinder's Jet Rider), and also don't process any effects - including global ones. +- [Fix] <js> Offset with instrument number but no note should play offset effect with previous note (http://bugs.openmpt.org/view.php?id=1785). +- [Fix] <js> Fixed various combinations of volume column and effect column portamento effects (http://bugs.openmpt.org/view.php?id=1827). +- [Fix] <js> Implemented a quirk in command Lxx that always executes a portamento down when no tone portamento has been set up before, sometimes causing the target note to be reached immediately, or sliding the note down very subtly. +- [Fix] <js> Envelope Carry should not be influenced by a previous note-off (fixes bridge.it by rs3, http://www.un4seen.com/forum/?topic=15448.msg144272#msg144272). + +XM +- [Fix] <js> When a key-off is encountered before auto-vibrato sweep reaches full depth, the vibrato depth is reset. + +S3M +- [Mod] <js> Impulse Tracker style edit timer is now stored, and also read from files made with Schism Tracker. +- [Fix] <js> Combined slides (Kxy / Lxy) are no longer run on the first tick of a row in files made with Scream Tracker (http://bugs.openmpt.org/view.php?id=1828). + +MOD +- [Imp] <js> Groo's "The Ultimate Beeper" now plays like in ProTracker. + +Other formats +- [New] <js> Can now read PumaTracker (PUMA) modules (http://bugs.openmpt.org/view.php?id=1327). +- [New] <js> Can now read Face The Music (FTM) modules (http://bugs.openmpt.org/view.php?id=1411). +- [New] <js> Can now read Future Composer (FC / SMOD) modules (http://bugs.openmpt.org/view.php?id=39). +- [New] <js> Can now read Game Music Creator (GMC) modules (http://bugs.openmpt.org/view.php?id=1762). +- [New] <js> Can now read Chuck Biscuits / Black Artist (CBA) modules from the Expoze musicdisk by Heretics (http://bugs.openmpt.org/view.php?id=1792). +- [New] <js> Can now read TCB Tracker (MOD) modules (http://bugs.openmpt.org/view.php?id=1845). +- [New] <js> Can now read Real Tracker 2 (RTM) modules. +- [New] <js> Can now read Images Music System (IMS) modules. +- [New] <js> Can now read ChipTracker (MOD) modules. +- [New] <js> Can now read EasyTrax (ETX) modules. +- [New] <js> Can now read UNIC Tracker v1 (UNIC) files. +- [New] <js> MED: Synthesized and hybrid instruments are now supported (http://bugs.openmpt.org/view.php?id=1321). +- [New] <js> GT2: Better support for old "envelopes", in particular adding support for the previously missing tremor / tremolo / vibrato. +- [New] <js> NST: His Master's Noise "Mupp" instruments are now supported, as well as command 7 "mega-arp". +- [New] <js> Better support for automatic slide commands (commands that keep sliding on following rows) in various formats (http://bugs.openmpt.org/view.php?id=1773). +- [Imp] <js> The pattern channel limit was raised from 127 to 192 for imported formats. +- [Imp] <js> SymMOD: Files containing more channels than OpenMPT can handle are no longer rejected (http://www.un4seen.com/forum/?topic=15448.msg143952#msg143952). +- [Mod] <js> PSM: Sub-songs are now imported as independent sequences instead of being crammed together into the same order list. +- [Fix] <js> DTM: Portamentos are now also evaluated on the first tick of the row. +- [Fix] <js> MO3: If multiple sample slots shared the same Ogg Vorbis sample, only one sample slot was loaded. +- [Fix] <js> MED: Tempo parameters > 255 BPM were not imported properly if the files was imported as MOD instead of XM (http://www.un4seen.com/forum/?topic=15448.msg143478#msg143478). +- [Fix] <js> MED: Import notes that exceed OpenMPT's note range. +- [Fix] <js> MED: Better handling of high octaves for non-MIDI instruments (http://www.un4seen.com/forum/?topic=15448.msg144154#msg144154). +- [Fix] <js> MED: Improve handling of low tempos in BPM mode (http://www.un4seen.com/forum/?topic=15448.msg144160#msg144160). +- [Fix] <js> MED: For IFFOCT instruments with extra sample loop information, the loop length was not correct. + +Stream Export +- [New] <js> Can now export all sub songs to individual files (http://bugs.openmpt.org/view.php?id=1515). +- [Imp] <js> Repeat count can now also be specified when exporting a pattern range or exporting all sub songs. +- [Imp] <js> Normalize and Clear Plugin Buffer choices are remembered across runs. Clear Plugin Buffer is now enabled by default. +- [Reg] <js> It is no longer possible to export a range of sequences. + +Misc +- [New] <js> Added a quick start "project assistant" view that is shown whenever there is no module loaded (http://bugs.openmpt.org/view.php?id=863). +- [New] <js> In addition to the "Previous Order" and "Next Order" shortcuts, there are now also shortcuts that can delay the pattern transition until the next measure, beat or row is reached. When the song isn't playing, they behave like the normal "Previous Order" and "Next Order" shortcuts in the pattern editor (http://forum.openmpt.org/index.php?topic=7014.0). +- [New] <js> Added shortcut for browsing template modules (File/Open Template). +- [New] <js> Key bindings with Impulse Tracker-like and FastTracker-like note entry (but otherwise identical keyboard shortcuts) can now be applied directly from the keyboard settings dialog, without the need for external keymap files. +- [New] <js> Auto save: When auto saving to a user-specified folder, it is now possible to automatically delete old auto save files (default: older than 30 days). +- [New] <js> Auto save: Old auto save files are now moved to the recycling bin by default instead of being deleted permanently. Old behaviour can be restored in the auto save settings. +- [New] <js> MIDI Export can now write sub songs to individual files (http://bugs.openmpt.org/view.php?id=1515). +- [New] <js> Added a /play command line switch, which automatically starts playback of one of the modules passed via the command-line (http://bugs.openmpt.org/view.php?id=1751). +- [New] <js> Templates can now be opened from the "New" icon's dropdown menu in the main toolbar (http://bugs.openmpt.org/view.php?id=254). +- [New] <js> The main toolbar now shows the global volume of the currently playing module, and can also be used to modify it (http://bugs.openmpt.org/view.php?id=277). +- [Imp] <js> The visibility of all song info controls in the main toolbar can now be toggled via the context menu. The readouts can now also be edited directly in addition to the spin buttons. +- [Imp] <js> If the main toolbar is too wide to fit the window's size, it now wraps around. In vertical mode, it also wraps around more sensibly. +- [Imp] <js> Allow changing the base octave by entering digits 0 to 8 or + and - into the octave edit field in the main toolbar. +- [Imp] <js> Precision of time display in status bar was increased to show tenths of a second (http://bugs.openmpt.org/view.php?id=1791). +- [Imp] <js> When creating a new MOD file, it is now possible to specify whether it should be an Amiga MOD (4 channels, enable ProTracker quirks and Amiga resampler) or a PC MOD (8 channels, disable ProTracker quirks and Amiga resampler) (http://bugs.openmpt.org/view.php?id=1830). +- [Imp] <js> DPI-awareness can now be set in the Display options directly, without the need to edit hidden settings. High-DPI and mixed-DPI behaviour has been greatly improved in many aspects, and OpenMPT is now DPI-aware by default. The old hidden settings Display.HighResUI and Display.UseGDIUpscaling are gone and not migrated. +- [Imp] <js> When "Remember song window positions" is active, the last active state is now remembered for all tabs, not just the currently active tab. +- [Imp] <js> "Find MPT Hacks" now warns about S3Ms using extended OPL3 waveforms (as it was possible in early OpenMPT versions with OPL support). +- [Imp] <js> Channel Manager: It is now possible to interact with channels that have been marked for deletion. +- [Imp] <js> Redesign keyboard settings dialog. Assigned shortcuts are now immediately visible without having to manually select each shortcut. Potential cross-context conflicts between shortcuts are now always visible when selecting one of the shortcuts, and not just when editing them. +- [Imp] <js> The previously hidden setting "Pattern Editor.IgnoreSongTimeSignature" can now be changed directly via the Display settings. +- [Imp] <js> Tuning Dialog: The the dialog is now resizable. +- [Imp] <js> Auto save directory is now created when it's missing. +- [Mod] <js> Channel mute status is no longer saved by default. +- [Mod] <js> Auto save no longer defaults to saving in the song's original folder (http://bugs.openmpt.org/view.php?id=1837). +- [Mod] <js> Custom context menus are now handled using a new keyboard shortcut instead of hardcoding the Application key. Shift + F10 was added as a default alternative to the Application key for keyboards that don't have this key (http://bugs.openmpt.org/view.php?id=1815). +- [Mod] <js> New default keyboard shortcuts that conflict with existing shortcut are now added if the conflicting shortcut is in a more specific context, as the latter would override it anyway. Previously, it was the other way around, potentially changing existing shortcut behaviours. +- [Mod] <js> Global keyboard shortcuts no longer have priority over shortcuts in more specific contexts if they conflict, making their behaviour consistent with other contexts. +- [Mod] <js> Folder browser now uses modern browser style when available. The old browser style can be enforced by the hidden setting "Display.UseOldStyleFolderBrowser" (http://bugs.openmpt.org/view.php?id=1687). +- [Mod] <js> When auto-saving to a custom folder, sample paths for external samples are no longer relative in auto-saved files. This way, it is guaranteed that they will still work correctly when being moved back to the module's original folder. +- [Mod] <js> Various context menus are now opened when releasing the right mouse button, not when pressing it. +- [Mod] <js> Special key interception (Windows / Caps Lock / Scroll Lock / Num Lock) is now only active in contexts where a shortcut using that key is present (so e.g. having Note Off assigned to Caps Lock will now allow Caps Lock to be used as normal in another text edit field). +- [Fix] <js> Various keyboard handling issues on Wine should be fixed (http://bugs.openmpt.org/view.php?id=713). +- [Fix] <js> The "Previous Order" and "Next Order" shortcuts now also work when the pattern editor isn't focussed (http://bugs.openmpt.org/view.php?id=1489). +- [Fix] <js> Fix various keyboard focus issues when switching between upper and lower half of editor views or switching to another application and back (http://bugs.openmpt.org/view.php?id=1799, http://bugs.openmpt.org/view.php?id=1800). +- [Reg] <js> Global keyboard shortcuts can no longer be triggered while a menu or context menu is open. +- [Reg] <js> On Windows XP and Wine 3.12 and older, messages with "don't show again" option are now always shown at most once (the checkbox is no longer visible). + +Bundled plugins +- [New] <js> MIDI I/O Plugin: Can now send an initial MIDI dump on playback start. +- [New] <js> MIDI I/O Plugin: The plugin now has its own extended MIDI macro system: Automating any plugin parameter (via PC events or, maybe a bit pointlessly, Zxx macros) sends MIDI macros that follow the same format as Zxx macros, but unlike Zxx macros they are not limited in length. +- [New] <js> MIDI I/O Plugin: A new virtual output device has been added to allow for MIDI messages to be forwarded to the configured output plugin. This way, the new macro mechanism can also be used together with other plugins and not just MIDI devices. +- [Imp] <js> MIDI I/O Plugin: PPQ position is now sent when "send timing information" is enabled. Position updates are sent at the start of every measure, and when changing playback position. +- [Imp] <js> MIDI I/O Plugin: The plugin editor is now resizable. +- [Fix] <js> MIDI I/O Plugin: When a MIDI device is lost temporarily, OpenMPT tries to re-open the correct device (identified by name or friendly name) when playback is started. +- [Reg] <js> MIDI I/O Plugin: The possibility to automate the MIDI input or output port was removed. The resolution of automation parameters was nowhere near enough to be able to actually select devices in a meaningful way. + +Third-Party Libraries +- [Imp] Update RtMidi (v6.0.0) + + +v1.31.15.00 (23 March 2025, revision 23072) +------------------------------------------- +Sample tab +- [Imp] <js> Relaxed BRR file rejection heuristics a bit (http://bugs.openmpt.org/view.php?id=1859). +- [Imp] <js> Loop and cue point information is now also copied for sample selections (http://bugs.openmpt.org/view.php?id=1869). +- [Fix] <js> Possible crash when replacing a sample with a shorter one while outside of the sample editor, and then returning to the same sample slot (http://bugs.openmpt.org/view.php?id=1866). +- [Fix] <js> Drawing sample data from right to left caused the drawn lines to not be interpolated properly. + +Instrument tab +- [Fix] <js> Fixed crash when trying to remove the only point of an envelope. + +Misc +- [Fix] <js> If multiple keyboard layouts were installed, note key mapping could be based on the wrong layout, causing e.g. B-4 and Note-Off keys to be swapped on the default key map with an active US keyboard layout but also a German layout being present. + +Third-Party Libraries +- [Imp] Update FLAC (v1.5.0) + + +v1.31.14.00 (6 January 2025, revision 22819) +-------------------------------------------- +Pattern tab +- [Fix] <js> Upon data entry, the status bar display was not updated unless playback was running. +- [Fix] <js> Fixed potential crash when trying to move the cursor past the start or end of a pattern when the order list is empty (http://bugs.openmpt.org/view.php?id=1854). + +Sample tab +- [Imp] <js> Pressing Ctrl while moving loop points or clicking loop start / end spin buttons now moves the loop, keeping the loop length constant. +- [Imp] <js> Cue preview shortcuts now set the cue point if it's currently unused and the sample is being previewed (http://bugs.openmpt.org/view.php?id=1852). +- [Fix] <js> Time stretching didn't update cue points. + +Playback +- [Fix] <js> Default velocity for instrument plugins was broken in OpenMPT 1.31.13.00 (tx coda). +- [Fix] <js> MIDI Macros: An unfinished byte right before an "s" SysEx checksum macro letter was not considered in the checksum. +- [Fix] <js> Avoid NNA channel starvation due to sample-based instruments that have a MIDI channel assigned and NNA set to "Continue". It can still happen if a VST plugin or the MIDI I/O plugin is associated with the instrument. Other built-in plugins are not affected (http://bugs.openmpt.org/view.php?id=1848). + +XM +- [Imp] <js> Warn when saving an instrument that references more than 16 (compatibility export) or 32 samples (http://bugs.openmpt.org/view.php?id=1846). +- [Imp] <js> Identify XMs saved with Digitrakker that were converted from other formats. +- [Fix] <js> In non-compatible linear slide mode, the sample rate could wrap around with portamento slides to extremely low frequencies. This should only happen in compatible mode. + +Other formats +- [Imp] <js> MO3: XM dummy command W is now imported. +- [Fix] <js> ITP: Instruments paths were always read as relative paths since OpenMPT 1.31.01.00, usually causing them to fail to load. +- [Fix] <js> ITP: Since OpenMPT 1.28.01.00, instrument and envelope flags were no longer read correctly. + +Misc +- [Imp] <js> Fine tempo adjustment shortcuts now also work with formats that don't support fractional tempo. +- [Imp] <js> "Find MPT Hacks" now warns when an XM instrument uses more than 16 samples (http://bugs.openmpt.org/view.php?id=1846). +- [Fix] <js> Passing a relative path to a module file as a command-line parameter for OpenMPT did not work as intended since OpenMPT 1.29.10.00. +- [Fix] <js> Real BPM approximation reported infinity when rows per beat was set to 0. A default of 4 rows per beat is now assumed in this situation. +- [Fix] <js> Advanced Settings: It was not possible to enter fractional values for settings of type float with system locales using a decimal separator other than ".". + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.10) and unrar (v7.1.2). + + +v1.31.13.00 (1 December 2024, revision 22403) +--------------------------------------------- +Tree view +- [Imp] <js> Add option to open modules and instrument library entries in Explorer through the context menu (http://bugs.openmpt.org/view.php?id=677). +- [Fix] <js> The folder browser could not handle paths longer than 260 characters. + +Pattern tab +- [Fix] <js> Special note keys (Note Cut / Off / Fade / PC / PCs) were not available in the default key map on various keyboard layouts (http://bugs.openmpt.org/view.php?id=1838). +- [Fix] <js> When partially pasting a normal pattern event over a PC event, the effect column was not erased properly if it wasn't part of the copied region. +- [Fix] <js> When evaluating MIDI macros containing letters "u" or "v" during seeking, the initial global volume was applied to them, rather than the global volume that would be reached at that pattern position. + +Instrument tab +- [Imp] <js> When moving the last envelope point, avoid it snapping back quickly when moving backwards (http://bugs.openmpt.org/view.php?id=297). +- [Imp] <js> Show tooltips for disabled envelope toolbar buttons, and show the button name in the toolbar. +- [Fix] <js> When importing a soundfont instrument, its bank number was off by one (http://bugs.openmpt.org/view.php?id=1842). + +Mod Conversion +- [Imp] <js> Improve handling of the transpose = -1 / finetune = 0 case when converting samples from another format to MOD. This combination is now automatically translated to finetune = -8. + +IT +- [Imp] <js> Don't report files claiming to be made with Impulse Tracker 2.08+ as IT-made if they have no edit timer. +- [Fix] <js> Ignore sample data in slots that don't have the "sample data present" flag set, if the file vaguely looks IT-made to avoid playing garbage caused by an Impulse Tracker bug that should not be audible (http://www.un4seen.com/forum/?topic=20542.0). + +S3M +- [Imp] <js> Detect early Schism Tracker versions. + +MOD +- [Imp] <js> When trying to detect MOD files with broken order lists, the file size is now rounded down to an even number. This helps identifying some malformed files (MOD files can technically not have an odd size). +- [Fix] <js> Also enable ProTracker-compatible tremolo ramp waveform for M!K! modules. +- [Fix] <js> In ProTracker 1/2 mode, retrigger with instrument-less notes now keeps using the previous sample offset. + +Other formats +- [Imp] <js> Warn when Startrekker AM companion file for synthesized instruments is most likely missing. +- [Imp] <js> DBM / IMF / MED: When merging pattern commands, allow to move offset to volume column at the expense of a lower offset resolution. Slightly improves playback of ShowMeLove.med (http://www.un4seen.com/forum/?topic=15448.msg144136#msg144136). +- [Fix] <js> MED: Fix correct octave transposition in some MED files that have hardware mixing disabled but sample transpose enabled. Fixed Journey.med (http://www.un4seen.com/forum/?topic=15448.msg143713#msg143713). +- [Fix] <js> MED: Don't enable Amiga resampler if any stereo samples are found, as it does not support stereo samples (http://www.un4seen.com/forum/?topic=15448.msg144058#msg144058). +- [Fix] <js> MED: Fix tempo in some files using software mixing mode and legacy tempo values (http://www.un4seen.com/forum/?topic=15448.msg144080#msg144080). +- [Fix] <js> MED: Avoid importing effect memory for some commands (http://www.un4seen.com/forum/?topic=15448.msg144131#msg144131). +- [Fix] <js> MED: Retrigger with instrument-less note now keeps using the previous sample offset. Fixes Kris Hadalot.med (http://www.un4seen.com/forum/?topic=15448.msg144130#msg144130). +- [Fix] <js> MED: Disable sample swapping on notes with portamento, and don't resume stopped notes with portamento. Fixes Homeward_Trek.med by Soundburst (http://www.un4seen.com/forum/?topic=15448.msg144148#msg144148). +- [Fix] <js> MED: Only use 7-bit volume commands in MMD3 files made with a new enough version of MED Soundstudio. +- [Fix] <js> STM: Do not sanitize sample loop data. Scream Tracker 2 reads into the next sample's data when loops exceed the sample length (http://www.un4seen.com/forum/?topic=15448.msg144130#msg144130). + +Module cleanup +- [Fix] <js> Possible crash when searching for unused samples if an instrument refers to a non-existing sample slot. + +Misc +- [Imp] <js> Added the possibility to disable enhanced GDI upscaling via hidden setting "Display.UseGDIUpcaling". This may fix freezes when opening the editors of some older VST plugins when this mode is enabled (http://bugs.openmpt.org/view.php?id=1524). +- [Imp] <js> Channel Manager: Channel buttons now have tooltips. +- [Mod] <js> When enabling the "Display.HighResUI" option, OpenMPT claimed to support per-monitor awareness. This was not really usable, so OpenMPT now only claims to support one system-wide DPI setting. +- [Mod] <js> Auto save no longer uses relative paths for external samples when auto saving to a user-specified folder. +- [Fix] <js> MIDI recording: Velocity amplification was rounded down to integer multiples of 100% (http://bugs.openmpt.org/view.php?id=1835). +- [Fix] <js> After loading a module with missing external samples, OpenMPT still prompted to save those empty sample slots to disk when closing the module. Doing that resulted in a crash. +- [Fix] <js> Fix truncated display of first item in checkbox lists in particular "Display.HighResUI" enabled. Potentially also fixes http://bugs.openmpt.org/view.php?id=1480 +- [Fix] <js> When changing a shortcut via a search that had results in multiple contexts, a wrong context could be assigned to the shortcut. +- [Fix] <js> File/Append shortcut didn't work. +- [Fix] <js> Cleaning up auto save files, scanning for missing samples or creating the list of templates or example songs in paths longer than 260 characters did not work. +- [Fix] <ze> When saving a copy of a module, its modified status is no longer reset (http://bugs.openmpt.org/view.php?id=1843). +- [Fix] <js> On Windows XP, the advanced settings list was not formatted correctly. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.9) + + +v1.31.12.00 (26 October 2024, revision 21983) +--------------------------------------------- +Pattern tab +- [Fix] <js> Keyboard entry was broken in several pattern columns in OpenMPT 1.31.11.00 (http://bugs.openmpt.org/view.php?id=1834). + + +v1.31.11.00 (26 October 2024, revision 21948) +--------------------------------------------- +Pattern tab +- [Imp] <js> Undo steps are no longer created when entering data into the pattern that doesn't actually result in any change (e.g. adding another 0 to an effect parameter that is already 0). +- [Imp] <js> There is now a shortcut for stream export from the order list (http://bugs.openmpt.org/view.php?id=1831). +- [Mod] <js> Rename "Render to Wave" context menu item to "Stream Export". + +Instrument tab +- [Fix] <js> When importing instruments in an IT file, restrict fadeout value to multiples of 32. + +Mod Conversion +- [Mod] <js> When converting to IT, clamp maximum tempo to 255 BPM and restrict instrument fadeout to multiples of 32. + +VST / DMO Plugins +- [Fix] <js> Plugin editor: Adjust window height after pasting a preset if the menu bar height changed due to a longer or shorter preset name. + +IT +- [Imp] <js> Don't import SAx High Offset command for IT 1.xx modules. This feature was added in Impulse Tracker 2.00. +- [Imp] <js> Limit Vxx parameter to V80 for files made with old Schism Tracker versions (see http://github.com/schismtracker/schismtracker/issues/531). +- [Mod] <js> When using compatibility export, pattern length is restricted to 32 - 200 rows. Pattern break commands are inserted when required. +- [Fix] <js> Impulse Tracker 2.14 patch version information was incorrect (tx cs127). + +S3M +- [Imp] <js> Insert pattern break commands on the last pattern row when trying to save patterns shorter than 64 rows. +- [Mod] <js> O00 effects are no longer ignored if the tracker version in the file header indicates Scream Tracker 3.00 / 3.01, but the file was clearly saved with another tool (e.g. UNMO3). +- [Mod] <cs127> As files made with Scream Tracker 3.20 and 3.21 cannot be told apart, both versions are now shown in the "last saved with" information (http://github.com/OpenMPT/openmpt/pull/24). +- [Fix] <js> Impulse Tracker 2.14 patch version information was incorrect (tx cs127). + +MOD +- [Imp] <js> Insert pattern break commands on the last pattern row when trying to save patterns shorter than 64 rows. + +Other formats +- [Imp] <js> ULT: Try to preserve global commands if there's e.g. both a speed and tempo command in the same cell. Fixes trance mission.ult (http://www.un4seen.com/forum/?topic=15448.msg143764#msg143764). +- [Imp] <cs127> STM: Improve "last saved with" tracker identification (http://github.com/OpenMPT/openmpt/pull/23) +- [Imp] <js> SymMOD: When running out of Zxx macros, try to find the closest macro to use instead. Fixes files like ocean view.symmod with tons of filter sweeps (http://www.un4seen.com/forum/?topic=15448.msg143932#msg143932). +- [Mod] <js> SymMOD: Ignore unknown hunks instead of rejecting entire file, as that's what Symphonie does as well. Fixes reading of Natsh1.SymMOD, which has garbage at the end of the file (http://www.un4seen.com/forum/?topic=15448.msg143961#msg143961). +- [Fix] <js> OKT: Disable loop on type "B" samples if they're used on a mixed channel. Fixes sinfonia.okta (http://www.un4seen.com/forum/?topic=15448.msg143764#msg143764). +- [Fix] <js> OKT: The last sample slot was never loaded. +- [Fix] <js> PTM: Halve offset command strength for 16-bit samples. Fixes leveled.ptm (http://www.un4seen.com/forum/?topic=15448.msg143764#msg143764). + +Stream Export +- [Fix] <js> Aborting was not possible during the normalization step. + +Misc +- [Imp] <js> Keyboard Config Dialog: New shortcuts are now accepted by pressing the new "Set" button or by double-clicking into the shortcut field to improve accesibility (http://bugs.openmpt.org/view.php?id=1825). +- [Mod] <js> "Find MPT Hacks" now detects IT instruments with fadeout values that are not multiples of 32, and warns about patterns shorter than 32 rows. +- [Fix] <js> The "update available" tooltip could cause a really long hang if the previous OpenMPT session was ended in a minimized window state (http://bugs.openmpt.org/view.php?id=1723). +- [Fix] <js> Prevent "Close All" keyboard shortcut from being activated when a dialog is open. It was not possible to close any files in this situation, but the modified status of all files was reset. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.8) + + +v1.31.10.00 (22 September 2024, revision 21662) +----------------------------------------------- +Tree view +- [Fix] <js> Remove keyboard focus from tree when it is about to be hidden (http://bugs.openmpt.org/view.php?id=1802). + +Pattern tab +- [Imp] <js> Channel settings can now be opened from channel context menu. + +Instrument tab +- [Imp] <js> SFZ: Reduce memory usage of regions using the offset / end opcodes (e.g. SFZ files generated Sforzando's SF2 conversion process). + +Mod Conversion +- [Imp] <js> Enable sustain loop on last envelope point when converting a volume envelope from XM that has no loops set (http://bugs.openmpt.org/view.php?id=1805). + +VST / DMO Plugins +- [Fix] <js> Effect column Cxx volume command (MOD / XM style) was never sent to plugins. In particular this means that MIDI export did not export such volume commands. +- [Fix] <js> For plugin IDs with the highest bit set, cache information retrieval was not possible due to incorrect INI key formatting, causing such plugins to be rescanned every time. +- [Fix] <js> Avoid crash in plugin bridge if plugin changes channel configuration without notifying the host (http://bugs.openmpt.org/view.php?id=1807). + +Other formats +- [New] <js> MID: SF2 sound banks embedded in RMI files are now also recognized. +- [Imp] <js> PTM: Use square root pan law, like in XM files. +- [Imp] <js> OKT: Don't drop global commands when setting paired channel volume, and try to write channel volume on the next row in this situation (http://www.un4seen.com/forum/?topic=15448.msg143684#msg143684 +- [Imp] <js> MED: Allow tempo parameters < 32 BPM. +- [Fix] <js> MED: Command 09 (set speed) was limited to 20 ticks per row instead of 32 ticks per row (http://www.un4seen.com/forum/?topic=15448.msg143294#msg143294). +- [Fix] <js> MED: Disallow free panning if hardware mixing is enabled (http://www.un4seen.com/forum/?topic=15448.msg143278#msg143278). +- [Fix] <js> MED: For MOD-style vibrato, a speed parameter of 0 was not treated as effect memory (http://www.un4seen.com/forum/?topic=15448.msg143464#msg143464). +- [Fix] <js> MED: Fix pattern index exhaustion in modules with multiple sub songs (http://www.un4seen.com/forum/?topic=15448.msg143464#msg143464). +- [Fix] <js> MID: Embedded DLS sound banks were not being read. +- [Fix] <js> SFX: Ignore unused data at end of oneshot samples which sometimes caused clicky noises (http://www.un4seen.com/forum/?topic=15448.msg143414#msg143414). + +Module cleanup +- [Fix] <js> Plugins only referenced by to-be-removed channels were not removed. + +Misc +- [Imp] <js> When using the /shared command line parameter, modules are now opened in the OpenMPT window that was last interacted with, instead of a more or less random one. +- [Imp] <js> When appending to an MPTM module, copy over restart position to the newly-created sequence. +- [Fix] <js> Huge soundfonts failed to load if the hidden setting "Misc.CacheCompleteFileBeforeLoading" was used and the soundfont would not fit in memory. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.7) + +Installer/release package +- [Mod] <cs127> Added FST to list of recognized file extensions. AMP uses this extension for multichannel MODs. + + +v1.31.09.00 (21 July 2024, revision 21219) +------------------------------------------ +General tab +- [Fix] <js> The fix for garbled graphics in OpenMPT 1.31.08.00 broke graphical updates when using UI scaling in Windows (http://bugs.openmpt.org/view.php?id=1789). + +Pattern tab +- [New] <js> Added shortcuts to go to a specific column within a pattern cell (http://bugs.openmpt.org/view.php?id=1797). +- [Mod] <js> S88 / E88 effect parameter explanation is now shown as "1 R" instead of "Center" as there is no real panning center with these commands (http://bugs.openmpt.org/view.php?id=1796). +- [Fix] <js> The next pattern is now also drawn if "always center active row" is turned off if there is enough space (http://bugs.openmpt.org/view.php?id=22). +- [Fix] <js> Possible crash when seeking with sample sync. + +Sample tab +- [Fix] <js> When switching from an OPL instrument to a regular sample slot, keyboard focus remained on the now-invisible OPL editing controls (http://bugs.openmpt.org/view.php?id=1795). + +VST / DMO Plugins +- [Fix] <js> Since OpenMPT 1.26.01.00, VST plugins were only loaded if their plugin type ID matched the expected value. However, some old files specify the wrong type ID, in which case those plugins were no longer loaded. The old behaviour was restored. + +IT +- [Imp] <js> Identify files saved with itwriter. + +XM +- [Imp] <js> For files saved with registered MadTracker 2 versions, do not show binary garbage (the user ID) in the "last saved with" information, instead simply show "registered". +- [Fix] <js> For some truncated files, the used tracker was not identified correctly. +- [Fix] <js> oggmod does not support stereo samples but keeps the stereo flag when encoding such samples. They are now imported as mono samples instead of not importing them at all (tx AliceLR). + +S3M +- [Imp] <js> Identify files saved with early Impulse Tracker versions, Sound Club 2, Liquid Tracker, NESMusa, UNMO3, deMODifier, Kosmic To-S3M, and better tell old ModPlug Tracker versions apart. + +MOD +- [Fix] <js> Allow sample swapping to work when swapping from a non-looping, stopped sample back to a looping sample (fixes MOD.energy, http://www.un4seen.com/forum/?topic=15448.msg143034#msg143034). + +Other formats +- [Imp] <js> MID: Allow importing up to 32 MIDI channels by either using the official port selection mechanism of the SMF format, or alternatively by using a Yamaha extension (http://forum.openmpt.org/index.php?topic=7200.0). +- [Imp] <js> DTM: Identify files saved with Digital Tracker 2.3. +- [Imp] <js> DBM: Import second sustain point in case the first sustain point is not set, or if it has a lower index than the first. +- [Fix] <js> DBM: When several instruments referenced the same sample with different properties (volume, loop points, etc.), only one set of properties was imported (fixes DBM.Supernova, http://www.un4seen.com/forum/?topic=15448.msg143091#msg143091). +- [Fix] <js> DBM: Prioritize effects more correctly when the same effect is encountered in both effect columns of a cell (fixes DBM.143_Gnoj, http://www.un4seen.com/forum/?topic=15448.msg143155#msg143155). +- [Fix] <js> DBM: Don't import offset effects when there's a tone portmento next to them (fixes DBM.123_Savo, http://www.un4seen.com/forum/?topic=15448.msg143155#msg143155). +- [Fix] <js> DBM: A few IT-specific playback quirks are disabled for more accurate playback (e.g. in "Are You Flying With Me?" by Jazzcat). +- [Fix] <js> AMF: When running out of sample slots, file reading became be misaligned because the sample name was not skipped. +- [Fix] <js> MED: Command 0F was not imported. Upper frequency limits should be more accurate now. +- [Fix] <js> MED: Channel panning is now only applied in MMD2 files if the free pan flag is set (http://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). +- [Fix] <js> MED: Volume command resolution was incorrect for pre-MMD3 files (http://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). + +Misc +- [Fix] <js> Keyboard focus was not restored properly in the upper half of the editor views when switching from and back to OpenMPT (http://bugs.openmpt.org/view.php?id=1795). +- [Fix] <js> Keyoard configuration: Changing the category dropdown selection while "Find Key" was active did not refresh the key list properly. + +Third-Party Libraries +- [Imp] Update ancient (2024-07-15). This update adds support for Pack-Ice and PMC formats, and fixes a crash with malformed PPMQ files. + + +v1.31.08.00 (9 June 2024, revision 20987) +----------------------------------------- +General tab +- [Fix] <js> Updates received from other views could cause unintended data changes (e.g. truncating fractional tempo if it is technically unsupported by current format). +- [Fix] <js> Since OpenMPT 1.30, it was possible that leftovers from a previously visited tab could remain visible under some circumstances. + +Pattern tab +- [Fix] <js> Navigating up on the first row of a pattern with "Play whole row while navigating" enabled but "Continuous scroll" disabled played the row and advanced to the second row instead of doing nothing (http://bugs.openmpt.org/view.php?id=1781). +- [Fix] <js> After deleting an effect, it was possible that its now-invisible parameter could still affect effect memory in S3M files. + +Other formats +- [Imp] <js> MED: Additional command pages can now be read (http://bugs.openmpt.org/view.php?id=1783). +- [Imp] <js> MED: Echo DSP is now emulated (http://www.un4seen.com/forum/?topic=15448.msg143034#msg143034). +- [Fix] <js> AMS: Default channel panning was broken, using all-center panning instead of MOD-style panning. +- [Fix] <js> STP: Correctly import volume slides where both nibbles are set. +- [Fix] <js> DSm: Only the first 48 samples were ever read. +- [Fix] <js> DSm: Don't import as Amiga module (and thus allow Amiga resampler to be enabled), as this PC format can easily exceed the Amiga frequency range. +- [Fix] <cs127 & js> STM / STX: Don't set channel panning. ScreamTracker 2 only outputs mono sound. + +Third-Party Libraries +- [Imp] Update ancient (v2.2.0) and UnRAR (v7.0.9) + + +v1.31.07.00 (12 May 2024, revision 20796) +----------------------------------------- +Pattern tab +- [Fix] <js> Find & Replace: In the plugin parameter dropdown, parameter 999 was missing if the number of plugin parameters was unknown. + +Comments tab +- [Fix] <js> Sample / instrument name editing was broken since OpenMPT 1.31.01.00 (tx SoDa7). + +Playback +- [Fix] <js> The OPL emulation produced unwanted clicks with mix rates exceeding 65 kHz (http://bugs.openmpt.org/view.php?id=1775). +- [Fix] <js> MIDI macro command s didn't compute the correct checksum if a device ID was made up from two bytes (e.g. Roland XV-5080). + +IT +- [Imp] <js> Disable a few more compatibility flags for ITs made with older Schism Tracker versions (http://bugs.openmpt.org/view.php?id=1764). +- [Mod] <js> Halve the output volume of files saved with ChibiTracker, as its mixer is about half as loud as ours. + +XM +- [Imp] <js> Detect files saved with PlayerPRO. Improved detection of files saved with ModPlug Tracker. +- [Mod] <js> Files with impossibly small pattern headers are now rejected, like FastTracker 2 does. + +S3M +- [Imp] <js> Detect files saved with PlayerPRO. +- [Fix] <js> In mono mode, the ratio between sample and OPL volume was incorrect (http://bugs.openmpt.org/view.php?id=1774). + +MOD +- [Mod] <js> Changed VBlank timing heuristic to always assume CIA timing when long samples (unsupported by original ProTracker) are found. +- [Fix] <js> Disable NoiseTracker quirks if empty sample slots have a default volume other than 0 (http://bugs.openmpt.org/view.php?id=1765). +- [Fix] <js> 7-bit panning detection may have returned incorrect results for MODs with a channel count other than 4. + +Other formats +- [Imp] <js> STK: Loosen SoundTracker file rejection heuristics a bit to allow loading of files with overly long samples (romantic.stk) and malformed song titles (schmokk.mod, scramble_2.mod and others). Other heuristics has been tightened a bit. +- [Imp] <js> MED: Improve handling of default tempo, panning and channel volume in files containing more than one song (fixes sugar n spice.mmd3, http://www.un4seen.com/forum/?topic=15448.msg142659#msg142659). +- [Mod] <js> MO3: Further reduce maximum allowed music data (not samples) size from 2 GiB to 512 MiB. +- [Mod] <js> MDL: Slightly more accurate import of pattern command 9 (enabling envelopes instead of setting envelope position). +- [Fix] <cs127> ULT: Support the highest three octaves. + +Misc +- [Mod] <js> Channel Manager: Allow middle-click to open Quick Channel Settings for all formats. +- [Imp] <js> When auto-saving, display the currently saving module's filename in the status bar. +- [Fix] <js> Fixed possible crash when merging sequences. +- [Fix] <jh> It was possible that OpenMPT would crash on shutdown if an automatic update check was still running in the background (http://bugs.openmpt.org/view.php?id=1760). + +Bundled plugins +- [Fix] <js> When changing the output plugin from the LFO plugin's editor, the change was not reflected in the General tab. + +Third-Party Libraries +- [Imp] Update mpg123 (v1.32.6) and opus (v1.5.2) + + +v1.31.06.00 (24 March 2024, revision 20438) +------------------------------------------- +Sample tab +- [Imp] <js> Audio is no longer blocked while updating the GUI after pasting a sample. + +IT +- [Fix] <js> In OpenMPT 1.31.05.00, MIDI macros in IT files made with older MPT versions were no longer working (http://bugs.openmpt.org/view.php?id=1753). + +Other formats +- [Fix] <js> MED: Transposed samples were playing too low in some files (e.g. mix94.mmd1). +- [Fix] <js> OKT: Some files with garbage at the end were rejected (e.g. katharsis - piano lesson.okta). +- [Fix] <js> SymMOD: Fixed potential crash with malformed sustain loops. + +Misc +- [New] <js> Added two more octaves worth of note key assignments suitable for micro-tuning (http://bugs.openmpt.org/view.php?id=1727). +- [Fix] <js> File / sample sizes in the instrument browser and comments tab were displayed incorrectly if a size less than 1024 bytes ended in 0. + +Bundled plugins +- [Mod] <js> The "Triangle" waveform in the Chorus / Flanger DMO plugins is now labelled "Square" instead to reflect its actual behaviour. +- [Fix] <js> There was a periodic click when playing a module using the Chorus or Flanger DMO plugin at a mix rate exceeding ~136.5 kHz (http://bugs.openmpt.org/view.php?id=1752). +- [Fix] <js> Since OpenMPT 1.29.13.00, the Distortion plugin sounded incorrect when using certain parameter combinations. + +Third-Party Libraries +- [Imp] Update ancient (2024-03-23) + + +v1.31.05.00 (3 March 2024, revision 20196) +------------------------------------------ +Tree view +- [Fix] <js> The search filter was no longer applied when the instrument library was refreshed. + +Pattern tab +- [New] <js> Using the new hidden setting "Pattern Editor.IgnoreSongTimeSignature", it is now possible to ignore the time signature provided by the module and use the pre-configured defaults from the Display tab instead (http://bugs.openmpt.org/view.php?id=1746). +- [Fix] <js> Notes no longer hang on transpose or data entry (http://bugs.openmpt.org/view.php?id=1724). +- [Fix] <js> Data Entry could insert volume column commands even in MOD format when turning "virtual" default volume commands into real commands. This feature of Data Entry is now disabled for MOD files, as the alternative - moving the newly-added command to the effect column - would be counter-intuitive (http://bugs.openmpt.org/view.php?id=1738). +- [Fix] <js> Assigning / unassigning a plugin to / from an instrument didn't update their plugin editor button in the pattern tab. + +Sample tab +- [New] <js> Can now convert sustain loops to normal loops and vice versa. If both loop types are set, the commands swap the two loops. +- [Fix] <js> Transpose value was sometimes off-by-one after manually entering sample rate. +- [Fix] <js> Reset sample reverse flag when loading new samples or converting between formats. +- [Fix] <js> Avoid accidental single-pixel sample data selections and jumpy selection start / end points with zoomed-out or auto-zoomed samples (quite likely introduced in OpenMPT 1.30.04.00). + +Instrument tab +- [Imp] <js> SFZ: global_label opcode (instrument name) is now read and written. +- [Imp] <js> SFZ: Sustain point is no longer set on volume envelopes if it's the last point of the envelope and its value is neutral (0). +- [Fix] <js> SFZ: <, = and various whitespace characters are now omitted when writing name labels, to ensure that the resulting SFZ file can be parsed unambiguously. +- [Fix] <js> Clearing the note map due to plugin assignment didn't update other instrument tabs of the same song accordingly. + +VST / DMO Plugins +- [Fix] <js> Prior to OpenMPT 1.30, if an instrument was set to use MIDI program 1 or bank 1, this program or bank change was not sent to plugins (unless another instrument previously explicitly selected a different program or bank for this plugin). This was fixed in OpenMPT 1.30, but that behaviour change broke existing modules, so for tracks made with earlier OpenMPT versions, the old behaviour is applied again. + +IT +- [Imp] <js> A few more compatibility flags are now disabled for modules saved with earlier Schism Tracker versions. +- [Fix] <js> MIDI macros were reset in IT 2.14 / 2.15 files that declared to be compatible with older IT versions (fixes spx-visionsofthepast.it, http://bugs.openmpt.org/view.php?id=1745). + +Other formats +- [Imp] <js> OKT: Work around missing negative arpeggio implementation by transposing the notes up an octave (http://bugs.openmpt.org/view.php?id=1732). +- [Fix] <js> OKT: Channel volume commands were sometimes lost over less important effects (http://bugs.openmpt.org/view.php?id=1732). +- [Fix] <js> IMF: Do not verify magic bytes in sample header. "Leaving All Behind" by Karsten Koch uses unexpected magic bytes, Orpheus ignores them just like the instrument header magic bytes. +- [Fix] <js> Gzip archives: In some cases, decompression failed despite the file being valid. + +Misc +- [Fix] <js> Opening links through the Open File / Save File dialogs could lead to a crash (http://bugs.openmpt.org/view.php?id=1739). +- [Fix] <js> Allow end-of-tune optimizations for XM F00 command to also work with MIDI / OPL export (http://bugs.openmpt.org/view.php?id=1741). +- [Fix] <jh> OpenMPT no longer ran on Windows N editions without the Media Feature Pack installed since OpenMPT 1.31.01.00 (http://bugs.openmpt.org/view.php?id=1749). +- [Fix] <js> Keyboard configuration: Switching between categories broke in OpenMPT 1.31.04.00. +- [Fix] <js> Moving a plugin didn't update its MIDI mapping directives. +- [Fix] <js> MIDI Export: Exported drum keys were off by one since OpenMPT 1.30.03.00 unless Mapped mode was chosen. +- [Fix] <js> Copying an instrument from another module (through the tree view or when appending modules) that referenced a tuning didn't copy that tuning over to the current module, eventually leading to a crash when the other module was closed. +- [Fix] <js> Fixed possible inconsistent UI state after removing instruments. + +Third-Party Libraries +- [Imp] Update Crypto++ (v8.9.0), mpg123 (v1.32.4), nlohmann-json (v3.11.3), UnRAR (v7.0.7) and zlib (v1.3.1) + +Installer/release package +- [Mod] <js> Updated US_mpt_classic_(nobuyuki).mkb. + + +v1.31.04.00 (27 August 2023, revision 19605) +-------------------------------------------- +Pattern tab +- [Mod] <js> Fixed volume and envelope position issues when seeking with sample sync and the target row contained a note without instrument number. + +Sample tab +- [Fix] <js> IFF: The workaround for 8SVX files with claimed zero-length body chunks (to accomodate for http://bugs.openmpt.org/view.php?id=117) was too aggressive, causing also files with empty NAME chunks to not load properly (http://bugs.openmpt.org/view.php?id=1715). +- [Fix] <js> IFF: 16-bit mono samples were saved as little-endian instead of big-endian. +- [Fix] <js> Remove cue points from newly-created samples after slicing at cue points. The old cue points no longer make sense in the context of the new sample. + +VST / DMO Plugins +- [Mod] <js> MIDI data is no longer sent to bypassed VST plugins. +- [Fix] <js> The new instrument plugin tone portamento mechanism broke after encountering a note-off event. + +Bundled plugins +- [Fix] <js> MIDI I/O Plugin: Fix potential crash while suspending. + +Misc +- [Imp] <js> MIDI pitch bend is now applied to samples outside of the pattern view as well (e.g. sample / instrument / comments tab). +- [Fix] <js> Improve scrolling support for laptops with precision touchpads (http://bugs.openmpt.org/view.php?id=1638). +- [Fix] <js> Clear find text boxes in keyboard configuration when manually switching categories dropdown to avoid inconsistent display. + +Third-Party Libraries +- [Imp] Update ancient (v2.1.1), Crypto++ (v8.8.0), FLAC (v1.4.3), unrar (v6.2.10) and zlib (v.1.3) + + +v1.31.03.00 (18 June 2023, revision 19401) +------------------------------------------ +Tree view +- [Fix] <js> Since OpenMPT 1.31.01.00, refreshing the tree view was much slower than necessary when an item in the file browser was selected. + +Pattern tab +- [Fix] <js> Interpolating a command with two independent nibble parameters caused a wrong result if the direction of interpolation differed between the two nibbles (tx NoobTracker). + +Sample tab +- [Fix] <js> Trying to load unsupported files could sometimes cause the currently loaded sample data in that slot to be removed even if the raw sample import dialog was going to be shown later. + +MOD +- [New] <js> Can now read modified 8-channel MOD files from the DOS game Aleshar - The World Of Ice. + +Other formats +- [Fix] <js> MED: Fixed possible crash with some malformed files. + +Misc +- [Mod] <jh> When updating portable installations, the update is now downloaded into the portable installation directory instead of the system's temporary directory, allowing to update several portable installations at the same time (http://bugs.openmpt.org/view.php?id=1702). +- [Fix] <js> Sustain point was disabled on soundfont drum keys with custom envelope, and envelope settings fro... [truncated message content] |
From: <sv...@op...> - 2025-03-28 21:21:51
|
Author: sagamusix Date: Fri Mar 28 22:21:43 2025 New Revision: 23103 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23103 Log: Merged revision(s) 23102 from trunk/OpenMPT: [Mod] Add inofficial FC13/FC14 file extension for Future Composer modules to supported extension table. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/soundlib/Tables.cpp Modified: branches/OpenMPT-1.32/soundlib/Tables.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/Tables.cpp Fri Mar 28 22:21:24 2025 (r23102) +++ branches/OpenMPT-1.32/soundlib/Tables.cpp Fri Mar 28 22:21:43 2025 (r23103) @@ -76,6 +76,8 @@ { UL_("EasyTrax"), "etx" }, { UL_("Farandole Composer"), "far" }, { UL_("Future Composer"), "fc" }, + { UL_("Future Composer"), "fc13" }, + { UL_("Future Composer"), "fc14" }, { UL_("FM Tracker"), "fmt" }, { UL_("ProTracker"), "fst" }, { UL_("Face The Music"), "ftm" }, |
From: <sv...@op...> - 2025-03-28 21:21:36
|
Author: sagamusix Date: Fri Mar 28 22:21:24 2025 New Revision: 23102 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23102 Log: [Mod] Add inofficial FC13/FC14 file extension for Future Composer modules to supported extension table. Modified: trunk/OpenMPT/soundlib/Tables.cpp Modified: trunk/OpenMPT/soundlib/Tables.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Tables.cpp Fri Mar 28 21:32:58 2025 (r23101) +++ trunk/OpenMPT/soundlib/Tables.cpp Fri Mar 28 22:21:24 2025 (r23102) @@ -76,6 +76,8 @@ { UL_("EasyTrax"), "etx" }, { UL_("Farandole Composer"), "far" }, { UL_("Future Composer"), "fc" }, + { UL_("Future Composer"), "fc13" }, + { UL_("Future Composer"), "fc14" }, { UL_("FM Tracker"), "fmt" }, { UL_("ProTracker"), "fst" }, { UL_("Face The Music"), "ftm" }, |
From: <sv...@op...> - 2025-03-28 20:33:54
|
Author: sagamusix Date: Fri Mar 28 21:32:58 2025 New Revision: 23101 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23101 Log: Merged revision(s) 23100 from trunk/OpenMPT: [Mod] Pattern tab: "Queue pattern" menu item contains a sub item, it doesn't open a dialog, so the menu item text should not end in an ellipsis. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/mptrack/Ctrl_seq.cpp Modified: branches/OpenMPT-1.32/mptrack/Ctrl_seq.cpp ============================================================================== --- branches/OpenMPT-1.32/mptrack/Ctrl_seq.cpp Fri Mar 28 21:32:42 2025 (r23100) +++ branches/OpenMPT-1.32/mptrack/Ctrl_seq.cpp Fri Mar 28 21:32:58 2025 (r23101) @@ -1185,7 +1185,7 @@ AppendMenu(menuQueue, MF_STRING, ID_QUEUE_AT_MEASURE_END, ih->GetKeyTextFromCommand(kcOrderlistQueueAtMeasureEnd, _T("Transition at end of current &measure"))); AppendMenu(menuQueue, MF_STRING, ID_QUEUE_AT_BEAT_END, ih->GetKeyTextFromCommand(kcOrderlistQueueAtBeatEnd, _T("Transition at end of current &beat"))); AppendMenu(menuQueue, MF_STRING, ID_QUEUE_AT_ROW_END, ih->GetKeyTextFromCommand(kcOrderlistQueueAtRowEnd, _T("Transition at end of current &row"))); - AppendMenu(hMenu, MF_POPUP, reinterpret_cast<UINT_PTR>(menuQueue), _T("&Queue Pattern...")); + AppendMenu(hMenu, MF_POPUP, reinterpret_cast<UINT_PTR>(menuQueue), _T("&Queue Pattern")); } AppendMenu(hMenu, MF_SEPARATOR, NULL, _T("")); |
From: <sv...@op...> - 2025-03-28 20:32:59
|
Author: sagamusix Date: Fri Mar 28 21:32:42 2025 New Revision: 23100 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23100 Log: [Mod] Pattern tab: "Queue pattern" menu item contains a sub item, it doesn't open a dialog, so the menu item text should not end in an ellipsis. Modified: trunk/OpenMPT/mptrack/Ctrl_seq.cpp Modified: trunk/OpenMPT/mptrack/Ctrl_seq.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_seq.cpp Fri Mar 28 20:06:11 2025 (r23099) +++ trunk/OpenMPT/mptrack/Ctrl_seq.cpp Fri Mar 28 21:32:42 2025 (r23100) @@ -1185,7 +1185,7 @@ AppendMenu(menuQueue, MF_STRING, ID_QUEUE_AT_MEASURE_END, ih->GetKeyTextFromCommand(kcOrderlistQueueAtMeasureEnd, _T("Transition at end of current &measure"))); AppendMenu(menuQueue, MF_STRING, ID_QUEUE_AT_BEAT_END, ih->GetKeyTextFromCommand(kcOrderlistQueueAtBeatEnd, _T("Transition at end of current &beat"))); AppendMenu(menuQueue, MF_STRING, ID_QUEUE_AT_ROW_END, ih->GetKeyTextFromCommand(kcOrderlistQueueAtRowEnd, _T("Transition at end of current &row"))); - AppendMenu(hMenu, MF_POPUP, reinterpret_cast<UINT_PTR>(menuQueue), _T("&Queue Pattern...")); + AppendMenu(hMenu, MF_POPUP, reinterpret_cast<UINT_PTR>(menuQueue), _T("&Queue Pattern")); } AppendMenu(hMenu, MF_SEPARATOR, NULL, _T("")); |
From: <sv...@op...> - 2025-03-28 19:06:32
|
Author: sagamusix Date: Fri Mar 28 20:06:11 2025 New Revision: 23099 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23099 Log: Merged revision(s) 23091 from trunk/OpenMPT: [Fix] Manual generator: Don't include Category pages. ........ Modified: branches/OpenMPT-1.28/ (props changed) branches/OpenMPT-1.28/mptrack/manual_generator/wiki.py Modified: branches/OpenMPT-1.28/mptrack/manual_generator/wiki.py ============================================================================== --- branches/OpenMPT-1.28/mptrack/manual_generator/wiki.py Fri Mar 28 20:05:52 2025 (r23098) +++ branches/OpenMPT-1.28/mptrack/manual_generator/wiki.py Fri Mar 28 20:06:11 2025 (r23099) @@ -85,6 +85,8 @@ """) for p in pages: + if(p.startswith("Category")): + continue content = urlopen(base_url + '/index.php?title=' + p + '&action=render').read().decode('UTF-8') # Download and replace image URLs content = re.sub(r' srcset=".+?"', '', content); @@ -158,6 +160,7 @@ toc_text = re.sub(r'<!--(.+?)-->', '', toc_page, flags = re.DOTALL) toc_text = re.sub(r'<div(.+?)>', '', toc_text, flags = re.DOTALL) toc_text = re.sub(r'</div>', '', toc_text, flags = re.DOTALL) +toc_text = re.sub(r'<a href="' + base_url_regex + '/Category:.*?>(.+?)</a>', '\\1', toc_text) toc_text = re.sub(r'<a href="' + base_url_regex + '/(.+?)".*?>(.+?)</a>', toc_parse, toc_text) toc_text = re.sub(r'<li> ([^<]+)$', toc_parse_chapter, toc_text, flags = re.MULTILINE) toc.write(toc_text) |
From: <sv...@op...> - 2025-03-28 19:06:14
|
Author: sagamusix Date: Fri Mar 28 20:05:52 2025 New Revision: 23098 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23098 Log: Merged revision(s) 23091 from trunk/OpenMPT: [Fix] Manual generator: Don't include Category pages. ........ Modified: branches/OpenMPT-1.29/ (props changed) branches/OpenMPT-1.29/mptrack/manual_generator/wiki.py Modified: branches/OpenMPT-1.29/mptrack/manual_generator/wiki.py ============================================================================== --- branches/OpenMPT-1.29/mptrack/manual_generator/wiki.py Fri Mar 28 20:05:10 2025 (r23097) +++ branches/OpenMPT-1.29/mptrack/manual_generator/wiki.py Fri Mar 28 20:05:52 2025 (r23098) @@ -85,6 +85,8 @@ """) for p in pages: + if(p.startswith("Category")): + continue content = urlopen(base_url + '/index.php?title=' + p + '&action=render').read().decode('UTF-8') # Download and replace image URLs content = re.sub(r' srcset=".+?"', '', content); @@ -158,6 +160,7 @@ toc_text = re.sub(r'<!--(.+?)-->', '', toc_page, flags = re.DOTALL) toc_text = re.sub(r'<div(.+?)>', '', toc_text, flags = re.DOTALL) toc_text = re.sub(r'</div>', '', toc_text, flags = re.DOTALL) +toc_text = re.sub(r'<a href="' + base_url_regex + '/Category:.*?>(.+?)</a>', '\\1', toc_text) toc_text = re.sub(r'<a href="' + base_url_regex + '/(.+?)".*?>(.+?)</a>', toc_parse, toc_text) toc_text = re.sub(r'<li>([^<]+)$', toc_parse_chapter, toc_text, flags = re.MULTILINE) toc.write(toc_text) |
From: <sv...@op...> - 2025-03-28 19:05:40
|
Author: sagamusix Date: Fri Mar 28 20:05:10 2025 New Revision: 23097 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23097 Log: Merged revision(s) 23091 from trunk/OpenMPT: [Fix] Manual generator: Don't include Category pages. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/mptrack/manual_generator/wiki.py Modified: branches/OpenMPT-1.30/mptrack/manual_generator/wiki.py ============================================================================== --- branches/OpenMPT-1.30/mptrack/manual_generator/wiki.py Fri Mar 28 20:04:52 2025 (r23096) +++ branches/OpenMPT-1.30/mptrack/manual_generator/wiki.py Fri Mar 28 20:05:10 2025 (r23097) @@ -85,6 +85,8 @@ """) for p in pages: + if(p.startswith("Category")): + continue content = urlopen(base_url + '/index.php?title=' + p + '&action=render').read().decode('UTF-8') # Download and replace image URLs content = re.sub(r' srcset=".+?"', '', content); @@ -158,6 +160,7 @@ toc_text = re.sub(r'<!--(.+?)-->', '', toc_page, flags = re.DOTALL) toc_text = re.sub(r'<div(.+?)>', '', toc_text, flags = re.DOTALL) toc_text = re.sub(r'</div>', '', toc_text, flags = re.DOTALL) +toc_text = re.sub(r'<a href="' + base_url_regex + '/Category:.*?>(.+?)</a>', '\\1', toc_text) toc_text = re.sub(r'<a href="' + base_url_regex + '/(.+?)".*?>(.+?)</a>', toc_parse, toc_text) toc_text = re.sub(r'<li>([^<]+)$', toc_parse_chapter, toc_text, flags = re.MULTILINE) toc.write(toc_text) |
From: <sv...@op...> - 2025-03-28 19:05:14
|
Author: sagamusix Date: Fri Mar 28 20:04:52 2025 New Revision: 23096 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23096 Log: Merged revision(s) 23091 from trunk/OpenMPT: [Fix] Manual generator: Don't include Category pages. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/mptrack/manual_generator/wiki.py Modified: branches/OpenMPT-1.31/mptrack/manual_generator/wiki.py ============================================================================== --- branches/OpenMPT-1.31/mptrack/manual_generator/wiki.py Fri Mar 28 19:55:45 2025 (r23095) +++ branches/OpenMPT-1.31/mptrack/manual_generator/wiki.py Fri Mar 28 20:04:52 2025 (r23096) @@ -86,6 +86,8 @@ """) for p in pages: + if(p.startswith("Category")): + continue content = urlopen(base_url + '/index.php?title=' + p + '&action=render').read().decode('UTF-8') # Download and replace image URLs content = re.sub(r' srcset=".+?"', '', content); @@ -159,6 +161,7 @@ toc_text = re.sub(r'<!--(.+?)-->', '', toc_page, flags = re.DOTALL) toc_text = re.sub(r'<div(.+?)>', '', toc_text, flags = re.DOTALL) toc_text = re.sub(r'</div>', '', toc_text, flags = re.DOTALL) +toc_text = re.sub(r'<a href="' + base_url_regex + '/Category:.*?>(.+?)</a>', '\\1', toc_text) toc_text = re.sub(r'<a href="' + base_url_regex + '/(.+?)".*?>(.+?)</a>', toc_parse, toc_text) toc_text = re.sub(r'<li>([^<]+)$', toc_parse_chapter, toc_text, flags = re.MULTILINE) toc.write(toc_text) |
From: <sv...@op...> - 2025-03-28 18:55:57
|
Author: manx Date: Fri Mar 28 19:55:45 2025 New Revision: 23095 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23095 Log: Merged revision(s) 23094 from trunk/OpenMPT: [Doc] Update release_branches.md. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/doc/release_branches.md Modified: branches/OpenMPT-1.32/doc/release_branches.md ============================================================================== --- branches/OpenMPT-1.32/doc/release_branches.md Fri Mar 28 19:55:18 2025 (r23094) +++ branches/OpenMPT-1.32/doc/release_branches.md Fri Mar 28 19:55:45 2025 (r23095) @@ -40,12 +40,13 @@ 1. set OpenMPT version in `common/versionNumber.h` to `1.$VER.00.$MINORMINOR+1` 2. run `build/update_libopenmpt_version.sh bumpprerel` -10. update announcement/changelog URLs for test builds in branch: +10. update CI branch configuration in new branch +11. update announcement/changelog URLs for test builds in branch: `installer/generate_update_json.py` and `generate_update_json_retro.py`: * "trunk/OpenMPT" -> "banches/OpenMPT-1.32" -11. update https://builds.openmpt.org/builds/ -12. update buildbot scripts that copy OpenMPT update information into place -13. update branch release date on libopenmpt trunk changelog +12. update https://builds.openmpt.org/builds/ +13. update buildbot scripts that copy OpenMPT update information into place +14. update branch release date on libopenmpt trunk changelog unclear: * adjust buildbot update management script |
From: <sv...@op...> - 2025-03-28 18:55:25
|
Author: manx Date: Fri Mar 28 19:55:18 2025 New Revision: 23094 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23094 Log: [Doc] Update release_branches.md. Modified: trunk/OpenMPT/doc/release_branches.md Modified: trunk/OpenMPT/doc/release_branches.md ============================================================================== --- trunk/OpenMPT/doc/release_branches.md Fri Mar 28 19:53:45 2025 (r23093) +++ trunk/OpenMPT/doc/release_branches.md Fri Mar 28 19:55:18 2025 (r23094) @@ -40,12 +40,13 @@ 1. set OpenMPT version in `common/versionNumber.h` to `1.$VER.00.$MINORMINOR+1` 2. run `build/update_libopenmpt_version.sh bumpprerel` -10. update announcement/changelog URLs for test builds in branch: +10. update CI branch configuration in new branch +11. update announcement/changelog URLs for test builds in branch: `installer/generate_update_json.py` and `generate_update_json_retro.py`: * "trunk/OpenMPT" -> "banches/OpenMPT-1.32" -11. update https://builds.openmpt.org/builds/ -12. update buildbot scripts that copy OpenMPT update information into place -13. update branch release date on libopenmpt trunk changelog +12. update https://builds.openmpt.org/builds/ +13. update buildbot scripts that copy OpenMPT update information into place +14. update branch release date on libopenmpt trunk changelog unclear: * adjust buildbot update management script |
From: <sv...@op...> - 2025-03-28 18:54:08
|
Author: manx Date: Fri Mar 28 19:53:45 2025 New Revision: 23093 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23093 Log: [Var] CI: GitHub: Adjust branch name. Modified: branches/OpenMPT-1.32/.github/workflows/Cygwin-Makefile.yml branches/OpenMPT-1.32/.github/workflows/Fedora-Autotools.yml branches/OpenMPT-1.32/.github/workflows/Fedora-Cross-MinGW.yml branches/OpenMPT-1.32/.github/workflows/Fedora-Makefile.yml branches/OpenMPT-1.32/.github/workflows/FreeBSD-Autotools.yml branches/OpenMPT-1.32/.github/workflows/FreeBSD-Makefile.yml branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml branches/OpenMPT-1.32/.github/workflows/NetBSD-Autotools.yml branches/OpenMPT-1.32/.github/workflows/NetBSD-Makefile.yml branches/OpenMPT-1.32/.github/workflows/OpenBSD-Autotools.yml branches/OpenMPT-1.32/.github/workflows/OpenBSD-Makefile.yml branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml branches/OpenMPT-1.32/.github/workflows/Ubuntu-Autotools.yml branches/OpenMPT-1.32/.github/workflows/Ubuntu-Makefile.yml branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Modified: branches/OpenMPT-1.32/.github/workflows/Cygwin-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/Cygwin-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/Cygwin-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] concurrency: group: ${{ github.ref }}-${{ github.workflow }} Modified: branches/OpenMPT-1.32/.github/workflows/Fedora-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/Fedora-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/Fedora-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] concurrency: group: ${{ github.ref }}-${{ github.workflow }} Modified: branches/OpenMPT-1.32/.github/workflows/Fedora-Cross-MinGW.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/Fedora-Cross-MinGW.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/Fedora-Cross-MinGW.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/Fedora-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/Fedora-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/Fedora-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/FreeBSD-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/FreeBSD-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/FreeBSD-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/FreeBSD-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/FreeBSD-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/FreeBSD-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/MSYS2-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile-Clang.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/MSYS2-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/NetBSD-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/NetBSD-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/NetBSD-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/NetBSD-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/NetBSD-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/NetBSD-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/OpenBSD-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/OpenBSD-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/OpenBSD-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/OpenBSD-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/OpenBSD-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/OpenBSD-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/RHEL-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/RHEL-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/Ubuntu-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/Ubuntu-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/Ubuntu-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/Ubuntu-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/Ubuntu-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/Ubuntu-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/macOS-Autotools.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: Modified: branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml ============================================================================== --- branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Fri Mar 28 19:27:48 2025 (r23092) +++ branches/OpenMPT-1.32/.github/workflows/macOS-Makefile.yml Fri Mar 28 19:53:45 2025 (r23093) @@ -3,9 +3,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.32 ] jobs: build: |