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
(213) |
Aug
(177) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <sv...@op...> - 2024-07-21 12:01:24
|
Author: manx Date: Sun Jul 21 14:01:13 2024 New Revision: 21223 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21223 Log: tag libopenmpt-0.7.9 Added: tags/libopenmpt-0.7.9/ - copied from r21222, branches/OpenMPT-1.31/ |
From: <sv...@op...> - 2024-07-21 12:01:23
|
Author: manx Date: Sun Jul 21 14:01:11 2024 New Revision: 21222 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21222 Log: [Mod] libopenmpt: Prepare for release. Modified: branches/OpenMPT-1.31/doc/libopenmpt/changelog.md branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.h branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.mk Modified: branches/OpenMPT-1.31/doc/libopenmpt/changelog.md ============================================================================== --- branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Sun Jul 21 14:00:14 2024 (r21221) +++ branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Sun Jul 21 14:01:11 2024 (r21222) @@ -5,7 +5,7 @@ For fully detailed change log, please see the source repository directly. This is just a high-level summary. -### libopenmpt 0.7.9-pre +### libopenmpt 0.7.9 (2024-07-21) * [**Sec**] Potential division by 0 when seeking in the module with `seek.sync_samples` enabled (r21167). Modified: branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.h ============================================================================== --- branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.h Sun Jul 21 14:00:14 2024 (r21221) +++ branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.h Sun Jul 21 14:01:11 2024 (r21222) @@ -23,9 +23,9 @@ /*! \brief libopenmpt patch version number */ #define OPENMPT_API_VERSION_PATCH 9 /*! \brief libopenmpt pre-release tag */ -#define OPENMPT_API_VERSION_PREREL "-pre.1" +#define OPENMPT_API_VERSION_PREREL "" /*! \brief libopenmpt pre-release flag */ -#define OPENMPT_API_VERSION_IS_PREREL 1 +#define OPENMPT_API_VERSION_IS_PREREL 0 /*! \brief libopenmpt version number as a single integer value * \since 0.3 Modified: branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.mk ============================================================================== --- branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.mk Sun Jul 21 14:00:14 2024 (r21221) +++ branches/OpenMPT-1.31/libopenmpt/libopenmpt_version.mk Sun Jul 21 14:01:11 2024 (r21222) @@ -1,7 +1,7 @@ LIBOPENMPT_VERSION_MAJOR=0 LIBOPENMPT_VERSION_MINOR=7 LIBOPENMPT_VERSION_PATCH=9 -LIBOPENMPT_VERSION_PREREL=-pre.1 +LIBOPENMPT_VERSION_PREREL= LIBOPENMPT_LTVER_CURRENT=4 LIBOPENMPT_LTVER_REVISION=9 |
From: <sv...@op...> - 2024-07-21 12:00:26
|
Author: manx Date: Sun Jul 21 14:00:14 2024 New Revision: 21221 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21221 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 Sun Jul 21 13:57:27 2024 (r21220) +++ branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Sun Jul 21 14:00:14 2024 (r21221) @@ -14,7 +14,7 @@ <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049> has been changed from forcing `-O1` on GCC 14 to setting `-fno-ipa-ra` on all GCC versions on non-ELF platforms. We are still not 100% sure if this work-around is - sufficient in all circumstances. if you are using a non-ELF platform, it is + sufficient in all circumstances. If you are using a non-ELF platform, it is strongly recommended to update GCC to versions 12.5.0, 13.4.0, 14.2.0, or 15.1.0 as soon as they are released, or to apply the patch from the linked GCC issues. |
From: <sv...@op...> - 2024-07-21 11:57:39
|
Author: sagamusix Date: Sun Jul 21 13:57:27 2024 New Revision: 21220 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21220 Log: Created tag for OpenMPT 1.31.09.00 Added: tags/1.31.09.00/ - copied from r21219, branches/OpenMPT-1.31/ |
From: <sv...@op...> - 2024-07-21 11:55:48
|
Author: sagamusix Date: Sun Jul 21 13:55:40 2024 New Revision: 21219 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21219 Log: [Doc] Update release notes. [Mod] OpenMPT: Version is now 1.31.09.00 Modified: branches/OpenMPT-1.31/common/versionNumber.h branches/OpenMPT-1.31/packageTemplate/History.txt Modified: branches/OpenMPT-1.31/common/versionNumber.h ============================================================================== --- branches/OpenMPT-1.31/common/versionNumber.h Sun Jul 21 13:46:41 2024 (r21218) +++ branches/OpenMPT-1.31/common/versionNumber.h Sun Jul 21 13:55:40 2024 (r21219) @@ -17,7 +17,7 @@ // Version definitions. The only thing that needs to be changed when changing version number. #define VER_MAJORMAJOR 1 #define VER_MAJOR 31 -#define VER_MINOR 08 -#define VER_MINORMINOR 01 +#define VER_MINOR 09 +#define VER_MINORMINOR 00 OPENMPT_NAMESPACE_END Modified: branches/OpenMPT-1.31/packageTemplate/History.txt ============================================================================== --- branches/OpenMPT-1.31/packageTemplate/History.txt Sun Jul 21 13:46:41 2024 (r21218) +++ branches/OpenMPT-1.31/packageTemplate/History.txt Sun Jul 21 13:55:40 2024 (r21219) @@ -33,6 +33,58 @@ find our issue tracker and forums. +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. Such samples 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 (https://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 @@ -178,7 +230,7 @@ - [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) +- [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. @@ -274,7 +326,7 @@ - [New] <js> Added shortcuts to scroll the pattern view without having to use the mouse (tx isdera). - [Imp] <js> Seeking with sample sync now supports portamento up / down and IMF / PTM note slides. - [Imp] <js> Edit step and pattern navigation now also work beyond the next or previous pattern if the jumping distance is larger than the pattern size. -- [Imp] <js> Dummy command W can now be inserted into XM files for syncing purposes in other module players (http://bugs.openmpt.org/view.php?id=1373). +- [Imp] <js> Dummy command W can now be inserted into XM files for syncing purposes in other module players (http://bugs.openmpt.org/view.php?id=1373). - [Imp] <js> Effect visualizer: For PC events, the currently edited plugin parameter can now be selected from a dropdown menu (http://bugs.openmpt.org/view.php?id=1677). - [Imp] <js> Improved focus handling on the instrument selection dropdown: Navigating using cursor keys no longer reverts the keyboard focus back to the pattern editor immediately. - [Mod] <js> The selection key being pressed no longer causes automatic cursor moves caused by Edit Step to stop at the pattern end (http://bugs.openmpt.org/view.php?id=1698). @@ -367,9 +419,9 @@ - [Mod] <js> NoiseTracker MODs are now always played with VBlank timing (tx AliceLR). Other formats -- [Imp] MED: Add support for default instrument pitch. -- [Mod] 669: Reject files with lots of control characters in song message. -- [Fix] MED: Global play transpose value was not considered for MMD0 files. +- [Imp] <js> MED: Add support for default instrument pitch. +- [Mod] <js> 669: Reject files with lots of control characters in song message. +- [Fix] <js> MED: Global play transpose value was not considered for MMD0 files. Misc - [Imp] <js> Allow arrow up / down keys and scroll wheel to modify various edit fields in Stream Export and settings dialogs. @@ -462,7 +514,7 @@ - [Fix] <js> After removing channels, the pattern cursor sometimes became invisible if the channel it was previously located in no longer existed. Sample tab -- [Fix] <js> Vertical lines sometimes showed up in zoomed-in waveforms. +- [Fix] <js> Vertical lines sometimes showed up in zoomed-in waveforms. - [Fix] <js> The dragging improvements from OpenMPT 1.30.04.00 are no longer applied to cue points and loop points, as the old behaviour is arguably better-suited there. - [Fix] <js> Avoid overwriting sample slot when loading an OPL instrument from an S3I file but current format doesn't support OPL. - [Fix] <js> The forward / backward mouse buttons to navigate to the next / previous sample slot now also work when clicking into the OPL editor. @@ -731,7 +783,7 @@ - [Fix] <js> The automatic sample trimmer sometimes calculated incorrect sizes for samples played in reverse and bidi-looped samples (http://bugs.openmpt.org/view.php?id=1547). Misc -- [Imp] <js> Improved startup time for OpenMPT configurations with many / large soundfonts. +- [Imp] <js> Improved startup time for OpenMPT configurations with many / large soundfonts. - [Imp] <js> SF2: Support tuning on the preset level. - [Imp] <js> Added S3I to default format choice in sample editor settings. - [Imp] <js> The default artist name can now be set in the Welcome dialog. @@ -986,7 +1038,7 @@ Other formats - [Fix] <js> PTM: Panning was translated wrong in some edge cases. -- [Fix] <js> IMF / PTM: Note Slide commands were sometimes slightly off. +- [Fix] <js> IMF / PTM: Note Slide commands were sometimes slightly off. - [Fix] <js> DBM: Echo enable effect parameter range checks were incorrect. - [Fix] <js> Possible crash when loading malformed MDL files. @@ -1019,7 +1071,7 @@ - [Fix] <js> Fixed excessive memory usage with files claiming to have an extremely high rows per beat count while also using tempo swing. Maximum rows per beat are now limited to 65536. Other formats -- [Imp] <js> MIDI Import: Support loopEnd marker and EMIDI loop start / end CCs. +- [Imp] <js> MIDI Import: Support loopEnd marker and EMIDI loop start / end CCs. - [Fix] <js> STP: Avoid creating thousands of patterns when loading malformed files even though no more pattern data can be read. - [Fix] <js> MMCMP: Fixed various possible crashes with malformed files. @@ -1099,7 +1151,7 @@ MPTM - [Fix] <js> The "Do not reset OPL channel status at end of envelopes" compatibility flag was effectively force-enabled for all modules made with OpenMPT 1.29, while it should have been disabled. - [Fix] <js> Files with OPL instruments were sometimes written in a way so that older OpenMPT and libopenmpt versions without OPL support could no longer read certain song properties and warn that the file was created with a more recent version of OpenMPT. -- [Fix] <js> The old OpenMPT 1.28 retrigger behaviour for OPL instruments differed depending on the chosen output sample rate. Retrigger now always retriggers notes as expected, which was already the case when the mix rate was chosen to be 48000 Hz. The corresponding compatibility setting was removed, as it is no longer required. +- [Fix] <js> The old OpenMPT 1.28 retrigger behaviour for OPL instruments differed depending on the chosen output sample rate. Retrigger now always retriggers notes as expected, which was already the case when the mix rate was chosen to be 48000 Hz. The corresponding compatibility setting was removed, as it is no longer required. IT - [Imp] <js> Full OpenMPT version information (e.g. 1.29.10.00 instead of 1.29) is now written to IT files also when using compatibility export. @@ -1115,9 +1167,9 @@ - [Fix] <js> E9x retrigger now works the same way as in ProTracker 2. Other formats -- [Mod] <js> 669: Reject files that contain any pattern tempo higher than 15. +- [Mod] <js> 669: Reject files that contain any pattern tempo higher than 15. - [Fix] <js> MDL: Improve auto-vibrato accuracy. -- [Fix] <js> In OpenMPT 1.29.09.00, the "Save As" dialog now may have shown up every time after opening a file in an import-only format. Some actions like running the Automatic Sample Trimmer may have also prevented the dialog from showing up. +- [Fix] <js> In OpenMPT 1.29.09.00, the "Save As" dialog now may have shown up every time after opening a file in an import-only format. Some actions like running the Automatic Sample Trimmer may have also prevented the dialog from showing up. - [Fix] <js> Reduce memory consumption of malformed XPK-compressed files. Stream Export @@ -1160,7 +1212,7 @@ - [Fix] <js> Instrument / sample panning was reset on note-off / fade commands (http://bugs.openmpt.org/view.php?id=1432). Other formats -- [Fix] <js> With some imported formats, the "Save As" dialog didn't show up when trying to save them, overwriting the original file instead. +- [Fix] <js> With some imported formats, the "Save As" dialog didn't show up when trying to save them, overwriting the original file instead. - [Fix] <js> Possible crash when loading some malformed files. - [Fix] <js> Fix excessive memory consumption with malformed files in various formats. @@ -1340,7 +1392,7 @@ - [Imp] <js> Support loading and saving (but not editing for now, apart from using the clipboard) command W, which is used e.g. by BASS for syncing purposes. Other formats -- [Fix] <js> MO3: Avoid certain ModPlug hacks from being fixed up twice, which could lead to e.g. very narrow pan swing range for old OpenMPT IT files saved with a recent MO3 encoder version. +- [Fix] <js> MO3: Avoid certain ModPlug hacks from being fixed up twice, which could lead to e.g. very narrow pan swing range for old OpenMPT IT files saved with a recent MO3 encoder version. - [Fix] <js> PLM: Percentage offset (Mxx) was slightly off. Misc @@ -1445,7 +1497,7 @@ - [Imp] <js> Added rename context menu entry in addition to slow double-click. - [Imp] <js> Duplicating / inserting sequences inserts them next to the selected item. Duplicating a sequence now keeps its original name and adds "(Copy)" to it. - [Imp] <js> Double-clicking an empty sequence now makes it the current sequence. -- [Fix] <js> Opening a module with external samples in the sample browser broke sample previewing / import for all following modules (http://bugs.openmpt.org/view.php?id=1318). +- [Fix] <js> Opening a module with external samples in the sample browser broke sample previewing / import for all following modules (http://bugs.openmpt.org/view.php?id=1318). General tab - [Imp] <js> Improved tempo tap button accuracy by using least squares algorithm rather than a simple average. The tempo is now also rounded rather than truncated for formats that do not support fractional tempos. @@ -1468,10 +1520,10 @@ - [Imp] <js> Order list separator / line color didn't work well if the window background color was dark. - [Imp] <js> Improved screen reader read-out of order list (http://forum.openmpt.org/index.php?topic=6297.0). - [Imp] <js> Pattern navigation and data entry now instantly trigger screen reader updates, unless a module is currently playing (http://forum.openmpt.org/index.php?topic=6297.0). -- [Fix] <js> Seeking with sample sync did not follow instruments with custom tuning (http://bugs.openmpt.org/view.php?id=1239). +- [Fix] <js> Seeking with sample sync did not follow instruments with custom tuning (http://bugs.openmpt.org/view.php?id=1239). Pattern tab::Chord Editor -- [Imp] <js> Clicking a key on the keyboard no longer automatically replaces the last note of the chord, new notes are only added to the chord if there is room for more notes. Instead, existing notes can now be dragged around. +- [Imp] <js> Clicking a key on the keyboard no longer automatically replaces the last note of the chord, new notes are only added to the chord if there is room for more notes. Instead, existing notes can now be dragged around. - [Imp] <js> Can now specify notes up to two octaves below the base note (http://bugs.openmpt.org/view.php?id=1248). - [Imp] <js> The dialog can now be resized, and hitting the X button no longer saves the modified chords. @@ -1508,12 +1560,12 @@ - [Fix] <js> To circumvent a bug in some plugins made with SynthEdit 1.4 versions before February 2020, there is now a hidden setting "VST Plugins.FullyUnloadPlugins" that can be toggled to avoid fully unloading plugins when closing them (http://bugs.openmpt.org/view.php?id=1266). Alternatively, the plugins can also be bridged instead to avoid the crash. VST::Plugin Bridge -- [Imp] <js> Speed up retrieval of parameter values when saving. +- [Imp] <js> Speed up retrieval of parameter values when saving. - [Fix] <js> The stability of bridged plugins has been greatly improved. Most, if not all plugins that did not work previously should run just fine now. Playback - [New] <js> In addition to A500 filter settings, the Amiga resampler can now also use A1200 filter settings and unfiltered output (http://bugs.openmpt.org/view.php?id=1276). -- [New] <jh> Added Bit Crush DSP to reduce the bit depth of the final output, e.g. to emulate old hardware or trackers. +- [New] <jh> Added Bit Crush DSP to reduce the bit depth of the final output, e.g. to emulate old hardware or trackers. - [Imp] <js> Allow NNA / DNA note-off / note fade to affect OPL notes the same way they affect samples. - [Mod] <js> Improved OPL channel allocation when more than 18 notes are active, so that channels that have completely faded out are prioritized over channels that have already been released but have not faded out yet. - [Fix] <js> Previewing an OPL instrument could cause the first pattern channel to no longer be played back correctly (http://bugs.openmpt.org/view.php?id=1323). @@ -1570,7 +1622,7 @@ Audio I/O - [New] <jh> WASAPI: Provide a default device which automatically follows changes in the default audio device. - [Imp] <jh> ASIO: Provide 64-bit floating point if supported by the driver. -- [Imp] <jh> ASIO: Support deferred processing. Can be turned off by setting "Sound Settings.AllowDeferredProcessing" to false if it causes trouble. +- [Imp] <jh> ASIO: Support deferred processing. Can be turned off by setting "Sound Settings.AllowDeferredProcessing" to false if it causes trouble. - [Mod] <jh> Audio driver crashes are no longer silently masked as they may leave the program in an inconsistent state. The new hidden setting "Sound Settings.MaskDriverCrashes" can be toggled to revert to the old behaviour. - [Mod] <jh> Deprecated sound devices are no longer shown by default. Use the "Show deprecated devices" checkbox to re-enable them. - [Mod] <jh> Notify users if they use a deprecated sound device on startup. @@ -1624,7 +1676,7 @@ - [Fix] <js> DMF: Some files had a wrong tempo since OpenMPT 1.25.02.00 (http://bugs.openmpt.org/view.php?id=1303). Misc -- [Imp] <js> When changing from modern tempo mode to classic or alternative tempo mode, the initial song tempo is now retained better. +- [Imp] <js> When changing from modern tempo mode to classic or alternative tempo mode, the initial song tempo is now retained better. - [Fix] <js> Potential crash when trying to save a file to a drive that no longer exists. Third-Party Libraries @@ -1698,7 +1750,7 @@ Other formats - [Fix] <js> MID: Possible crash when importing more than one sustain pedal release message following a note-off. -- [Fix] <js> MO3: MIDI program / bank was actually not imported as announced in v1.28.03.00. +- [Fix] <js> MO3: MIDI program / bank was actually not imported as announced in v1.28.03.00. Misc - [Imp] <js> When adding a sound font fails, an error message is shown. @@ -1865,7 +1917,7 @@ Sample tab - [New] <jh> Add Apple CAF and Sony Wave64 sample import. Only basic uncompressed formats are supported and no detailed instrument or sample metadata is imported for now. -- [New] <js> Can now read SBI (OPL2 instrument) files. +- [New] <js> Can now read SBI (OPL2 instrument) files. - [New] <js> Can now write S3I (Scream Tracker 3 instrument) files, mainly intended for saving OPL instruments. - [Imp] <js> Faster sample normalization. - [Imp] <jh> Read sample title from AU files. @@ -1991,7 +2043,7 @@ Other formats - [Fix] <js> MED: Possible crash with malformed files. - + Misc - [Imp] <js> Implement horizontal wheel scrolling for pattern / sample / instrument editors. Useful e.g. for pattern navigation with some trackpoint drivers. - [Fix] <js> Notes triggered from any editor could be played with a panbrello effect if some other channel was previously playing with panbrello. @@ -2011,7 +2063,7 @@ Tree view - [Fix] <jh> Fix crackling, initial missing frames or sometimes even completely in audible instrument preview. -Playback +Playback - [Fix] <js> The first few frames of previewed notes in the sample, instrument and pattern editors were sometimes cut off (http://bugs.openmpt.org/view.php?id=209). - [Fix] <js> Jump commands on the same row as the end of a pattern loop covering the restart position of the module could cause the module to loop even when looping was disabled (tx pulsewidth). @@ -2128,7 +2180,7 @@ - [Fix] <js> Crash after removing all patterns (http://bugs.openmpt.org/view.php?id=1091). Playback -- [Fix] <js> Some filter changes through MIDI macros were not applied if the note volume was set to 0 on the same row. +- [Fix] <js> Some filter changes through MIDI macros were not applied if the note volume was set to 0 on the same row. Other formats - [Imp] <js> MED: Import "STP" note stop command. @@ -2172,7 +2224,7 @@ - [Imp] <js> Add drop-down menu for saving all instruments. Comments tab -- [Fix] <js> Soft tabs did not have the correct size most of the time (http://bugs.openmpt.org/view.php?id=1083). +- [Fix] <js> Soft tabs did not have the correct size most of the time (http://bugs.openmpt.org/view.php?id=1083). Tree view - [Mod] <js> Do not enforce dragged-over items to be completely visible when using drag and drop (tx sincx). @@ -2180,7 +2232,7 @@ - [Fix] <js> Even after removing all patterns, they were still visible. Other formats -- [Fix] <js> IMF: Filter cutoff was upside down. +- [Fix] <js> IMF: Filter cutoff was upside down. - [Fix] <js> MED: Correctly import patterns with less channels than the maximum used amount (http://bugs.openmpt.org/view.php?id=1036). - [Fix] <js> STM: More accurate tempo calculation and better support for old format versions. - [Fix] <js> Possible small memory leaks and crashes with malformed STP files. @@ -2194,7 +2246,7 @@ -------------------------------------------- Pattern tab - [Fix] <js> Shrinking a selection did not work as intended when merging an effect command for the second row of two merged rows. -- [Fix] <js> It was possible to interpolate columns even if pattern editing was disabled. +- [Fix] <js> It was possible to interpolate columns even if pattern editing was disabled. Sample tab - [Imp] <js> When dropping a sample with no filename from another module, copy the module name to the filename field instead. @@ -2318,7 +2370,7 @@ - [Imp] <js> Seeking now updates the vibrato / tremolo / panbrello position. - [Imp] <js> Show pattern location of undo / redo action in menu entries. - [Mod] <js> Rename old "Select Column" to "Select Channel". -- [Mod] <js> "Maintain sample sync on seek" is now enabled by default on new installations. +- [Mod] <js> "Maintain sample sync on seek" is now enabled by default on new installations. - [Fix] <js> Recording MIDI macros over existing PC events resulted in incorrect pattern data. - [Fix] <js> Various order editing features (e.g. drag & drop) did not always work correctly when extending the sequence past the 256th order item. - [Fix] <js> When pasting multiple patterns, patterns with names containing a "|" were not pasted correctly. @@ -2337,7 +2389,7 @@ - [Imp] <js> Can now resize sample in milliseconds instead of samples. - [Imp] <js> Can now display cursor position in hex (http://bugs.openmpt.org/view.php?id=963). - [Mod] <js> For samples whose path is known, offer this path when saving them rather than a name based on the possibly incomplete filename field. -- [Fix] <js> Small noise bursts when previewing sample or instrument after module was paused (http://bugs.openmpt.org/view.php?id=941). +- [Fix] <js> Small noise bursts when previewing sample or instrument after module was paused (http://bugs.openmpt.org/view.php?id=941). Instrument tab - [New] <js> Undo / Redo for instruments (http://bugs.openmpt.org/view.php?id=126). @@ -2353,8 +2405,8 @@ - [Reg] <js> No longer allow per-instrument resampling to be used in IT and XM files. Legacy modules are not affected. Comments tab -- [Imp] <js> The Tab key can now be used to insert soft tabs (http://bugs.openmpt.org/view.php?id=148). -- [Imp] <jh> Use the full available space for the comments text edit control for MPTM and XM files. For IT, limit the displayed width to 75 chars (http://bugs.openmpt.org/view.php?id=148). +- [Imp] <js> The Tab key can now be used to insert soft tabs (http://bugs.openmpt.org/view.php?id=148). +- [Imp] <jh> Use the full available space for the comments text edit control for MPTM and XM files. For IT, limit the displayed width to 75 chars (http://bugs.openmpt.org/view.php?id=148). - [Fix] <jh> Do not force raster font and character width for the comment font. This results in unintended bad font rendering, especially on Wine (http://bugs.openmpt.org/view.php?id=873). Tree view @@ -2589,7 +2641,7 @@ v1.26.11.00 (21 May 2017, revision 8187) ---------------------------------------- Pattern tab -- [Imp] <js> Show a warning when duplicating patterns exceeds the pattern limit of the format. +- [Imp] <js> Show a warning when duplicating patterns exceeds the pattern limit of the format. - [Fix] <js> Channel panning was not always updated from instruments / samples when seeking (tx oerg866). - [Fix] <js> Out-of-range global volume was not applied correctly in some formats when seeking. @@ -2766,7 +2818,7 @@ - [Imp] <js> Converting an XM instrument with no volume envelope to IT / MPTM now creates an envelope which instantly cuts the sample on key-off. Playback -- [Fix] <js> Tremolo on quiet notes was broken in OpenMPT 1.26.06.00 (http://bugs.openmpt.org/view.php?id=888). +- [Fix] <js> Tremolo on quiet notes was broken in OpenMPT 1.26.06.00 (http://bugs.openmpt.org/view.php?id=888). S3M - [Fix] <js> Pattern loops ending on the last row of a pattern were not executed properly (http://bugs.openmpt.org/view.php?id=887). @@ -3124,7 +3176,7 @@ - [Fix] <js> MadTracker 2 plays portamento-ed notes even if previously no note was playing. Disable this FT2 compatibility fix for XMs made with MadTracker (fixes m3_cha.xm). - [Fix] <js> Skale Tracker plays notes with out-of-range offset commands. Disable this FT2 compatibility fix for XMs made with Skale Tracker. -XM::Compatible Playback Mode +XM::Compatible Playback Mode - [Fix] <js> Portamento with no active note still played the new note if the previous note just stopped playing on the previous tick (fixes u-k3symb.xm). S3M @@ -3147,15 +3199,15 @@ - [New] <js & jh> Added built-in MO3 support that does not rely on the closed-source UNMO3. - [Imp] <js> MT2: Support for the full dynamic range of drum channels. - [Imp] <js> MT2: Try to apply track routing by copying plugin chains. +- [Imp] <js> MT2: Import more pattern commands. - [Fix] <js> MT2: Plugin parameters were not restored correctly. - [Fix] <js> MT2: Do not reset instrument fade value if NNA is set to Note Fade (fixes driven.mt2 by Screes) -- [Imp] <js> MT2: Import more pattern commands. - [Fix] <js> MT2: Some sample to instrument associations were missing (fixes Dream Alone by Sonic) - [Fix] <da & js> Various Ultimate SoundTracker heuristic fixes (http://bugs.openmpt.org/view.php?id=751). - [Fix] <js> MDL: The tail of compressed samples was slightly off in OpenMPT 1.25. - [Fix] <js> J2B: Properly import non-existing patterns. - [Fix] <js> Files with lots of NUL bytes at the start are no longer falsely detected as Ultimate SoundTracker modules. -- [Fix] <js> Possible crashes with malformed AMF, AMS, DBM, IT, MDL, MED, MPTM, MT2, PSM and MMCMP-, XPK- and PP20-compressed files. +- [Fix] <js> Possible crashes with malformed AMF, AMS, DBM, IT, MDL, MED, MPTM, MT2, PSM and MMCMP-, XPK- and PP20-compressed files. Module cleanup - [New] <js> Add option to merge identical patterns (http://bugs.openmpt.org/view.php?id=738). @@ -3234,7 +3286,7 @@ - [Fix] <js> MIDI Mapping Dialog: MIDI Learn did not work when opening the dialog from a plugin editor (http://forum.openmpt.org/index.php?topic=5550.0). - [Fix] <js> Using key bindings in paths longer than 260 characters should now work properly. - [Fix] <js> Disabling "Repeat notes on hold" for all notes at once was broken. - + v1.25.03.00 (31 October 2015, revision 5703) -------------------------------------------- @@ -3296,9 +3348,9 @@ - [Mod] <js> ITP: For the rare case that an ITP file loaded a 24-bit or higher quality WAV sample as an instrument, always enable the auto-normalize feature for those samples, as this was the default and fixed setting for loading such samples during most of the time when the ITP format was actively supported. - [Fix] <js> MT2: Better handling of filters and synchronized samples. - [Fix] <js> Crash in MED loader. - + Stream Export -- [Imp] <jh> Write ReplayGain tags when exporting VBR MP3 using libmp3lame (http://bugs.openmpt.org/view.php?id=712). Can be disabled using "Export.MP3LameCalculateReplayGain", "Export.MP3LameCalculatePeakSample" and "Export.MP3ID3v2WriteReplayGainTXXX" settings. +- [Imp] <jh> Write ReplayGain tags when exporting VBR MP3 using libmp3lame (http://bugs.openmpt.org/view.php?id=712). Can be disabled using "Export.MP3LameCalculateReplayGain", "Export.MP3LameCalculatePeakSample" and "Export.MP3ID3v2WriteReplayGainTXXX" settings. - [Imp] <jh> ID3v2 padding size is now configurable via hidden settings "Export.MP3ID3v2MinPadding" and "Export.MP3ID3v2PaddingAlignHint". - [Imp] <jh> Use ID3v2.4 tags also when exporting VBR MP3 using libmp3lame. Toggle hidden setting "Export.MP3LameID3v2UseLame" to revert to ID3v2.3 tags. @@ -3548,7 +3600,7 @@ Sample tab - [New] <js> The MPTM volume column offset command has been revamped: 9 custom cue points can be selected for each sample in the waveform's context menu, which can then be triggered using o01...o09 (http://bugs.openmpt.org/view.php?id=91). -- [New] <js> Crossfader can now use constant power (instead of constant volume) fade law for even smoother loop transitions. The sample can now optionally be faded back to its original content after the loop end. +- [New] <js> Crossfader can now use constant power (instead of constant volume) fade law for even smoother loop transitions. The sample can now optionally be faded back to its original content after the loop end. - [New] <js> New fade curves in amplification dialog: Exponential, Logarithmic, Square Root, Quarter Sine, Half Sine. - [Mod] <js> Middle-C finetune adjustments are now made in cents (1/100th of a semitone) instead of Hertz. - [Fix] <js> Inputting a new middle-C frequency created an undo step for every entered digit. @@ -3617,7 +3669,7 @@ - [Imp] <js> Data entry shortcuts / scroll wheel do now take the default volume into consideration, i.e. when making a data entry in an empty volume column field next to a note, a volume command is inserted (http://forum.openmpt.org/index.php?topic=5411.0). - [Imp] <js> Show verbose effect descriptions in the status bar instead of the short versions (http://bugs.openmpt.org/view.php?id=51). - [Imp] <js> Note-offs from past notes are no longer written when recording notes into patterns (http://bugs.openmpt.org/view.php?id=645). -- [Mod] <js> In IT and XM, the o command (Offset) can no longer be entered into the volume column, as it's an OpenMPT-specific command. Old files using this command will still play as intended. +- [Mod] <js> In IT and XM, the o command (Offset) can no longer be entered into the volume column, as it's an OpenMPT-specific command. Old files using this command will still play as intended. - [Fix] <js> The Parameter Editor refused to work under random conditions. Sample tab @@ -3805,7 +3857,7 @@ - [Imp] <jh> VU Meter: Rear channels are now also shown in quad mode. - [Mod] <js> When merging the default key map into a custom key map, event types are now completely ignored, so if e.g. the user has assigned a certain key on "key hold" but the default key map uses the same key on "key down" only, this version is no longer added. - [Mod] <js> Autosave: When "Use song's original directory" is enabled, but the song has not been saved so far, it is now saved in a sub folder called "Autosave" instead of the root of the settings directory. In this case, modules created from templates are now also autosaved into this folder instead of the template folder. -- [Mod] <jh> Added setting LoadOnStartup in [Components] to optionally load all optional components (such as MP3 encoders, UNMO3, etc.) on startup rather than first use. KeepLoaded (also in [Components]) determines whether components stay in memory after they have been used (this is the default behaviour). +- [Mod] <jh> Added setting LoadOnStartup in [Components] to optionally load all optional components (such as MP3 encoders, UNMO3, etc.) on startup rather than first use. KeepLoaded (also in [Components]) determines whether components stay in memory after they have been used (this is the default behaviour). - [Mod] <js> Rename "Colours" settings tab to "Display". - [Fix] <js> Soft Panning check box in Mixer settings didn't work (http://bugs.openmpt.org/view.php?id=602). - [Reg] <js> Removed noSettingsOnNewVersion command line switch. It's no longer necessary as there is also a hidden setting that does the same. |
From: <sv...@op...> - 2024-07-21 11:46:53
|
Author: sagamusix Date: Sun Jul 21 13:46:41 2024 New Revision: 21218 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21218 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 Sun Jul 21 13:45:32 2024 (r21217) +++ branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Sun Jul 21 13:46:41 2024 (r21218) @@ -98,7 +98,7 @@ * IT: Disable a few more compatibility flags for older SchismTracker builds. * IT: Halve the output volume of files saved with ChibiTracker, as its mixer - * is about half as loud as ours. + is about half as loud as ours. * S3M: In mono mode, the ratio between sample and OPL volume was incorrect. * S3M: Detect files saved with PlayerPRO. * XM: Detect files saved with PlayerPRO. Improved detection of files saved |
From: <sv...@op...> - 2024-07-21 11:45:39
|
Author: sagamusix Date: Sun Jul 21 13:45:32 2024 New Revision: 21217 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21217 Log: [Doc] libopenmpt: Update changelog. Modified: branches/OpenMPT-1.28/libopenmpt/dox/changelog.md Modified: branches/OpenMPT-1.28/libopenmpt/dox/changelog.md ============================================================================== --- branches/OpenMPT-1.28/libopenmpt/dox/changelog.md Sun Jul 21 13:45:24 2024 (r21216) +++ branches/OpenMPT-1.28/libopenmpt/dox/changelog.md Sun Jul 21 13:45:32 2024 (r21217) @@ -7,6 +7,14 @@ ### libopenmpt 0.4.44-pre + * [**Sec**] Potential division by 0 when seeking in the module with + `seek.sync_samples` enabled (r21170). + + * DBM: Prioritize effects more correctly when the same effect is encountered + in both effect columns of a cell (fixes DBM.143_Gnoj). + * DBM: A few IT-specific playback quirks are disabled for more accurate + playback (e.g. in "Are You Flying With Me?" by Jazzcat). + ### libopenmpt 0.4.43 (2024-06-09) * AMS: Default channel panning was broken, using all-center panning instead of |
From: <sv...@op...> - 2024-07-21 11:45:31
|
Author: sagamusix Date: Sun Jul 21 13:45:24 2024 New Revision: 21216 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21216 Log: [Doc] libopenmpt: Update changelog. Modified: branches/OpenMPT-1.29/libopenmpt/dox/changelog.md Modified: branches/OpenMPT-1.29/libopenmpt/dox/changelog.md ============================================================================== --- branches/OpenMPT-1.29/libopenmpt/dox/changelog.md Sun Jul 21 13:45:12 2024 (r21215) +++ branches/OpenMPT-1.29/libopenmpt/dox/changelog.md Sun Jul 21 13:45:24 2024 (r21216) @@ -7,6 +7,16 @@ ### libopenmpt 0.5.32-pre + * [**Sec**] Potential division by 0 when seeking in the module with + `seek.sync_samples` enabled (r21169). + + * DBM: Prioritize effects more correctly when the same effect is encountered + in both effect columns of a cell (fixes DBM.143_Gnoj). + * DBM: A few IT-specific playback quirks are disabled for more accurate + playback (e.g. in "Are You Flying With Me?" by Jazzcat). + * MED: Command 0F was not imported. + * MED: Upper frequency limits should be more accurate now. + ### libopenmpt 0.5.31 (2024-06-09) * AMS: Default channel panning was broken, using all-center panning instead of |
From: <sv...@op...> - 2024-07-21 11:45:19
|
Author: sagamusix Date: Sun Jul 21 13:45:12 2024 New Revision: 21215 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21215 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 Sun Jul 21 13:44:58 2024 (r21214) +++ branches/OpenMPT-1.30/libopenmpt/dox/changelog.md Sun Jul 21 13:45:12 2024 (r21215) @@ -7,6 +7,19 @@ ### libopenmpt 0.6.18-pre + * [**Sec**] Potential division by 0 when seeking in the module with + `seek.sync_samples` enabled (r21168). + + * DBM: Prioritize effects more correctly when the same effect is encountered + in both effect columns of a cell (fixes DBM.143_Gnoj). + * DBM: Don't import offset effects when there's a tone portmento next to them. + * DBM: A few IT-specific playback quirks are disabled for more accurate + playback (e.g. in "Are You Flying With Me?" by Jazzcat). + * DIGI: Sample play direction was reset if adjacent channel contained a + Note Cut note. + * MED: Command 0F was not imported. + * MED: Upper frequency limits should be more accurate now. + ### libopenmpt 0.6.17 (2024-06-09) * AMS: Default channel panning was broken, using all-center panning instead of |
From: <sv...@op...> - 2024-07-21 11:45:11
|
Author: sagamusix Date: Sun Jul 21 13:44:58 2024 New Revision: 21214 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21214 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 Sun Jul 21 13:40:34 2024 (r21213) +++ branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Sun Jul 21 13:44:58 2024 (r21214) @@ -7,6 +7,9 @@ ### libopenmpt 0.7.9-pre + * [**Sec**] Potential division by 0 when seeking in the module with + `seek.sync_samples` enabled (r21167). + * [**Change**] The work-around for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049> has been changed from forcing `-O1` on GCC 14 to setting `-fno-ipa-ra` on all GCC versions on @@ -16,22 +19,8 @@ 15.1.0 as soon as they are released, or to apply the patch from the linked GCC issues. - * IT: Identify files saved with itwriter. - * XM: For files saved with registered MadTracker 2 versions, do not put - binary garbage (the user ID) in the tracker metadata field. It is replaced - with "registered" instead. - * For some truncated files, the used tracker was not identified correctly. - * XM: oggmod does not support stereo samples but keeps the stereo flag when - encoding such samples. Such samples are now imported as mono samples instead - of not importing them at all. - * S3M: 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. - * S3M: When skipping sample loading, some tracker identifications were not - working as intended. * MOD: Allow sample swapping to work when swapping from a non-looping, stopped sample back to a looping sample (fixes MOD.energy). - * DTM: Identify files saved with Digital Tracker 2.3. * DBM: Import second sustain point in case the first sustain point is not set, or if it has a lower index than the first. * DBM: When several instruments referenced the same sample with different @@ -39,14 +28,37 @@ imported (fixes DBM.Supernova). * DBM: Prioritize effects more correctly when the same effect is encountered in both effect columns of a cell (fixes DBM.143_Gnoj). - * DBM: Avoid importing offset effects when there's a tone portmento next to - them (fixes DBM.123_Savo). + * DBM: Don't import offset effects when there's a tone portmento next to them. * DBM: A few IT-specific playback quirks are disabled for more accurate playback (e.g. in "Are You Flying With Me?" by Jazzcat). - * AMF: When running out of sample slots, file reading became be misaligned - because the sample name was not skipped. * DIGI: Sample play direction was reset if adjacent channel contained a Note Cut note. + * AMF: When running out of sample slots, file reading became be misaligned + because the sample name was not skipped. + * MED: Command 0F was not imported. + * MED: Upper frequency limits should be more accurate now. + * MED: Channel panning is now only applied in MMD2 files if the free pan flag + is set. + * MED: Volume command resolution was incorrect for pre-MMD3 files. + * XM: oggmod does not support stereo samples but keeps the stereo flag when + encoding such samples. Such samples are now imported as mono samples instead + of not importing them at all. + * XM: For files saved with registered MadTracker 2 versions, do not put + binary garbage (the user ID) in the tracker metadata field. It is replaced + with "registered" instead. + * For some truncated files, the used tracker was not identified correctly. + * S3M: 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. + * S3M: When skipping sample loading, some tracker identifications were not + working as intended. + * IT: Identify files saved with itwriter. + * DTM: Identify files saved with Digital Tracker 2.3. + + * xmp-openmpt: If there is only one subsong, set the song title to the + "global" song title instead of the name of that subsong. + * xmp-openmpt: Sample and instrument names were not sanitized, sometimes + showing on multiple rows. ### libopenmpt 0.7.8 (2024-06-09) |
From: <sv...@op...> - 2024-07-21 11:40:46
|
Author: sagamusix Date: Sun Jul 21 13:40:34 2024 New Revision: 21213 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21213 Log: Merged revision(s) 21188 from trunk/OpenMPT: [Fix] MED: Command 0F was not imported properly. ........ Merged revision(s) 21189 from trunk/OpenMPT: [Fix] MED: Apply more suitable lower period limits. Should fix Silly.med. The limit for software mixing may not be accurate. ........ Modified: branches/OpenMPT-1.29/ (props changed) branches/OpenMPT-1.29/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.29/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.29/soundlib/Load_med.cpp Sun Jul 21 13:37:31 2024 (r21212) +++ branches/OpenMPT-1.29/soundlib/Load_med.cpp Sun Jul 21 13:40:34 2024 (r21213) @@ -434,7 +434,7 @@ if(m.param < 0x20) m.param = 0x20; #endif // MODPLUG_TRACKER - } else switch(m.command) + } else switch(m.param) { case 0xF1: // Play note twice m.command = CMD_MODCMDEX; @@ -742,6 +742,7 @@ // - starkelsesirap.mmd0 (synth instruments) on the other hand don't need it // In MMD2 / MMD3, the mix flag is used instead. const bool hardwareMixSamples = (version < 2) || (version >= 2 && !(songHeader.flags2 & MMDSong::FLAG2_MIX)); + m_nMinPeriod = hardwareMixSamples ? (113 * 4) : (55 * 4); bool needInstruments = false; bool anySynthInstrs = false; |
From: <sv...@op...> - 2024-07-21 11:37:39
|
Author: sagamusix Date: Sun Jul 21 13:37:31 2024 New Revision: 21212 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21212 Log: Merged revision(s) 21189 from trunk/OpenMPT: [Fix] MED: Apply more suitable lower period limits. Should fix Silly.med. The limit for software mixing may not be accurate. ........ Merged revision(s) 21188 from trunk/OpenMPT: [Fix] MED: Command 0F was not imported properly. ........ Modified: branches/OpenMPT-1.30/ (props changed) branches/OpenMPT-1.30/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.30/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.30/soundlib/Load_med.cpp Sun Jul 21 07:10:46 2024 (r21211) +++ branches/OpenMPT-1.30/soundlib/Load_med.cpp Sun Jul 21 13:37:31 2024 (r21212) @@ -439,7 +439,7 @@ if(m.param < 0x20) m.param = 0x20; #endif // MODPLUG_TRACKER - } else switch(m.command) + } else switch(m.param) { case 0xF1: // Play note twice m.command = CMD_MODCMDEX; @@ -747,6 +747,7 @@ // - starkelsesirap.mmd0 (synth instruments) on the other hand don't need it // In MMD2 / MMD3, the mix flag is used instead. const bool hardwareMixSamples = (version < 2) || (version >= 2 && !(songHeader.flags2 & MMDSong::FLAG2_MIX)); + m_nMinPeriod = hardwareMixSamples ? (113 * 4) : (55 * 4); bool needInstruments = false; bool anySynthInstrs = false; |
From: <sv...@op...> - 2024-07-21 05:10:59
|
Author: manx Date: Sun Jul 21 07:10:46 2024 New Revision: 21211 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21211 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 Sun Jul 21 01:13:33 2024 (r21210) +++ branches/OpenMPT-1.31/doc/libopenmpt/changelog.md Sun Jul 21 07:10:46 2024 (r21211) @@ -10,7 +10,11 @@ * [**Change**] The work-around for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049> has been changed from forcing `-O1` on GCC 14 to setting `-fno-ipa-ra` on all GCC versions on - non-ELF platforms. + non-ELF platforms. We are still not 100% sure if this work-around is + sufficient in all circumstances. if you are using a non-ELF platform, it is + strongly recommended to update GCC to versions 12.5.0, 13.4.0, 14.2.0, or + 15.1.0 as soon as they are released, or to apply the patch from the linked + GCC issues. * IT: Identify files saved with itwriter. * XM: For files saved with registered MadTracker 2 versions, do not put |
From: <sv...@op...> - 2024-07-20 23:13:45
|
Author: sagamusix Date: Sun Jul 21 01:13:33 2024 New Revision: 21210 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21210 Log: Merged revision(s) 21209 from trunk/OpenMPT: [Fix] xmp-openmpt: Sanitize sample / instrument names to avoid line breaks. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Modified: branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp ============================================================================== --- branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Sun Jul 21 01:13:12 2024 (r21209) +++ branches/OpenMPT-1.31/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Sun Jul 21 01:13:33 2024 (r21210) @@ -1233,7 +1233,7 @@ } str << title << " Names:" << "\r"; for ( std::size_t i = 0; i < names.size(); i++ ) { - str << std::setfill('0') << std::setw(2) << (display_offset + i) << std::setw(0) << "\t" << convert_to_native( names[i] ) << "\r"; + str << std::setfill( '0' ) << std::setw( 2 ) << ( display_offset + i ) << std::setw( 0 ) << "\t" << convert_to_native( sanitize_xmplay_info_string( names[i] ) ) << "\r"; } str << "\r"; } |
From: <sv...@op...> - 2024-07-20 23:13:26
|
Author: sagamusix Date: Sun Jul 21 01:13:12 2024 New Revision: 21209 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21209 Log: [Fix] xmp-openmpt: Sanitize sample / instrument names to avoid line breaks. Modified: trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Modified: trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp ============================================================================== --- trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Sun Jul 21 00:39:25 2024 (r21208) +++ trunk/OpenMPT/libopenmpt/xmp-openmpt/xmp-openmpt.cpp Sun Jul 21 01:13:12 2024 (r21209) @@ -1261,7 +1261,7 @@ } str << title << " Names:" << "\r"; for ( std::size_t i = 0; i < names.size(); i++ ) { - str << std::setfill('0') << std::setw(2) << (display_offset + i) << std::setw(0) << "\t" << convert_to_native( names[i] ) << "\r"; + str << std::setfill( '0' ) << std::setw( 2 ) << ( display_offset + i ) << std::setw( 0 ) << "\t" << convert_to_native( sanitize_xmplay_info_string( names[i] ) ) << "\r"; } str << "\r"; } |
From: <sv...@op...> - 2024-07-20 22:39:37
|
Author: sagamusix Date: Sun Jul 21 00:39:25 2024 New Revision: 21208 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21208 Log: [Imp] Instrument library: Show size information for samples in modules, and use cached information for displaying file size and modification time of on-disk files. Modified: trunk/OpenMPT/mptrack/View_tre.cpp Modified: trunk/OpenMPT/mptrack/View_tre.cpp ============================================================================== --- trunk/OpenMPT/mptrack/View_tre.cpp Sat Jul 20 20:41:38 2024 (r21207) +++ trunk/OpenMPT/mptrack/View_tre.cpp Sun Jul 21 00:39:25 2024 (r21208) @@ -3370,21 +3370,24 @@ if(m_redrawLockCount) return; HTREEITEM hItem = GetSelectedItem(); - switch(GetModItem(hItem).type) + const auto type = GetModItem(hItem).type; + switch(type) { case MODITEM_INSLIB_SONG: case MODITEM_INSLIB_SAMPLE: case MODITEM_INSLIB_INSTRUMENT: - if(WIN32_FILE_ATTRIBUTE_DATA fad; GetFileAttributesEx(InsLibGetFullPath(hItem).AsNative().c_str(), GetFileExInfoStandard, &fad)) + if(uint32 itemData = static_cast<uint32>(GetItemData(hItem)); itemData > 0 && itemData <= m_fileBrowserEntries.size()) { - LARGE_INTEGER size; - size.HighPart = fad.nFileSizeHigh; - size.LowPart = fad.nFileSizeLow; - FILETIME localTime; - FileTimeToLocalFileTime(&fad.ftLastWriteTime, &localTime); - SYSTEMTIME sysTime; - FileTimeToSystemTime(&localTime, &sysTime); - m_HelpText = MPT_CFORMAT("Size: {}, last modified: {}")(FormatFileSize(size.QuadPart), CTime(sysTime).Format(_T("%d %b %Y, %H:%M:%S"))); + const auto &entry = m_fileBrowserEntries[itemData - 1]; + m_HelpText = MPT_CFORMAT("Size: {}")(FormatFileSize(entry.size)); + if(!m_SongFile) + { + const FILETIME modtime{LODWORD(entry.modtime), HIDWORD(entry.modtime)}; + m_HelpText += MPT_CFORMAT(", last modified: {}")(CTime(modtime).Format(_T("%d %b %Y, %H:%M:%S"))); + } else if(type != MODITEM_INSLIB_SAMPLE) + { + m_HelpText.Empty(); + } CMainFrame::GetMainFrame()->SetHelpText(m_HelpText); } break; |
From: <sv...@op...> - 2024-07-20 18:41:49
|
Author: sagamusix Date: Sat Jul 20 20:41:38 2024 New Revision: 21207 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21207 Log: [Ref] Remove commont about no-longer fishy condition. Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp Sat Jul 20 19:05:52 2024 (r21206) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp Sat Jul 20 20:41:38 2024 (r21207) @@ -6760,7 +6760,6 @@ PLUGINDEX plug = 0; if(chn.pModInstrument != nullptr) { - // TODO this looks fishy. Shouldn't it check the mute status of the instrument itself?! if(respectMutes == RespectMutes && chn.pModInstrument->dwFlags[INS_MUTE]) plug = 0; else |
From: <sv...@op...> - 2024-07-20 17:06:00
|
Author: sagamusix Date: Sat Jul 20 19:05:52 2024 New Revision: 21206 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21206 Log: [Fix] r6129 broke old plugin behaviour: Previously it was possible to send MIDI notes to channel plugins if the current instrument had a valid MIDI channel. The old behaviour is now re-enabled for old modules. Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp trunk/OpenMPT/soundlib/Snd_defs.h trunk/OpenMPT/soundlib/Snd_fx.cpp trunk/OpenMPT/soundlib/Sndfile.h trunk/OpenMPT/soundlib/Sndmix.cpp trunk/OpenMPT/soundlib/UpgradeModule.cpp Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp ============================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp Sat Jul 20 16:22:36 2024 (r21205) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp Sat Jul 20 19:05:52 2024 (r21206) @@ -668,7 +668,7 @@ case kST3EffectMemory: desc = _T("Most effects share the same memory"); break; case kST3PortaSampleChange: desc = _T("Portamento with instrument number applies volume settings of new sample, but not the new sample itself (GUS)"); break; case kST3VibratoMemory: desc = _T("Do not remember vibrato type in effect memory"); break; - case kST3LimitPeriod: desc = _T("ModPlug Tracker frequency limits"); break; + case kST3LimitPeriod: desc = _T("Stop note when reaching the format's maximum note frequency"); break; case KST3PortaAfterArpeggio: desc = _T("Portamento immediately following an arpeggio effect continues at the last arpeggiated note"); break; case kMODOneShotLoops: desc = _T("ProTracker one-shot loops"); break; case kMODIgnorePanning: desc = _T("Ignore panning commands"); break; @@ -713,6 +713,7 @@ case kITEmptyNoteMapSlotIgnoreCell: desc = _T("Ignore pattern cell completely when trying to play unmapped instrument note"); break; case kITOffsetWithInstrNumber: desc = _T("Offset command with instrument number recalls offset with last note"); break; case kContinueSampleWithoutInstr: desc = _T("New note without instrument number does not play looped samples from the start"); break; + case kMIDINotesFromChannelPlugin: desc = _T("MIDI notes can be sent to channel plugins"); break; default: MPT_ASSERT_NOTREACHED(); } Modified: trunk/OpenMPT/soundlib/Snd_defs.h ============================================================================== --- trunk/OpenMPT/soundlib/Snd_defs.h Sat Jul 20 16:22:36 2024 (r21205) +++ trunk/OpenMPT/soundlib/Snd_defs.h Sat Jul 20 19:05:52 2024 (r21206) @@ -597,6 +597,7 @@ kITEmptyNoteMapSlotIgnoreCell, // IT ignores the entire pattern cell when trying to play an unmapped note of an instrument kITOffsetWithInstrNumber, // IT applies offset commands even if just an instrument number without note is present kContinueSampleWithoutInstr, // FTM: A note without instrument number continues looped samples with the new pitch instead of retriggering them + kMIDINotesFromChannelPlugin, // Behaviour before OpenMPT 1.26: Channel plugin can be used to send MIDI notes // Add new play behaviours here. Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp Sat Jul 20 16:22:36 2024 (r21205) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp Sat Jul 20 19:05:52 2024 (r21206) @@ -2477,7 +2477,7 @@ case NewNoteAction::NoteCut: case NewNoteAction::NoteFade: // Switch off note played on this plugin, on this tracker channel and midi channel - SendMIDINote(nChn, NOTE_KEYOFF, 0); + SendMIDINote(nChn, NOTE_KEYOFF, 0, m_playBehaviour[kMIDINotesFromChannelPlugin] ? pPlugin : nullptr); srcChn.nArpeggioLastNote = NOTE_NONE; srcChn.lastMidiNoteWithoutArp = NOTE_NONE; break; @@ -5748,24 +5748,22 @@ } -void CSoundFile::SendMIDINote(CHANNELINDEX chn, uint16 note, uint16 volume) +void CSoundFile::SendMIDINote(CHANNELINDEX chn, uint16 note, uint16 volume, IMixPlugin *plugin) { #ifndef NO_PLUGINS auto &channel = m_PlayState.Chn[chn]; const ModInstrument *pIns = channel.pModInstrument; // instro sends to a midi chan - if (pIns && pIns->HasValidMIDIChannel()) + if(pIns && pIns->HasValidMIDIChannel()) { - PLUGINDEX plug = pIns->nMixPlug; - if(plug > 0 && plug <= MAX_MIXPLUGINS) + if(plugin == nullptr && pIns->nMixPlug > 0 && pIns->nMixPlug <= MAX_MIXPLUGINS) + plugin = m_MixPlugins[pIns->nMixPlug - 1].pMixPlugin; + + if(plugin != nullptr) { - IMixPlugin *pPlug = m_MixPlugins[plug - 1].pMixPlugin; - if (pPlug != nullptr) - { - pPlug->MidiCommand(*pIns, note, volume, chn); - if(note < NOTE_MIN_SPECIAL) - channel.nLeftVU = channel.nRightVU = 0xFF; - } + plugin->MidiCommand(*pIns, note, volume, chn); + if(note < NOTE_MIN_SPECIAL) + channel.nLeftVU = channel.nRightVU = 0xFF; } } #endif // NO_PLUGINS @@ -6743,17 +6741,12 @@ // If it looks like this is an NNA channel, we need to find the master channel. // This ensures we pick up the right ChnSettings. if(channel.nMasterChn > 0) - { nChn = channel.nMasterChn - 1; - } if(nChn < ChnSettings.size()) - { plugin = ChnSettings[nChn].nMixPlugin; - } else - { + else plugin = 0; - } } return plugin; } @@ -6768,13 +6761,10 @@ if(chn.pModInstrument != nullptr) { // TODO this looks fishy. Shouldn't it check the mute status of the instrument itself?! - if(respectMutes == RespectMutes && chn.pModSample && chn.pModSample->uFlags[CHN_MUTE]) - { + if(respectMutes == RespectMutes && chn.pModInstrument->dwFlags[INS_MUTE]) plug = 0; - } else - { + else plug = chn.pModInstrument->nMixPlug; - } } return plug; } Modified: trunk/OpenMPT/soundlib/Sndfile.h ============================================================================== --- trunk/OpenMPT/soundlib/Sndfile.h Sat Jul 20 16:22:36 2024 (r21205) +++ trunk/OpenMPT/soundlib/Sndfile.h Sat Jul 20 19:05:52 2024 (r21206) @@ -1100,7 +1100,7 @@ void ParseMIDIMacro(PlayState &playState, CHANNELINDEX nChn, bool isSmooth, const mpt::span<const char> macro, mpt::span<uint8> &out, uint8 param = 0, PLUGINDEX plugin = 0) const; static float CalculateSmoothParamChange(const PlayState &playState, float currentValue, float param); void SendMIDIData(PlayState &playState, CHANNELINDEX nChn, bool isSmooth, const mpt::span<const uint8> macro, PLUGINDEX plugin); - void SendMIDINote(CHANNELINDEX chn, uint16 note, uint16 volume); + void SendMIDINote(CHANNELINDEX chn, uint16 note, uint16 volume, IMixPlugin *plugin = nullptr); int SetupChannelFilter(ModChannel &chn, bool bReset, int envModifier = 256) const; int HandleNoteChangeFilter(ModChannel &chn) const; Modified: trunk/OpenMPT/soundlib/Sndmix.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Sndmix.cpp Sat Jul 20 16:22:36 2024 (r21205) +++ trunk/OpenMPT/soundlib/Sndmix.cpp Sat Jul 20 19:05:52 2024 (r21206) @@ -2658,7 +2658,7 @@ ModCommand::NOTE realNote = note; if(ModCommand::IsNote(note)) realNote = pIns->NoteMap[note - NOTE_MIN]; - SendMIDINote(nChn, realNote, static_cast<uint16>(chn.nVolume)); + SendMIDINote(nChn, realNote, static_cast<uint16>(chn.nVolume), m_playBehaviour[kMIDINotesFromChannelPlugin] ? pPlugin : nullptr); } else if(hasVolCommand) { pPlugin->MidiCC(MIDIEvents::MIDICC_Volume_Fine, vol, nChn); @@ -2692,7 +2692,7 @@ // Experimental VST panning //ProcessMIDIMacro(nChn, false, m_MidiCfg.Global[MIDIOUT_PAN], 0, nPlugin); if(m_playBehaviour[kPluginIgnoreTonePortamento] || !chn.rowCommand.IsTonePortamento()) - SendMIDINote(nChn, realNote, static_cast<uint16>(velocity)); + SendMIDINote(nChn, realNote, static_cast<uint16>(velocity), m_playBehaviour[kMIDINotesFromChannelPlugin] ? pPlugin : nullptr); } const bool processVolumeAlsoOnNote = (pIns->pluginVelocityHandling == PLUGIN_VELOCITYHANDLING_VOLUME); Modified: trunk/OpenMPT/soundlib/UpgradeModule.cpp ============================================================================== --- trunk/OpenMPT/soundlib/UpgradeModule.cpp Sat Jul 20 16:22:36 2024 (r21205) +++ trunk/OpenMPT/soundlib/UpgradeModule.cpp Sat Jul 20 19:05:52 2024 (r21206) @@ -431,9 +431,11 @@ // OpenMPT 1.18 fixed the depth of random pan in compatible mode. // OpenMPT 1.26 fixes it in normal mode too. if(!compatModeIT || m_dwLastSavedWithVersion < MPT_V("1.18.00.00")) - { ins->nPanSwing = static_cast<uint8>((ins->nPanSwing + 3) / 4u); - } + + // Before OpenMPT 1.26 (r6129), it was possible to trigger MIDI notes using channel plugins if the instrument had a valid MIDI channel. + if(!ins->nMixPlug && ins->HasValidMIDIChannel() && m_dwLastSavedWithVersion >= MPT_V("1.17.00.00")) + m_playBehaviour.set(kMIDINotesFromChannelPlugin); } } |
From: <sv...@op...> - 2024-07-20 14:22:43
|
Author: sagamusix Date: Sat Jul 20 16:22:36 2024 New Revision: 21205 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21205 Log: Merged revision(s) 21204 from trunk/OpenMPT: [Fix] MED: Don't apply panning table to MMD2 files that don't have the freepan flag set (https://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). [Fix] MED: Don't halve volume command parameters for pre-MMD3 files (https://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/soundlib/Load_med.cpp Modified: branches/OpenMPT-1.31/soundlib/Load_med.cpp ============================================================================== --- branches/OpenMPT-1.31/soundlib/Load_med.cpp Sat Jul 20 16:22:15 2024 (r21204) +++ branches/OpenMPT-1.31/soundlib/Load_med.cpp Sat Jul 20 16:22:36 2024 (r21205) @@ -419,9 +419,11 @@ if(param > 0 && param <= 20) m.SetEffectCommand(CMD_SPEED, param); break; - case 0x0C: // Set Volume + case 0x0C: // Set Volume (note: parameters >= 0x80 (only in hex mode?) should set the default instrument volume, which we don't support) if(!ctx.volHex && param < 0x99) m.SetEffectCommand(CMD_VOLUME, static_cast<ModCommand::PARAM>((param >> 4) * 10 + (param & 0x0F))); + else if(ctx.volHex && ctx.version < 3) + m.SetEffectCommand(CMD_VOLUME, static_cast<ModCommand::PARAM>(std::min(param & 0x7F, 64))); else if(ctx.volHex) m.SetEffectCommand(CMD_VOLUME, static_cast<ModCommand::PARAM>(((param & 0x7F) + 1) / 2)); break; @@ -1154,7 +1156,7 @@ ChnSettings[chn].nVolume = std::min<uint8>(file.ReadUint8(), 64); } } - if(header.trackPanOffset && file.Seek(header.trackPanOffset)) + if((freePan || version > 2) && header.trackPanOffset && file.Seek(header.trackPanOffset)) { for(CHANNELINDEX chn = 0; chn < m_nChannels; chn++) { @@ -1184,11 +1186,11 @@ mixPlug.Info.szLibraryName = "Echo"; std::array<float32le, 6> params{}; - params[1] = 1.0f; // WetDryMix - params[2] = feedback; // Feedback - params[3] = delay; // LeftDelay - params[4] = delay; // RightDelay - params[5] = header.mixEchoType == 2 ? 1.0f : 0.0f; // PanDelay + params[1] = 1.0f; // WetDryMix + params[2] = feedback; // Feedback + params[3] = delay; // LeftDelay + params[4] = delay; // RightDelay + params[5] = header.mixEchoType - 1.0f; // PanDelay mixPlug.pluginData.resize(sizeof(params)); memcpy(mixPlug.pluginData.data(), params.data(), sizeof(params)); } |
From: <sv...@op...> - 2024-07-20 14:22:28
|
Author: sagamusix Date: Sat Jul 20 16:22:15 2024 New Revision: 21204 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21204 Log: [Fix] MED: Don't apply panning table to MMD2 files that don't have the freepan flag set (https://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). [Fix] MED: Don't halve volume command parameters for pre-MMD3 files (https://www.un4seen.com/forum/?topic=15448.msg143276#msg143276). Modified: trunk/OpenMPT/soundlib/Load_med.cpp Modified: trunk/OpenMPT/soundlib/Load_med.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp Fri Jul 19 12:42:56 2024 (r21203) +++ trunk/OpenMPT/soundlib/Load_med.cpp Sat Jul 20 16:22:15 2024 (r21204) @@ -442,9 +442,11 @@ if(param > 0 && param <= 20) m.SetEffectCommand(CMD_SPEED, param); break; - case 0x0C: // Set Volume + case 0x0C: // Set Volume (note: parameters >= 0x80 (only in hex mode?) should set the default instrument volume, which we don't support) if(!ctx.volHex && param < 0x99) m.SetEffectCommand(CMD_VOLUME, static_cast<ModCommand::PARAM>((param >> 4) * 10 + (param & 0x0F))); + else if(ctx.volHex && ctx.version < 3) + m.SetEffectCommand(CMD_VOLUME, static_cast<ModCommand::PARAM>(std::min(param & 0x7F, 64))); else if(ctx.volHex) m.SetEffectCommand(CMD_VOLUME, static_cast<ModCommand::PARAM>(((param & 0x7F) + 1) / 2)); break; @@ -1334,7 +1336,7 @@ ChnSettings[chn].nVolume = std::min<uint8>(file.ReadUint8(), 64); } } - if(header.trackPanOffset && file.Seek(header.trackPanOffset)) + if((freePan || version > 2) && header.trackPanOffset && file.Seek(header.trackPanOffset)) { for(CHANNELINDEX chn = 0; chn < GetNumChannels(); chn++) { @@ -1364,11 +1366,11 @@ mixPlug.Info.szLibraryName = "Echo"; std::array<float32le, 6> params{}; - params[1] = 1.0f; // WetDryMix - params[2] = feedback; // Feedback - params[3] = delay; // LeftDelay - params[4] = delay; // RightDelay - params[5] = header.mixEchoType == 2 ? 1.0f : 0.0f; // PanDelay + params[1] = 1.0f; // WetDryMix + params[2] = feedback; // Feedback + params[3] = delay; // LeftDelay + params[4] = delay; // RightDelay + params[5] = header.mixEchoType - 1.0f; // PanDelay mixPlug.pluginData.resize(sizeof(params)); memcpy(mixPlug.pluginData.data(), params.data(), sizeof(params)); } |
From: <sv...@op...> - 2024-07-19 10:43:21
|
Author: manx Date: Fri Jul 19 12:42:56 2024 New Revision: 21203 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21203 Log: Merged revision(s) 21202 from trunk/OpenMPT: [Var] Update links for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. Fixed in GCC 13 and GCC 12. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp Modified: branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp Fri Jul 19 12:42:28 2024 (r21202) +++ branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp Fri Jul 19 12:42:56 2024 (r21203) @@ -207,7 +207,7 @@ // detect compiler setting quirks #if MPT_COMPILER_GCC -#if MPT_GCC_BEFORE(15, 0, 0) && !MPT_GCC_AT_LEAST(14, 2, 0) +#if (MPT_GCC_AT_LEAST(14, 0, 0) && MPT_GCC_BEFORE(14, 2, 0)) || (MPT_GCC_AT_LEAST(13, 0, 0) && MPT_GCC_BEFORE(13, 4, 0)) || (MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(12, 5, 0)) || MPT_GCC_BEFORE(12, 0, 0) // GCC 14 causes severe miscompilation of inline functions on MinGW. // See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. // Current investigation suggests a general problem with -fipa-ra on non-ELF @@ -215,9 +215,13 @@ // As far as we understand the issue, it could possibly also manifest with // other inter-procedure-optimizations and with older GCC versions. // Fixed in GCC 15 -// (<https://gcc.gnu.org/git/?p=gcc.git;h=5080840d8fbf25a321dd27543a1462d393d338bc>) -// and GCC 14.2 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=5080840d8fbf25a321dd27543a1462d393d338bc>), +// GCC 14.2 // (<https://gcc.gnu.org/git/?p=gcc.git;h=747c4b58573ea00419f64293a61537eb69f43307>). +// GCC 13.4 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=953bf37690d22de956d75c6aef7a9690ad55b9a7>). +// and GCC 12.5 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=2c5f48a43f26223cb8603b826d7c0d52cdbcfb46>). #if !defined(__ELF__) #define MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA #endif |
From: <sv...@op...> - 2024-07-19 10:42:41
|
Author: manx Date: Fri Jul 19 12:42:28 2024 New Revision: 21202 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21202 Log: [Var] Update links for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. Fixed in GCC 13 and GCC 12. Modified: trunk/OpenMPT/src/mpt/base/detect_compiler.hpp Modified: trunk/OpenMPT/src/mpt/base/detect_compiler.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/detect_compiler.hpp Thu Jul 18 20:26:32 2024 (r21201) +++ trunk/OpenMPT/src/mpt/base/detect_compiler.hpp Fri Jul 19 12:42:28 2024 (r21202) @@ -207,7 +207,7 @@ // detect compiler setting quirks #if MPT_COMPILER_GCC -#if MPT_GCC_BEFORE(15, 0, 0) && !MPT_GCC_AT_LEAST(14, 2, 0) +#if (MPT_GCC_AT_LEAST(14, 0, 0) && MPT_GCC_BEFORE(14, 2, 0)) || (MPT_GCC_AT_LEAST(13, 0, 0) && MPT_GCC_BEFORE(13, 4, 0)) || (MPT_GCC_AT_LEAST(12, 0, 0) && MPT_GCC_BEFORE(12, 5, 0)) || MPT_GCC_BEFORE(12, 0, 0) // GCC 14 causes severe miscompilation of inline functions on MinGW. // See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. // Current investigation suggests a general problem with -fipa-ra on non-ELF @@ -215,9 +215,13 @@ // As far as we understand the issue, it could possibly also manifest with // other inter-procedure-optimizations and with older GCC versions. // Fixed in GCC 15 -// (<https://gcc.gnu.org/git/?p=gcc.git;h=5080840d8fbf25a321dd27543a1462d393d338bc>) -// and GCC 14.2 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=5080840d8fbf25a321dd27543a1462d393d338bc>), +// GCC 14.2 // (<https://gcc.gnu.org/git/?p=gcc.git;h=747c4b58573ea00419f64293a61537eb69f43307>). +// GCC 13.4 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=953bf37690d22de956d75c6aef7a9690ad55b9a7>). +// and GCC 12.5 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=2c5f48a43f26223cb8603b826d7c0d52cdbcfb46>). #if !defined(__ELF__) #define MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA #endif |
From: <sv...@op...> - 2024-07-18 18:26:44
|
Author: manx Date: Thu Jul 18 20:26:32 2024 New Revision: 21201 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21201 Log: Merged revision(s) 21200 from trunk/OpenMPT: [Var] Add link to fix for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049> (<https://gcc.gnu.org/g:5080840d8fbf25a321dd27543a1462d393d338bc>, <https://gcc.gnu.org/g:747c4b58573ea00419f64293a61537eb69f43307>). [Ref] Rename MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA to MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA and add comment about potentially affecting other passes and older versions as well. ........ Modified: branches/OpenMPT-1.31/ (props changed) branches/OpenMPT-1.31/common/BuildSettingsCompiler.h branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp Modified: branches/OpenMPT-1.31/common/BuildSettingsCompiler.h ============================================================================== --- branches/OpenMPT-1.31/common/BuildSettingsCompiler.h Thu Jul 18 20:26:04 2024 (r21200) +++ branches/OpenMPT-1.31/common/BuildSettingsCompiler.h Thu Jul 18 20:26:32 2024 (r21201) @@ -44,7 +44,7 @@ #if MPT_COMPILER_GCC -#ifdef MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA +#ifdef MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA // See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. #if MPT_GCC_BEFORE(9, 0, 0) // Earlier GCC get confused about setting a global function attribute. @@ -56,7 +56,7 @@ #else #pragma GCC optimize("no-ipa-ra") #endif -#endif // MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA +#endif // MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA #endif // MPT_COMPILER_GCC Modified: branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp ============================================================================== --- branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp Thu Jul 18 20:26:04 2024 (r21200) +++ branches/OpenMPT-1.31/src/mpt/base/detect_compiler.hpp Thu Jul 18 20:26:32 2024 (r21201) @@ -207,12 +207,20 @@ // detect compiler setting quirks #if MPT_COMPILER_GCC +#if MPT_GCC_BEFORE(15, 0, 0) && !MPT_GCC_AT_LEAST(14, 2, 0) // GCC 14 causes severe miscompilation of inline functions on MinGW. // See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. // Current investigation suggests a general problem with -fipa-ra on non-ELF // platforms. +// As far as we understand the issue, it could possibly also manifest with +// other inter-procedure-optimizations and with older GCC versions. +// Fixed in GCC 15 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=5080840d8fbf25a321dd27543a1462d393d338bc>) +// and GCC 14.2 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=747c4b58573ea00419f64293a61537eb69f43307>). #if !defined(__ELF__) -#define MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA +#define MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA +#endif #endif #endif |
From: <sv...@op...> - 2024-07-18 18:26:16
|
Author: manx Date: Thu Jul 18 20:26:04 2024 New Revision: 21200 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21200 Log: [Var] Add link to fix for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049> (<https://gcc.gnu.org/g:5080840d8fbf25a321dd27543a1462d393d338bc>, <https://gcc.gnu.org/g:747c4b58573ea00419f64293a61537eb69f43307>). [Ref] Rename MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA to MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA and add comment about potentially affecting other passes and older versions as well. Modified: trunk/OpenMPT/common/BuildSettingsCompiler.h trunk/OpenMPT/src/mpt/base/detect_compiler.hpp Modified: trunk/OpenMPT/common/BuildSettingsCompiler.h ============================================================================== --- trunk/OpenMPT/common/BuildSettingsCompiler.h Thu Jul 18 20:23:07 2024 (r21199) +++ trunk/OpenMPT/common/BuildSettingsCompiler.h Thu Jul 18 20:26:04 2024 (r21200) @@ -44,7 +44,7 @@ #if MPT_COMPILER_GCC -#ifdef MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA +#ifdef MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA // See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. #if MPT_GCC_BEFORE(9, 0, 0) // Earlier GCC get confused about setting a global function attribute. @@ -56,7 +56,7 @@ #else #pragma GCC optimize("no-ipa-ra") #endif -#endif // MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA +#endif // MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA #endif // MPT_COMPILER_GCC Modified: trunk/OpenMPT/src/mpt/base/detect_compiler.hpp ============================================================================== --- trunk/OpenMPT/src/mpt/base/detect_compiler.hpp Thu Jul 18 20:23:07 2024 (r21199) +++ trunk/OpenMPT/src/mpt/base/detect_compiler.hpp Thu Jul 18 20:26:04 2024 (r21200) @@ -207,12 +207,20 @@ // detect compiler setting quirks #if MPT_COMPILER_GCC +#if MPT_GCC_BEFORE(15, 0, 0) && !MPT_GCC_AT_LEAST(14, 2, 0) // GCC 14 causes severe miscompilation of inline functions on MinGW. // See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115049>. // Current investigation suggests a general problem with -fipa-ra on non-ELF // platforms. +// As far as we understand the issue, it could possibly also manifest with +// other inter-procedure-optimizations and with older GCC versions. +// Fixed in GCC 15 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=5080840d8fbf25a321dd27543a1462d393d338bc>) +// and GCC 14.2 +// (<https://gcc.gnu.org/git/?p=gcc.git;h=747c4b58573ea00419f64293a61537eb69f43307>). #if !defined(__ELF__) -#define MPT_COMPILER_SETTING_QUIRK_GCC_NO_IPA_RA +#define MPT_COMPILER_SETTING_QUIRK_GCC_BROKEN_IPA +#endif #endif #endif |
From: <sv...@op...> - 2024-07-18 18:23:19
|
Author: manx Date: Thu Jul 18 20:23:07 2024 New Revision: 21199 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21199 Log: Merged revision(s) 21194 from trunk/OpenMPT: [New] build: CI: GitHub: CPA: NetBSD: Add Autotools builder again. ........ Added: branches/OpenMPT-1.31/.github/workflows/NetBSD-Autotools.yml - copied, changed from r21194, trunk/OpenMPT/.github/workflows/NetBSD-Autotools.yml Modified: branches/OpenMPT-1.31/ (props changed) Copied and modified: branches/OpenMPT-1.31/.github/workflows/NetBSD-Autotools.yml (from r21194, trunk/OpenMPT/.github/workflows/NetBSD-Autotools.yml) ============================================================================== --- trunk/OpenMPT/.github/workflows/NetBSD-Autotools.yml Thu Jul 18 14:25:51 2024 (r21194, copy source) +++ branches/OpenMPT-1.31/.github/workflows/NetBSD-Autotools.yml Thu Jul 18 20:23:07 2024 (r21199) @@ -2,9 +2,7 @@ on: push: - branches: [ master ] - pull_request: - branches: [ master ] + branches: [ OpenMPT-1.31 ] jobs: build: |