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
(46) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2025-06-02 19:59:53
|
Author: sagamusix Date: Mon Jun 2 21:59:42 2025 New Revision: 23319 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23319 Log: Merged revision(s) 23311-23312, 23318 from trunk/OpenMPT: [Imp] Pattern tab: Add tooltips to prev/next order buttons. ........ [Mod] S3M: Allow the last character of sample names to be read. This should normally be a null-terminator, but ModPlug Tracker used to allow writing into this character. ........ [Mod] Add TCB to list of recognized file extensions, and report it as the canonical extension for TCB Tracker files. TCB Tracker itself expects a .MOD file extension, but both ModLand and Fujiology use .TCB instead, and reporting it as the canonical file extension also makes it easier to tell TCB Tracker files apart from regular MOD files. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch-retro.iss branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch.iss branches/OpenMPT-1.32/installer/filetypes-multi-arch-retro.iss branches/OpenMPT-1.32/installer/filetypes-multi-arch.iss branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp branches/OpenMPT-1.32/soundlib/Load_s3m.cpp branches/OpenMPT-1.32/soundlib/Load_tcb.cpp branches/OpenMPT-1.32/soundlib/Tables.cpp Modified: branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch-retro.iss ============================================================================== --- branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch-retro.iss Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch-retro.iss Mon Jun 2 21:59:42 2025 (r23319) @@ -96,6 +96,7 @@ Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".symmod"; ValueData: {#OpenMPTFile}; Components: {#Component} +Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".tcb"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".unic"; ValueData: {#OpenMPTFile}; Components: {#Component} Modified: branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch.iss ============================================================================== --- branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch.iss Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/installer/filetypes-multi-arch-per-arch.iss Mon Jun 2 21:59:42 2025 (r23319) @@ -96,6 +96,7 @@ Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".symmod"; ValueData: {#OpenMPTFile}; Components: {#Component} +Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".tcb"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".unic"; ValueData: {#OpenMPTFile}; Components: {#Component} Modified: branches/OpenMPT-1.32/installer/filetypes-multi-arch-retro.iss ============================================================================== --- branches/OpenMPT-1.32/installer/filetypes-multi-arch-retro.iss Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/installer/filetypes-multi-arch-retro.iss Mon Jun 2 21:59:42 2025 (r23319) @@ -71,6 +71,7 @@ Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stx"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".symmod"; ValueData: "" +Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".tcb"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".unic"; ValueData: "" Modified: branches/OpenMPT-1.32/installer/filetypes-multi-arch.iss ============================================================================== --- branches/OpenMPT-1.32/installer/filetypes-multi-arch.iss Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/installer/filetypes-multi-arch.iss Mon Jun 2 21:59:42 2025 (r23319) @@ -71,6 +71,7 @@ Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stx"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".symmod"; ValueData: "" +Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".tcb"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".unic"; ValueData: "" Modified: branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp ============================================================================== --- branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/mptrack/Ctrl_pat.cpp Mon Jun 2 21:59:42 2025 (r23319) @@ -1413,6 +1413,9 @@ if(!GetDlgItem(id)->IsWindowEnabled()) s = _T("Multiple sequences are only supported in the MPTM format."); break; + + case IDC_BUTTON1: s = _T("Next Pattern"); cmd = kcNextOrder; break; + case IDC_BUTTON2: s = _T("Previous Pattern"); cmd = kcPrevOrder; break; } if(cmd != kcNull) Modified: branches/OpenMPT-1.32/soundlib/Load_s3m.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/Load_s3m.cpp Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/soundlib/Load_s3m.cpp Mon Jun 2 21:59:42 2025 (r23319) @@ -569,7 +569,8 @@ } sampleHeader.ConvertToMPT(Samples[smp + 1], isST3); - m_szNames[smp + 1] = mpt::String::ReadBuf(mpt::String::nullTerminated, sampleHeader.name); + // Old ModPlug Tracker allowed to write into the last byte reserved for the null terminator + m_szNames[smp + 1] = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, sampleHeader.name); if(sampleHeader.sampleType < S3MSampleHeader::typeAdMel) { Modified: branches/OpenMPT-1.32/soundlib/Load_tcb.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/Load_tcb.cpp Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/soundlib/Load_tcb.cpp Mon Jun 2 21:59:42 2025 (r23319) @@ -183,7 +183,7 @@ } m_modFormat.formatName = newFormat ? UL_("TCB Tracker") : UL_("TCB Tracker (Beta Format)"); - m_modFormat.type = UL_("mod"); + m_modFormat.type = UL_("tcb"); // Official file extension is MOD (which is the only extension TCB Tracker accepts), but both ModLand and Fujiology use TCB instead, and this makes it easier to differentiate the format for library users... m_modFormat.madeWithTracker = newFormat ? UL_("TCB Tracker 1.0 - 2.0") : UL_("TCB Tracker Beta"); m_modFormat.charset = mpt::Charset::AtariST; Modified: branches/OpenMPT-1.32/soundlib/Tables.cpp ============================================================================== --- branches/OpenMPT-1.32/soundlib/Tables.cpp Mon Jun 2 21:59:07 2025 (r23318) +++ branches/OpenMPT-1.32/soundlib/Tables.cpp Mon Jun 2 21:59:42 2025 (r23319) @@ -112,6 +112,7 @@ { UL_("Scream Tracker Music Interface Kit"), "stx" }, { UL_("Soundtracker Pro II"), "stp" }, { UL_("Symphonie"), "symmod"}, + { UL_("TCB Tracker"), "tcb" }, { UL_("Game Music Creator"), "gmc" }, { UL_("Graoumf Tracker"), "gtk" }, { UL_("Graoumf Tracker 1 / 2"), "gt2" }, |
From: <sv...@op...> - 2025-06-02 19:59:19
|
Author: sagamusix Date: Mon Jun 2 21:59:07 2025 New Revision: 23318 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23318 Log: [Mod] Add TCB to list of recognized file extensions, and report it as the canonical extension for TCB Tracker files. TCB Tracker itself expects a .MOD file extension, but both ModLand and Fujiology use .TCB instead, and reporting it as the canonical file extension also makes it easier to tell TCB Tracker files apart from regular MOD files. Modified: trunk/OpenMPT/installer/filetypes-multi-arch-per-arch-retro.iss trunk/OpenMPT/installer/filetypes-multi-arch-per-arch.iss trunk/OpenMPT/installer/filetypes-multi-arch-retro.iss trunk/OpenMPT/installer/filetypes-multi-arch.iss trunk/OpenMPT/soundlib/Load_tcb.cpp trunk/OpenMPT/soundlib/Tables.cpp Modified: trunk/OpenMPT/installer/filetypes-multi-arch-per-arch-retro.iss ============================================================================== --- trunk/OpenMPT/installer/filetypes-multi-arch-per-arch-retro.iss Mon Jun 2 21:33:54 2025 (r23317) +++ trunk/OpenMPT/installer/filetypes-multi-arch-per-arch-retro.iss Mon Jun 2 21:59:07 2025 (r23318) @@ -96,6 +96,7 @@ Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".symmod"; ValueData: {#OpenMPTFile}; Components: {#Component} +Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".tcb"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKLM; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".unic"; ValueData: {#OpenMPTFile}; Components: {#Component} Modified: trunk/OpenMPT/installer/filetypes-multi-arch-per-arch.iss ============================================================================== --- trunk/OpenMPT/installer/filetypes-multi-arch-per-arch.iss Mon Jun 2 21:33:54 2025 (r23317) +++ trunk/OpenMPT/installer/filetypes-multi-arch-per-arch.iss Mon Jun 2 21:59:07 2025 (r23318) @@ -96,6 +96,7 @@ Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stp"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".stx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".symmod"; ValueData: {#OpenMPTFile}; Components: {#Component} +Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".tcb"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".ult"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".umx"; ValueData: {#OpenMPTFile}; Components: {#Component} Root: HKA; Subkey: "SOFTWARE\Clients\Media\{#OpenMPTarch}\Capabilities\FileAssociations"; ValueType: string; ValueName: ".unic"; ValueData: {#OpenMPTFile}; Components: {#Component} Modified: trunk/OpenMPT/installer/filetypes-multi-arch-retro.iss ============================================================================== --- trunk/OpenMPT/installer/filetypes-multi-arch-retro.iss Mon Jun 2 21:33:54 2025 (r23317) +++ trunk/OpenMPT/installer/filetypes-multi-arch-retro.iss Mon Jun 2 21:59:07 2025 (r23318) @@ -71,6 +71,7 @@ Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stx"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".symmod"; ValueData: "" +Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".tcb"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: "" Root: HKLM; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".unic"; ValueData: "" Modified: trunk/OpenMPT/installer/filetypes-multi-arch.iss ============================================================================== --- trunk/OpenMPT/installer/filetypes-multi-arch.iss Mon Jun 2 21:33:54 2025 (r23317) +++ trunk/OpenMPT/installer/filetypes-multi-arch.iss Mon Jun 2 21:59:07 2025 (r23318) @@ -71,6 +71,7 @@ Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stp"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".stx"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".symmod"; ValueData: "" +Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".tcb"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".ult"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".umx"; ValueData: "" Root: HKA; Subkey: "SOFTWARE\Classes\Applications\OpenMPT.exe\SupportedTypes"; ValueType: string; ValueName: ".unic"; ValueData: "" Modified: trunk/OpenMPT/soundlib/Load_tcb.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_tcb.cpp Mon Jun 2 21:33:54 2025 (r23317) +++ trunk/OpenMPT/soundlib/Load_tcb.cpp Mon Jun 2 21:59:07 2025 (r23318) @@ -183,7 +183,7 @@ } m_modFormat.formatName = newFormat ? UL_("TCB Tracker") : UL_("TCB Tracker (Beta Format)"); - m_modFormat.type = UL_("mod"); + m_modFormat.type = UL_("tcb"); // Official file extension is MOD (which is the only extension TCB Tracker accepts), but both ModLand and Fujiology use TCB instead, and this makes it easier to differentiate the format for library users... m_modFormat.madeWithTracker = newFormat ? UL_("TCB Tracker 1.0 - 2.0") : UL_("TCB Tracker Beta"); m_modFormat.charset = mpt::Charset::AtariST; Modified: trunk/OpenMPT/soundlib/Tables.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Tables.cpp Mon Jun 2 21:33:54 2025 (r23317) +++ trunk/OpenMPT/soundlib/Tables.cpp Mon Jun 2 21:59:07 2025 (r23318) @@ -112,6 +112,7 @@ { UL_("Scream Tracker Music Interface Kit"), "stx" }, { UL_("Soundtracker Pro II"), "stp" }, { UL_("Symphonie"), "symmod"}, + { UL_("TCB Tracker"), "tcb" }, { UL_("Game Music Creator"), "gmc" }, { UL_("Graoumf Tracker"), "gtk" }, { UL_("Graoumf Tracker 1 / 2"), "gt2" }, |
From: <sv...@op...> - 2025-06-02 19:34:06
|
Author: manx Date: Mon Jun 2 21:33:54 2025 New Revision: 23317 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23317 Log: [Fix] build: CI: GitHub: CPA: Haiku: Autotools: Actually disable it. Modified: trunk/OpenMPT/.github/workflows/Haiku-Autotools.yml Modified: trunk/OpenMPT/.github/workflows/Haiku-Autotools.yml ============================================================================== --- trunk/OpenMPT/.github/workflows/Haiku-Autotools.yml Mon Jun 2 20:09:16 2025 (r23316) +++ trunk/OpenMPT/.github/workflows/Haiku-Autotools.yml Mon Jun 2 21:33:54 2025 (r23317) @@ -21,6 +21,9 @@ runs-on: ubuntu-24.04 + # disable due to <https://github.com/cross-platform-actions/action/issues/103> and <https://github.com/cross-platform-actions/action/issues/104> + if: false + steps: - name: Checkout uses: actions/checkout@v4 |
From: <sv...@op...> - 2025-06-02 18:09:28
|
Author: manx Date: Mon Jun 2 20:09:16 2025 New Revision: 23316 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23316 Log: Merged revision(s) 23313 from trunk/OpenMPT: [Ref] mpt/random/device.hpp: Fix typo. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/src/mpt/random/device.hpp Modified: branches/OpenMPT-1.30/src/mpt/random/device.hpp ============================================================================== --- branches/OpenMPT-1.30/src/mpt/random/device.hpp Mon Jun 2 20:08:54 2025 (r23315) +++ branches/OpenMPT-1.30/src/mpt/random/device.hpp Mon Jun 2 20:09:16 2025 (r23316) @@ -40,26 +40,26 @@ template <typename T> -struct default_radom_seed_hash { +struct default_random_seed_hash { }; template <> -struct default_radom_seed_hash<uint8> { +struct default_random_seed_hash<uint8> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint16> { +struct default_random_seed_hash<uint16> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint32> { +struct default_random_seed_hash<uint32> { using type = mpt::crc32c; }; template <> -struct default_radom_seed_hash<uint64> { +struct default_random_seed_hash<uint64> { using type = mpt::crc64_jones; }; @@ -74,7 +74,7 @@ // would be a hash function with proper avalanche characteristics or a block // or stream cipher with any pre-choosen random key and IV. The only aspect we // really need here is whitening of the bits. - typename mpt::default_radom_seed_hash<T>::type hash; + typename mpt::default_random_seed_hash<T>::type hash; { uint64be time; |
From: <sv...@op...> - 2025-06-02 18:09:01
|
Author: manx Date: Mon Jun 2 20:08:54 2025 New Revision: 23315 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23315 Log: Merged revision(s) 23313 from trunk/OpenMPT: [Ref] mpt/random/device.hpp: Fix typo. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/src/mpt/random/device.hpp Modified: branches/OpenMPT-1.31/src/mpt/random/device.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/random/device.hpp Mon Jun 2 20:08:34 2025 (r23314) +++ branches/OpenMPT-1.31/src/mpt/random/device.hpp Mon Jun 2 20:08:54 2025 (r23315) @@ -45,26 +45,26 @@ template <typename T> -struct default_radom_seed_hash { +struct default_random_seed_hash { }; template <> -struct default_radom_seed_hash<uint8> { +struct default_random_seed_hash<uint8> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint16> { +struct default_random_seed_hash<uint16> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint32> { +struct default_random_seed_hash<uint32> { using type = mpt::crc32c; }; template <> -struct default_radom_seed_hash<uint64> { +struct default_random_seed_hash<uint64> { using type = mpt::crc64_jones; }; @@ -79,7 +79,7 @@ // would be a hash function with proper avalanche characteristics or a block // or stream cipher with any pre-choosen random key and IV. The only aspect we // really need here is whitening of the bits. - typename mpt::default_radom_seed_hash<T>::type hash; + typename mpt::default_random_seed_hash<T>::type hash; #if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) { |
From: <sv...@op...> - 2025-06-02 18:08:45
|
Author: manx Date: Mon Jun 2 20:08:34 2025 New Revision: 23314 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23314 Log: Merged revision(s) 23313 from trunk/OpenMPT: [Ref] mpt/random/device.hpp: Fix typo. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/src/mpt/random/device.hpp Modified: branches/OpenMPT-1.32/src/mpt/random/device.hpp ============================================================================== --- branches/OpenMPT-1.32/src/mpt/random/device.hpp Mon Jun 2 20:08:13 2025 (r23313) +++ branches/OpenMPT-1.32/src/mpt/random/device.hpp Mon Jun 2 20:08:34 2025 (r23314) @@ -45,26 +45,26 @@ template <typename T> -struct default_radom_seed_hash { +struct default_random_seed_hash { }; template <> -struct default_radom_seed_hash<uint8> { +struct default_random_seed_hash<uint8> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint16> { +struct default_random_seed_hash<uint16> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint32> { +struct default_random_seed_hash<uint32> { using type = mpt::crc32c; }; template <> -struct default_radom_seed_hash<uint64> { +struct default_random_seed_hash<uint64> { using type = mpt::crc64_jones; }; @@ -79,7 +79,7 @@ // would be a hash function with proper avalanche characteristics or a block // or stream cipher with any pre-choosen random key and IV. The only aspect we // really need here is whitening of the bits. - typename mpt::default_radom_seed_hash<T>::type hash; + typename mpt::default_random_seed_hash<T>::type hash; #if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) { |
From: <sv...@op...> - 2025-06-02 18:08:25
|
Author: manx Date: Mon Jun 2 20:08:13 2025 New Revision: 23313 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23313 Log: [Ref] mpt/random/device.hpp: Fix typo. Modified: trunk/OpenMPT/src/mpt/random/device.hpp Modified: trunk/OpenMPT/src/mpt/random/device.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/random/device.hpp Mon Jun 2 18:28:34 2025 (r23312) +++ trunk/OpenMPT/src/mpt/random/device.hpp Mon Jun 2 20:08:13 2025 (r23313) @@ -45,26 +45,26 @@ template <typename T> -struct default_radom_seed_hash { +struct default_random_seed_hash { }; template <> -struct default_radom_seed_hash<uint8> { +struct default_random_seed_hash<uint8> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint16> { +struct default_random_seed_hash<uint16> { using type = mpt::crc16; }; template <> -struct default_radom_seed_hash<uint32> { +struct default_random_seed_hash<uint32> { using type = mpt::crc32c; }; template <> -struct default_radom_seed_hash<uint64> { +struct default_random_seed_hash<uint64> { using type = mpt::crc64_jones; }; @@ -79,7 +79,7 @@ // would be a hash function with proper avalanche characteristics or a block // or stream cipher with any pre-choosen random key and IV. The only aspect we // really need here is whitening of the bits. - typename mpt::default_radom_seed_hash<T>::type hash; + typename mpt::default_random_seed_hash<T>::type hash; #if !defined(MPT_LIBCXX_QUIRK_NO_CHRONO) { |
From: <sv...@op...> - 2025-06-02 16:29:06
|
Author: sagamusix Date: Mon Jun 2 18:28:34 2025 New Revision: 23312 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23312 Log: [Mod] S3M: Allow the last character of sample names to be read. This should normally be a null-terminator, but ModPlug Tracker used to allow writing into this character. Modified: trunk/OpenMPT/soundlib/Load_s3m.cpp Modified: trunk/OpenMPT/soundlib/Load_s3m.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_s3m.cpp Mon Jun 2 18:27:51 2025 (r23311) +++ trunk/OpenMPT/soundlib/Load_s3m.cpp Mon Jun 2 18:28:34 2025 (r23312) @@ -569,7 +569,8 @@ } sampleHeader.ConvertToMPT(Samples[smp + 1], isST3); - m_szNames[smp + 1] = mpt::String::ReadBuf(mpt::String::nullTerminated, sampleHeader.name); + // Old ModPlug Tracker allowed to write into the last byte reserved for the null terminator + m_szNames[smp + 1] = mpt::String::ReadBuf(mpt::String::maybeNullTerminated, sampleHeader.name); if(sampleHeader.sampleType < S3MSampleHeader::typeAdMel) { |
From: <sv...@op...> - 2025-06-02 16:27:57
|
Author: sagamusix Date: Mon Jun 2 18:27:51 2025 New Revision: 23311 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23311 Log: [Imp] Pattern tab: Add tooltips to prev/next order buttons. Modified: trunk/OpenMPT/mptrack/Ctrl_pat.cpp Modified: trunk/OpenMPT/mptrack/Ctrl_pat.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.cpp Mon Jun 2 17:39:45 2025 (r23310) +++ trunk/OpenMPT/mptrack/Ctrl_pat.cpp Mon Jun 2 18:27:51 2025 (r23311) @@ -1413,6 +1413,9 @@ if(!GetDlgItem(id)->IsWindowEnabled()) s = _T("Multiple sequences are only supported in the MPTM format."); break; + + case IDC_BUTTON1: s = _T("Next Pattern"); cmd = kcNextOrder; break; + case IDC_BUTTON2: s = _T("Previous Pattern"); cmd = kcPrevOrder; break; } if(cmd != kcNull) |
From: <sv...@op...> - 2025-06-02 15:39:51
|
Author: manx Date: Mon Jun 2 17:39:45 2025 New Revision: 23310 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23310 Log: [Mod] OpenMPT: Version is now 1.33.00.03 Modified: trunk/OpenMPT/common/versionNumber.h Modified: trunk/OpenMPT/common/versionNumber.h ============================================================================== --- trunk/OpenMPT/common/versionNumber.h Mon Jun 2 17:39:12 2025 (r23309) +++ trunk/OpenMPT/common/versionNumber.h Mon Jun 2 17:39:45 2025 (r23310) @@ -16,4 +16,4 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 33 #define VER_MINOR 00 -#define VER_MINORMINOR 02 +#define VER_MINORMINOR 03 |
From: <sv...@op...> - 2025-06-02 15:39:25
|
Author: manx Date: Mon Jun 2 17:39:12 2025 New Revision: 23309 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23309 Log: [New] Installer: Add ARM64EC binaries. These are not 100% functional yet due to missing proper handling of plugin architectures and the OpenMPT architecture itself. [Mod] CI: AppVeyor: Add ARM64EC. Modified: trunk/OpenMPT/.appveyor.yml trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py trunk/OpenMPT/build/build_openmpt_release.cmd trunk/OpenMPT/installer/filetypes-multi-arch.iss trunk/OpenMPT/installer/generate_update_json.py trunk/OpenMPT/installer/install-multi-arch.iss Modified: trunk/OpenMPT/.appveyor.yml ============================================================================== --- trunk/OpenMPT/.appveyor.yml Mon Jun 2 16:32:37 2025 (r23308) +++ trunk/OpenMPT/.appveyor.yml Mon Jun 2 17:39:12 2025 (r23309) @@ -35,18 +35,18 @@ MPT_APPVEYOR_TARGET: win10 MPT_APPVEYOR_ARCH: amd64 MPT_APPVEYOR_ARCH_CONFIG: x64 - - job_name: VS2022 Win8 arm - job_group: Builds - MPT_APPVEYOR_VS: vs2022 - MPT_APPVEYOR_TARGET: win8 - MPT_APPVEYOR_ARCH: arm - MPT_APPVEYOR_ARCH_CONFIG: ARM - job_name: VS2022 Win10 arm64 job_group: Builds MPT_APPVEYOR_VS: vs2022 MPT_APPVEYOR_TARGET: win10 MPT_APPVEYOR_ARCH: arm64 MPT_APPVEYOR_ARCH_CONFIG: ARM64 + - job_name: VS2022 Win10 arm64ec + job_group: Builds + MPT_APPVEYOR_VS: vs2022 + MPT_APPVEYOR_TARGET: win10 + MPT_APPVEYOR_ARCH: arm64ec + MPT_APPVEYOR_ARCH_CONFIG: ARM64EC - job_name: VS2022 Win7 x86 job_group: Builds MPT_APPVEYOR_VS: vs2022 @@ -59,6 +59,12 @@ MPT_APPVEYOR_TARGET: win7 MPT_APPVEYOR_ARCH: amd64 MPT_APPVEYOR_ARCH_CONFIG: x64 + - job_name: VS2022 Win8 arm + job_group: Builds + MPT_APPVEYOR_VS: vs2022 + MPT_APPVEYOR_TARGET: win8 + MPT_APPVEYOR_ARCH: arm + MPT_APPVEYOR_ARCH_CONFIG: ARM - job_name: Package job_depends_on: Builds @@ -177,10 +183,11 @@ } Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 x86' Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 amd64' - Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win8 arm' Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 arm64' + Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win10 arm64ec' Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win7 x86' Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win7 amd64' + Get-AppVeyorArtifacts OpenMPT openmpt -Token $env:OPENMPT_APPVEYOR_API_TOKEN -JobName 'VS2022 Win8 arm' - build\tools\7zip\7z.exe x -y bin\*.7z build_script: Modified: trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py ============================================================================== --- trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py Mon Jun 2 16:32:37 2025 (r23308) +++ trunk/OpenMPT/build/auto/build_openmpt_release_packages_multiarch.py Mon Jun 2 17:39:12 2025 (r23309) @@ -72,6 +72,7 @@ openmpt_zip_amd64_legacy_basepath = "installer/OpenMPT-" + openmpt_version + "-amd64-legacy/" openmpt_zip_arm_legacy_basepath = "installer/OpenMPT-" + openmpt_version + "-arm-legacy/" openmpt_zip_arm64_basepath = "installer/OpenMPT-" + openmpt_version + "-arm64/" +openmpt_zip_arm64ec_basepath = "installer/OpenMPT-" + openmpt_version + "-arm64ec/" openmpt_zip_symbols_basepath = "installer/OpenMPT-" + openmpt_version + "-symbols/" openmpt_zip_x86_path = openmpt_zip_x86_basepath openmpt_zip_x86_legacy_path = openmpt_zip_x86_legacy_basepath @@ -79,6 +80,7 @@ openmpt_zip_amd64_legacy_path = openmpt_zip_amd64_legacy_basepath openmpt_zip_arm_legacy_path = openmpt_zip_arm_legacy_basepath openmpt_zip_arm64_path = openmpt_zip_arm64_basepath +openmpt_zip_arm64ec_path = openmpt_zip_arm64ec_basepath openmpt_zip_symbols_path = openmpt_zip_symbols_basepath def copy_file(from_path, to_path, filename): @@ -126,6 +128,7 @@ remove_dir(openmpt_zip_amd64_basepath) remove_dir(openmpt_zip_arm_legacy_basepath) remove_dir(openmpt_zip_arm64_basepath) +remove_dir(openmpt_zip_arm64ec_basepath) remove_dir(openmpt_zip_symbols_basepath) remove_file("installer/" + openmpt_version_name + "-Setup.exe") @@ -142,6 +145,8 @@ remove_file("installer/" + openmpt_version_name + "-portable-arm-legacy.update.json") remove_file("installer/" + openmpt_version_name + "-portable-arm64.zip") remove_file("installer/" + openmpt_version_name + "-portable-arm64.update.json") +remove_file("installer/" + openmpt_version_name + "-portable-arm64ec.zip") +remove_file("installer/" + openmpt_version_name + "-portable-arm64ec.update.json") remove_file("installer/" + openmpt_version_name + "-symbols.7z") remove_file("installer/" + openmpt_version_name + "-Setup.exe.digests") remove_file("installer/" + openmpt_version_name + "-portable-x86.zip.digests") @@ -150,6 +155,7 @@ remove_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.zip.digests") remove_file("installer/" + openmpt_version_name + "-portable-arm-legacy.zip.digests") remove_file("installer/" + openmpt_version_name + "-portable-arm64.zip.digests") +remove_file("installer/" + openmpt_version_name + "-portable-arm64ec.zip.digests") remove_file("installer/" + openmpt_version_name + "-symbols.7z.digests") remove_file("installer/" + openmpt_version_name + "-update.json") @@ -177,7 +183,7 @@ if(signBinaries): print("Signing binaries...") - signDirs = [sourcePathModern + "x86/", sourcePathLegacy + "x86/", sourcePathModern + "amd64/", sourcePathLegacy + "amd64/", sourcePathLegacyARM + "arm/", sourcePathModern + "arm64/"] + signDirs = [sourcePathModern + "x86/", sourcePathLegacy + "x86/", sourcePathModern + "amd64/", sourcePathLegacy + "amd64/", sourcePathLegacyARM + "arm/", sourcePathModern + "arm64/", sourcePathModern + "arm64ec/"] signFiles = [] for dir in signDirs: signFiles = signFiles + list_binaries(dir) @@ -194,6 +200,7 @@ copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_x86_path) copy_pluginbridge(sourcePathLegacyARM, "arm", openmpt_zip_x86_path) copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_x86_path) +copy_pluginbridge(sourcePathModern, "arm64ec", openmpt_zip_x86_path) Path(openmpt_zip_x86_path + "OpenMPT.portable").touch() print("Copying x86 legacy binaries...") shutil.rmtree(openmpt_zip_x86_legacy_basepath, ignore_errors=True) @@ -208,6 +215,7 @@ copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_amd64_path) copy_pluginbridge(sourcePathLegacyARM, "arm", openmpt_zip_amd64_path) copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_amd64_path) +copy_pluginbridge(sourcePathModern, "arm64ec", openmpt_zip_amd64_path) Path(openmpt_zip_amd64_path + "OpenMPT.portable").touch() print("Copying amd64 legacy binaries...") shutil.rmtree(openmpt_zip_amd64_legacy_basepath, ignore_errors=True) @@ -222,6 +230,7 @@ copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_arm_legacy_path) copy_pluginbridge(sourcePathLegacyARM, "arm", openmpt_zip_arm_legacy_path) copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_arm_legacy_path) +copy_pluginbridge(sourcePathModern, "arm64ec", openmpt_zip_arm_legacy_path) Path(openmpt_zip_arm_legacy_path + "OpenMPT.portable").touch() print("Copying arm64 binaries...") shutil.rmtree(openmpt_zip_arm64_basepath, ignore_errors=True) @@ -230,7 +239,17 @@ copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_arm64_path) copy_pluginbridge(sourcePathLegacyARM, "arm", openmpt_zip_arm64_path) copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_arm64_path) +copy_pluginbridge(sourcePathModern, "arm64ec", openmpt_zip_arm64_path) Path(openmpt_zip_arm64_path + "OpenMPT.portable").touch() +print("Copying arm64ec binaries...") +shutil.rmtree(openmpt_zip_arm64_basepath, ignore_errors=True) +copy_binaries(sourcePathModern + "arm64ec/", openmpt_zip_arm64ec_path) +copy_pluginbridge(sourcePathModern, "x86", openmpt_zip_arm64ec_path) +copy_pluginbridge(sourcePathModern, "amd64", openmpt_zip_arm64ec_path) +copy_pluginbridge(sourcePathLegacyARM, "arm", openmpt_zip_arm64ec_path) +copy_pluginbridge(sourcePathModern, "arm64", openmpt_zip_arm64ec_path) +copy_pluginbridge(sourcePathModern, "arm64ec", openmpt_zip_arm64ec_path) +Path(openmpt_zip_arm64ec_path + "OpenMPT.portable").touch() print("Copying symbols...") shutil.rmtree(openmpt_zip_symbols_basepath, ignore_errors=True) @@ -240,12 +259,14 @@ copy_symbols(sourcePathLegacy + "amd64/", openmpt_zip_symbols_path + "amd64-legacy/") copy_symbols(sourcePathLegacyARM + "arm/", openmpt_zip_symbols_path + "arm-legacy/") copy_symbols(sourcePathModern + "arm64/", openmpt_zip_symbols_path + "arm64/") +copy_symbols(sourcePathModern + "arm64ec/", openmpt_zip_symbols_path + "arm64ec/") copy_symbols_pluginbridge(sourcePathModern + "x86/", openmpt_zip_symbols_path + "x86/", "x86") copy_symbols_pluginbridge(sourcePathLegacy + "x86/", openmpt_zip_symbols_path + "x86-legacy/", "x86") copy_symbols_pluginbridge(sourcePathModern + "amd64/", openmpt_zip_symbols_path + "amd64/", "amd64") copy_symbols_pluginbridge(sourcePathLegacy + "amd64/", openmpt_zip_symbols_path + "amd64-legacy/", "amd64") copy_symbols_pluginbridge(sourcePathLegacyARM + "arm/", openmpt_zip_symbols_path + "arm-legacy/", "arm") copy_symbols_pluginbridge(sourcePathModern + "arm64/", openmpt_zip_symbols_path + "arm64/", "arm64") +copy_symbols_pluginbridge(sourcePathModern + "arm64ec/", openmpt_zip_symbols_path + "arm64ec/", "arm64ec") if not singleThreaded: pManual.communicate() @@ -265,6 +286,7 @@ copy_other(openmpt_zip_amd64_legacy_path, openmpt_version_short) copy_other(openmpt_zip_arm_legacy_path, openmpt_version_short) copy_other(openmpt_zip_arm64_path, openmpt_version_short) +copy_other(openmpt_zip_arm64ec_path, openmpt_version_short) print("Creating zip files and installers...") @@ -294,6 +316,9 @@ p7zarm64 = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-arm64.zip", "."], cwd=openmpt_zip_arm64_basepath) if singleThreaded: p7zarm64.communicate() +p7zarm64ec = Popen([path7z, "a", "-tzip", "-mx=9", "../" + openmpt_version_name + "-portable-arm64ec.zip", "."], cwd=openmpt_zip_arm64ec_basepath) +if singleThreaded: + p7zarm64ec.communicate() p7zsymbols = Popen([path7z, "a", "-t7z", "-mx=9", "-myv=1512", "../" + openmpt_version_name + "-symbols.7z", "."], cwd=openmpt_zip_symbols_basepath) if singleThreaded: @@ -307,9 +332,10 @@ p7zamd64legacy.communicate() p7zarm.communicate() p7zarm64.communicate() + p7zarm64ec.communicate() p7zsymbols.communicate() -if(p7zx86.returncode != 0 or p7zx86legacy.returncode != 0 or p7zamd64.returncode != 0 or p7zamd64legacy.returncode != 0 or p7zarm.returncode != 0 or p7zarm64.returncode != 0 or pInno.returncode != 0): +if(p7zx86.returncode != 0 or p7zx86legacy.returncode != 0 or p7zamd64.returncode != 0 or p7zamd64legacy.returncode != 0 or p7zarm.returncode != 0 or p7zarm64.returncode != 0 or p7zarm64ec.returncode != 0 or pInno.returncode != 0): raise Exception("Something went wrong during packaging!") def hash_file(filename): @@ -330,6 +356,7 @@ hash_file("installer/" + openmpt_version_name + "-portable-amd64-legacy.zip") hash_file("installer/" + openmpt_version_name + "-portable-arm-legacy.zip") hash_file("installer/" + openmpt_version_name + "-portable-arm64.zip") +hash_file("installer/" + openmpt_version_name + "-portable-arm64ec.zip") hash_file("installer/" + openmpt_version_name + "-symbols.7z") shutil.rmtree(openmpt_zip_x86_basepath) @@ -338,6 +365,7 @@ shutil.rmtree(openmpt_zip_amd64_legacy_basepath) shutil.rmtree(openmpt_zip_arm_legacy_basepath) shutil.rmtree(openmpt_zip_arm64_basepath) +shutil.rmtree(openmpt_zip_arm64ec_basepath) shutil.rmtree(openmpt_zip_symbols_basepath) if interactive: Modified: trunk/OpenMPT/build/build_openmpt_release.cmd ============================================================================== --- trunk/OpenMPT/build/build_openmpt_release.cmd Mon Jun 2 16:32:37 2025 (r23308) +++ trunk/OpenMPT/build/build_openmpt_release.cmd Mon Jun 2 17:39:12 2025 (r23309) @@ -10,12 +10,13 @@ cmd /c build\download_externals.cmd auto nodownload || goto error cmd /c build\auto\update_package_template.cmd || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 Win32 Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 x64 Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 ARM64 Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win8 ARM Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 Win32 Release 7z default || goto error -cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 x64 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 Win32 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 x64 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 ARM64 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win10 ARM64EC Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win8 ARM Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 Win32 Release 7z default || goto error +cmd /c build\auto\build_openmpt_args.cmd vs2022 win7 x64 Release 7z default || goto error cmd /c build\auto\build_openmpt_release_packages_multiarch.cmd auto sign || goto error cmd /c build\auto\build_openmpt_update_information.cmd auto || goto error cmd /c build\auto\package_openmpt_installer_multiarch_args.cmd vs2022 win10 Win32 Release 7z default || goto error Modified: trunk/OpenMPT/installer/filetypes-multi-arch.iss ============================================================================== --- trunk/OpenMPT/installer/filetypes-multi-arch.iss Mon Jun 2 16:32:37 2025 (r23308) +++ trunk/OpenMPT/installer/filetypes-multi-arch.iss Mon Jun 2 17:39:12 2025 (r23309) @@ -136,4 +136,15 @@ #undef OpenMPTarch #undef OpenMPTFile +#define Component "archarm64" +#define OpenMPTFile "OpenMPTFilearm64ec" +#define OpenMPTarch "OpenMPTarm64ec" +#define OpenMPTarchPath "arm64ec" +#define OpenMPTarchFriendly "OpenMPT (arm64ec)" +#include "filetypes-multi-arch-per-arch.iss" +#undef OpenMPTarchFriendly +#undef OpenMPTarchPath +#undef OpenMPTarch +#undef OpenMPTFile + Modified: trunk/OpenMPT/installer/generate_update_json.py ============================================================================== --- trunk/OpenMPT/installer/generate_update_json.py Mon Jun 2 16:32:37 2025 (r23308) +++ trunk/OpenMPT/installer/generate_update_json.py Mon Jun 2 17:39:12 2025 (r23309) @@ -158,6 +158,23 @@ f.write((json.dumps(update, ensure_ascii=False, indent=1)).encode('utf-8')) f.close() +update = { + "url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64ec.zip", + "checksums": { + "SHA-512": hash_file_sha512("installer/OpenMPT-" + plainversion + "-portable-arm64ec.zip"), + "SHA3-512": hash_file_sha3_512("installer/OpenMPT-" + plainversion + "-portable-arm64ec.zip"), + }, + "filename": "OpenMPT-" + version + "-portable-arm64ec.zip", + "autoupdate_installer": None, + "autoupdate_archive": { + "subfolder": "", + "restartbinary": "OpenMPT.exe" + } +} +with open("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm64ec.update.json", "wb") as f: + f.write((json.dumps(update, ensure_ascii=False, indent=1)).encode('utf-8')) + f.close() + update = { @@ -250,6 +267,18 @@ "required_architectures": {}, "supported_architectures": { "arm64":True }, "required_processor_features": { "arm64":{} } + }, + "portable-arm64ec": { + "url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64ec.update.json", + "download_url": download_base_url + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "/OpenMPT-" + version + "-portable-arm64ec.zip", + "type": "archive", + "can_autoupdate": True, + "autoupdate_minversion": "1.30.00.08", + "os": "windows", + "required_windows_version": { "version_major":10, "version_minor":0, "servicepack_major":0, "servicepack_minor":0, "build":22000, "wine_major":1, "wine_minor":8, "wine_update":0 }, + "required_architectures": {}, + "supported_architectures": { "arm64":True }, + "required_processor_features": { "arm64":{} } } } } @@ -270,6 +299,7 @@ sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-amd64-legacy.update.json") sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm-legacy.update.json") sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm64.update.json") +sign_file("installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-portable-arm64ec.update.json") pdumpkey = Popen(["bin/release/vs2022-win7-static/amd64/updatesigntool.exe", "dumpkey", "auto", "installer/" + "OpenMPT-" + OPENMPT_VERSION_MAJORMAJOR + "." + OPENMPT_VERSION_MAJOR + "." + OPENMPT_VERSION_MINOR + "." + OPENMPT_VERSION_MINORMINOR + "-update-publickey.jwk.json"]) pdumpkey.communicate() Modified: trunk/OpenMPT/installer/install-multi-arch.iss ============================================================================== --- trunk/OpenMPT/installer/install-multi-arch.iss Mon Jun 2 16:32:37 2025 (r23308) +++ trunk/OpenMPT/installer/install-multi-arch.iss Mon Jun 2 17:39:12 2025 (r23309) @@ -120,6 +120,12 @@ Source: ..\bin\{#BuildFolder}\arm64\openmpt-lame.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.19044 Source: ..\bin\{#BuildFolder}\arm64\openmpt-mpg123.dll; DestDir: {app}\bin\arm64; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.19044 +Source: ..\bin\{#BuildFolder}\arm64ec\OpenMPT.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 +Source: ..\bin\{#BuildFolder}\arm64ec\PluginBridge-arm64ec.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 +Source: ..\bin\{#BuildFolder}\arm64ec\PluginBridgeLegacy-arm64ec.exe; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 +Source: ..\bin\{#BuildFolder}\arm64ec\openmpt-lame.dll; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 +Source: ..\bin\{#BuildFolder}\arm64ec\openmpt-mpg123.dll; DestDir: {app}\bin\arm64ec; Flags: ignoreversion; Components: archarm64; MinVersion: 10.0.22000 + Source: "..\mptrack\res\MPTRACK.ICO"; DestName: "OpenMPT App Icon.ico"; DestDir: "{app}"; Flags: ignoreversion Source: "..\packageTemplate\OpenMPT File Icon.ico"; DestName: "OpenMPT File Icon.ico"; DestDir: "{app}"; Flags: ignoreversion @@ -161,6 +167,7 @@ Name: {group}\OpenMPT (amd64); Filename: {app}\bin\amd64\OpenMPT.exe; Components: archamd64 Name: {group}\OpenMPT (arm); Filename: {app}\bin\arm\OpenMPT.exe; Components: archarm; MinVersion: 6.2 Name: {group}\OpenMPT (arm64); Filename: {app}\bin\arm64\OpenMPT.exe; Components: archarm64; MinVersion: 10.0.19044 +Name: {group}\OpenMPT (arm64ec); Filename: {app}\bin\arm64ec\OpenMPT.exe; Components: archarm64; MinVersion: 10.0.22000 Name: {group}\Manual; Filename: {app}\OpenMPT Manual.chm Name: {group}\Support and Community Forum; Filename: {app}\OpenMPT Support and Community Forum.url @@ -181,6 +188,7 @@ Filename: {app}\bin\amd64\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('amd64') Filename: {app}\bin\arm\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('arm'); Filename: {app}\bin\arm64\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('arm64'); +;Filename: {app}\bin\arm64ec\OpenMPT.exe; Parameters: """{code:RandomExampleFile}"""; Description: {cm:LaunchProgram,OpenMPT}; Flags: runasoriginaluser nowait postinstall skipifsilent; Check: CheckDefaultArch('arm64') @@ -216,6 +224,13 @@ Type: files; Name: {app}\bin\arm64\openmpt-mpg123.dll Type: files; Name: {app}\bin\arm64\openmpt-soundtouch.dll +Type: files; Name: {app}\bin\arm64ec\OpenMPT.exe +Type: files; Name: {app}\bin\arm64ec\PluginBridge-arm64ec.exe +Type: files; Name: {app}\bin\arm64ec\PluginBridgeLegacy-arm64ec.exe +Type: files; Name: {app}\bin\arm64ec\openmpt-lame.dll +Type: files; Name: {app}\bin\arm64ec\openmpt-mpg123.dll +Type: files; Name: {app}\bin\arm64ec\openmpt-soundtouch.dll + #include "uninstall-single-arch.iss" |
From: <sv...@op...> - 2025-06-02 14:32:50
|
Author: manx Date: Mon Jun 2 16:32:37 2025 New Revision: 23308 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23308 Log: Merged revision(s) 23305 from trunk/OpenMPT: [Fix] mpt/string_transcode/transcode.hpp: Fix typo. Broken since r23294. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp Modified: branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp ============================================================================== --- branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:32:12 2025 (r23307) +++ branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:32:37 2025 (r23308) @@ -996,7 +996,7 @@ case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) #if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) - return encode_utf<Tdststring>(src); + return encode_utf8<Tdststring>(src); #else try { return encode_locale<Tdststring>(std::locale(""), src); |
From: <sv...@op...> - 2025-06-02 14:32:18
|
Author: manx Date: Mon Jun 2 16:32:12 2025 New Revision: 23307 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23307 Log: Merged revision(s) 23305 from trunk/OpenMPT: [Fix] mpt/string_transcode/transcode.hpp: Fix typo. Broken since r23294. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp Modified: branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:31:46 2025 (r23306) +++ branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:32:12 2025 (r23307) @@ -1667,7 +1667,7 @@ case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) #if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) - return encode_utf<Tdststring>(src); + return encode_utf8<Tdststring>(src); #else try { return encode_locale<Tdststring>(std::locale(""), src); |
From: <sv...@op...> - 2025-06-02 14:31:53
|
Author: manx Date: Mon Jun 2 16:31:46 2025 New Revision: 23306 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23306 Log: Merged revision(s) 23305 from trunk/OpenMPT: [Fix] mpt/string_transcode/transcode.hpp: Fix typo. Broken since r23294. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp Modified: branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp ============================================================================== --- branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:31:07 2025 (r23305) +++ branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:31:46 2025 (r23306) @@ -1697,7 +1697,7 @@ case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) #if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) - return encode_utf<Tdststring>(src); + return encode_utf8<Tdststring>(src); #else try { return encode_locale<Tdststring>(std::locale(""), src); |
From: <sv...@op...> - 2025-06-02 14:31:19
|
Author: manx Date: Mon Jun 2 16:31:07 2025 New Revision: 23305 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23305 Log: [Fix] mpt/string_transcode/transcode.hpp: Fix typo. Broken since r23294. Modified: trunk/OpenMPT/src/mpt/string_transcode/transcode.hpp Modified: trunk/OpenMPT/src/mpt/string_transcode/transcode.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:29:36 2025 (r23304) +++ trunk/OpenMPT/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:31:07 2025 (r23305) @@ -1697,7 +1697,7 @@ case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) #if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) - return encode_utf<Tdststring>(src); + return encode_utf8<Tdststring>(src); #else try { return encode_locale<Tdststring>(std::locale(""), src); |
From: <sv...@op...> - 2025-06-02 14:29:43
|
Author: manx Date: Mon Jun 2 16:29:36 2025 New Revision: 23304 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23304 Log: [New] build: CI: GitHub: CPA: Add Haiku builders, disabled for now due to <https://github.com/cross-platform-actions/action/issues/103> and <https://github.com/cross-platform-actions/action/issues/104>. Added: trunk/OpenMPT/.github/workflows/Haiku-Autotools.yml trunk/OpenMPT/.github/workflows/Haiku-Makefile.yml Added: trunk/OpenMPT/.github/workflows/Haiku-Autotools.yml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/OpenMPT/.github/workflows/Haiku-Autotools.yml Mon Jun 2 16:29:36 2025 (r23304) @@ -0,0 +1,74 @@ +name: Haiku Autotools + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + strategy: + fail-fast: false + matrix: + include: + - { version: 'r1beta5' } + + concurrency: + group: ${{github.ref}}-${{github.workflow}}-${{matrix.version}}-autotools + cancel-in-progress: true + + runs-on: ubuntu-24.04 + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Startup VM + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: runner-to-vm + shutdown_vm: false + run: true + - name: Install dependencies + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: false + shutdown_vm: false + run: | + pkgman refresh + pkgman full-sync -y + pkgman install -y subversion git perl gawk make pkgconfig mpg123_devel libogg_devel libvorbis_devel flac_devel libsndfile_devel portaudio_devel libsdl2_devel autoconf autoconf_archive libtool libtool_libltdl doxygen help2man + - name: Build + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: false + shutdown_vm: false + run: | + export MAKEFLAGS="-j4"; ./build/autotools/autoconfiscate.sh + - name: Shutdown VM + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: false + shutdown_vm: true + run: true Added: trunk/OpenMPT/.github/workflows/Haiku-Makefile.yml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/OpenMPT/.github/workflows/Haiku-Makefile.yml Mon Jun 2 16:29:36 2025 (r23304) @@ -0,0 +1,91 @@ +name: Haiku Makefile + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + strategy: + fail-fast: false + matrix: + include: + - { version: 'r1beta5', deps: sys } + - { version: 'r1beta5', deps: local } + - { version: 'r1beta5', deps: small } + + concurrency: + group: ${{github.ref}}-${{github.workflow}}-${{matrix.version}}-${{matrix.deps}} + cancel-in-progress: true + + runs-on: ubuntu-24.04 + + # disable due to <https://github.com/cross-platform-actions/action/issues/103> and <https://github.com/cross-platform-actions/action/issues/104> + if: false + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Startup VM + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: runner-to-vm + shutdown_vm: false + run: true + - name: Install dependencies + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: false + shutdown_vm: false + run: | + pkgman refresh + pkgman full-sync -y + pkgman install -y subversion git perl gawk make pkgconfig mpg123_devel libogg_devel libvorbis_devel flac_devel libsndfile_devel portaudio_devel libsdl2_devel autoconf autoconf_archive libtool libtool_libltdl doxygen help2man + - name: Build + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: false + shutdown_vm: false + run: | + make -j4 STRICT=1 VERBOSE=1 ${{ (matrix.deps == 'sys') && 'AUTO_DEPS=1' || (matrix.deps == 'local') && 'LOCAL_ZLIB=1 LOCAL_MPG123=1 LOCAL_OGG=1 LOCAL_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' || 'NO_ZLIB=1 NO_MPG123=1 NO_OGG=1 NO_VORBIS=1 NO_VORBISFILE=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' }} + - name: Test + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: false + shutdown_vm: false + run: | + make -j4 STRICT=1 VERBOSE=1 ${{ (matrix.deps == 'sys') && 'AUTO_DEPS=1' || (matrix.deps == 'local') && 'LOCAL_ZLIB=1 LOCAL_MPG123=1 LOCAL_OGG=1 LOCAL_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' || 'NO_ZLIB=1 NO_MPG123=1 NO_OGG=1 NO_VORBIS=1 NO_VORBISFILE=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' }} check + - name: Shutdown VM + uses: cross-platform-actions/action@v0.28.0 + with: + architecture: x86_64 + memory: 4G + operating_system: haiku + version: ${{matrix.version}} + shell: bash + sync_files: false + shutdown_vm: true + run: true |
From: <sv...@op...> - 2025-06-02 14:25:14
|
Author: manx Date: Mon Jun 2 16:25:00 2025 New Revision: 23303 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23303 Log: Merged revision(s) 23302 from trunk/OpenMPT: [Mod] build: Makefile: Haiku: Do not expect PulseAudio by default. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/build/make/config-defaults.mk Modified: branches/OpenMPT-1.32/build/make/config-defaults.mk ============================================================================== --- branches/OpenMPT-1.32/build/make/config-defaults.mk Mon Jun 2 16:24:35 2025 (r23302) +++ branches/OpenMPT-1.32/build/make/config-defaults.mk Mon Jun 2 16:25:00 2025 (r23303) @@ -55,6 +55,7 @@ else ifeq ($(HOST_FLAVOUR),HAIKU) +NO_PULSEAUDIO?=1 # In Haiku x86 32bit (but not 64bit), # modern compilers need a -x86 suffix. UNAME_P:=$(shell uname -p) |
From: <sv...@op...> - 2025-06-02 14:24:41
|
Author: manx Date: Mon Jun 2 16:24:35 2025 New Revision: 23302 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23302 Log: [Mod] build: Makefile: Haiku: Do not expect PulseAudio by default. Modified: trunk/OpenMPT/build/make/config-defaults.mk Modified: trunk/OpenMPT/build/make/config-defaults.mk ============================================================================== --- trunk/OpenMPT/build/make/config-defaults.mk Mon Jun 2 16:16:54 2025 (r23301) +++ trunk/OpenMPT/build/make/config-defaults.mk Mon Jun 2 16:24:35 2025 (r23302) @@ -55,6 +55,7 @@ else ifeq ($(HOST_FLAVOUR),HAIKU) +NO_PULSEAUDIO?=1 # In Haiku x86 32bit (but not 64bit), # modern compilers need a -x86 suffix. UNAME_P:=$(shell uname -p) |
From: <sv...@op...> - 2025-06-02 14:17:05
|
Author: manx Date: Mon Jun 2 16:16:54 2025 New Revision: 23301 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23301 Log: [Doc] libopenmpt: Update changelog. Modified: branches/OpenMPT-1.30/libopenmpt/dox/changelog.md Modified: branches/OpenMPT-1.30/libopenmpt/dox/changelog.md ============================================================================== --- branches/OpenMPT-1.30/libopenmpt/dox/changelog.md Mon Jun 2 16:16:50 2025 (r23300) +++ branches/OpenMPT-1.30/libopenmpt/dox/changelog.md Mon Jun 2 16:16:54 2025 (r23301) @@ -10,6 +10,8 @@ * [**Bug**] `openmpt::string::get("source_has_mixed_revisions")` and `openmpt_get_string("source_has_mixed_revisions")` always returned an empty string. + * [**Bug**] Work-around broken user locale support on Haiku by always assuming + UTF8. * miniz: v3.0.2 (2023-01-15). * pugixml: Update to v1.15 (2025-01-10). |
From: <sv...@op...> - 2025-06-02 14:17:02
|
Author: manx Date: Mon Jun 2 16:16:50 2025 New Revision: 23300 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23300 Log: [Doc] libopenmpt: Update changelog. Modified: branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Modified: branches/OpenMPT-1.31/doc/libopenmpt/changelog.md ============================================================================== --- branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Mon Jun 2 16:16:45 2025 (r23299) +++ branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Mon Jun 2 16:16:50 2025 (r23300) @@ -10,6 +10,8 @@ * [**Bug**] `openmpt::string::get("source_has_mixed_revisions")` and `openmpt_get_string("source_has_mixed_revisions")` always returned an empty string. + * [**Bug**] Work-around broken user locale support on Haiku by always assuming + UTF8. * miniz: v3.0.2 (2023-01-15). * pugixml: Update to v1.15 (2025-01-10). |
From: <sv...@op...> - 2025-06-02 14:16:56
|
Author: manx Date: Mon Jun 2 16:16:45 2025 New Revision: 23299 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23299 Log: [Doc] libopenmpt: Update changelog. Modified: branches/OpenMPT-1.32/doc/libopenmpt/changelog.md Modified: branches/OpenMPT-1.32/doc/libopenmpt/changelog.md ============================================================================== --- branches/OpenMPT-1.32/doc/libopenmpt/changelog.md Mon Jun 2 16:15:17 2025 (r23298) +++ branches/OpenMPT-1.32/doc/libopenmpt/changelog.md Mon Jun 2 16:16:45 2025 (r23299) @@ -7,6 +7,9 @@ ### libopenmpt 0.8.1-pre + * [**Bug**] Work-around broken user locale support on Haiku by always assuming + UTF8. + * miniz: v3.0.2 (2023-01-15). ### libopenmpt 0.8.0 (2025-05-31) |
From: <sv...@op...> - 2025-06-02 14:15:30
|
Author: manx Date: Mon Jun 2 16:15:17 2025 New Revision: 23298 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23298 Log: Merged revision(s) 23294-23295 from trunk/OpenMPT: [Ref] mpt/string_transcode/transcode.hpp: Add MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 for platforms with broken user locale support that always use UTF8 anyway. ........ [Fix] mpt/base/detect_quirks.hpp: Set MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE and MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 for Haiku. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/src/mpt/base/detect_quirks.hpp branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp Modified: branches/OpenMPT-1.30/src/mpt/base/detect_quirks.hpp ============================================================================== --- branches/OpenMPT-1.30/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:14:54 2025 (r23297) +++ branches/OpenMPT-1.30/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:15:17 2025 (r23298) @@ -137,6 +137,10 @@ #if MPT_OS_CYGWIN #define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE +// #define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 +#elif MPT_OS_HAIKU +#define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE +#define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 #endif Modified: branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp ============================================================================== --- branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:14:54 2025 (r23297) +++ branches/OpenMPT-1.30/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:15:17 2025 (r23298) @@ -995,6 +995,9 @@ switch (encoding) { case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) +#if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) + return encode_utf<Tdststring>(src); +#else try { return encode_locale<Tdststring>(std::locale(""), src); } catch (mpt::out_of_memory e) { @@ -1017,6 +1020,7 @@ // nothing } return encode_ascii<Tdststring>(src); +#endif #else return encode_locale<Tdststring>(std::locale(""), src); #endif @@ -1154,6 +1158,9 @@ switch (encoding) { case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) +#if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) + return decode_utf8(src); +#else try { return decode_locale(std::locale(""), src); } catch (mpt::out_of_memory e) { @@ -1176,6 +1183,7 @@ // nothing } return decode_ascii(src); +#endif #else return decode_locale(std::locale(""), src); #endif |
From: <sv...@op...> - 2025-06-02 14:15:07
|
Author: manx Date: Mon Jun 2 16:14:54 2025 New Revision: 23297 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23297 Log: Merged revision(s) 23294-23295 from trunk/OpenMPT: [Ref] mpt/string_transcode/transcode.hpp: Add MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 for platforms with broken user locale support that always use UTF8 anyway. ........ [Fix] mpt/base/detect_quirks.hpp: Set MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE and MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 for Haiku. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/src/mpt/base/detect_quirks.hpp branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp Modified: branches/OpenMPT-1.31/src/mpt/base/detect_quirks.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:14:31 2025 (r23296) +++ branches/OpenMPT-1.31/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:14:54 2025 (r23297) @@ -243,6 +243,10 @@ #if MPT_OS_CYGWIN #define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE +// #define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 +#elif MPT_OS_HAIKU +#define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE +#define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 #endif Modified: branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:14:31 2025 (r23296) +++ branches/OpenMPT-1.31/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:14:54 2025 (r23297) @@ -1666,6 +1666,9 @@ switch (encoding) { case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) +#if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) + return encode_utf<Tdststring>(src); +#else try { return encode_locale<Tdststring>(std::locale(""), src); } catch (mpt::out_of_memory e) { @@ -1688,6 +1691,7 @@ // nothing } return encode_ascii<Tdststring>(src); +#endif #else return encode_locale<Tdststring>(std::locale(""), src); #endif @@ -1887,6 +1891,9 @@ switch (encoding) { case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) +#if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) + return decode_utf8(src); +#else try { return decode_locale(std::locale(""), src); } catch (mpt::out_of_memory e) { @@ -1909,6 +1916,7 @@ // nothing } return decode_ascii(src); +#endif #else return decode_locale(std::locale(""), src); #endif |
From: <sv...@op...> - 2025-06-02 14:14:38
|
Author: manx Date: Mon Jun 2 16:14:31 2025 New Revision: 23296 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23296 Log: Merged revision(s) 23294-23295 from trunk/OpenMPT: [Ref] mpt/string_transcode/transcode.hpp: Add MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 for platforms with broken user locale support that always use UTF8 anyway. ........ [Fix] mpt/base/detect_quirks.hpp: Set MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE and MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 for Haiku. ........ Modified: branches/OpenMPT-1.32/ (props changed) branches/OpenMPT-1.32/src/mpt/base/detect_quirks.hpp branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp Modified: branches/OpenMPT-1.32/src/mpt/base/detect_quirks.hpp ============================================================================== --- branches/OpenMPT-1.32/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:14:05 2025 (r23295) +++ branches/OpenMPT-1.32/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:14:31 2025 (r23296) @@ -264,6 +264,10 @@ #if MPT_OS_CYGWIN #define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE +// #define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 +#elif MPT_OS_HAIKU +#define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE +#define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 #endif Modified: branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp ============================================================================== --- branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:14:05 2025 (r23295) +++ branches/OpenMPT-1.32/src/mpt/string_transcode/transcode.hpp Mon Jun 2 16:14:31 2025 (r23296) @@ -1696,6 +1696,9 @@ switch (encoding) { case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) +#if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) + return encode_utf<Tdststring>(src); +#else try { return encode_locale<Tdststring>(std::locale(""), src); } catch (mpt::out_of_memory e) { @@ -1718,6 +1721,7 @@ // nothing } return encode_ascii<Tdststring>(src); +#endif #else return encode_locale<Tdststring>(std::locale(""), src); #endif @@ -1917,6 +1921,9 @@ switch (encoding) { case logical_encoding::locale: #if defined(MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE) +#if defined(MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8) + return decode_utf8(src); +#else try { return decode_locale(std::locale(""), src); } catch (mpt::out_of_memory e) { @@ -1939,6 +1946,7 @@ // nothing } return decode_ascii(src); +#endif #else return decode_locale(std::locale(""), src); #endif |
From: <sv...@op...> - 2025-06-02 14:14:18
|
Author: manx Date: Mon Jun 2 16:14:05 2025 New Revision: 23295 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=23295 Log: [Fix] mpt/base/detect_quirks.hpp: Set MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE and MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 for Haiku. Modified: trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Modified: trunk/OpenMPT/src/mpt/base/detect_quirks.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:13:13 2025 (r23294) +++ trunk/OpenMPT/src/mpt/base/detect_quirks.hpp Mon Jun 2 16:14:05 2025 (r23295) @@ -265,6 +265,9 @@ #if MPT_OS_CYGWIN #define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE // #define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 +#elif MPT_OS_HAIKU +#define MPT_LIBCXX_QUIRK_BROKEN_USER_LOCALE +#define MPT_LIBCXX_QUIRK_ASSUME_USER_LOCALE_UTF8 #endif |