From: <sv...@op...> - 2024-11-11 22:00:32
|
Author: sagamusix Date: Mon Nov 11 23:00:20 2024 New Revision: 22163 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22163 Log: [Fix] MED: Import notes that exceed NOTE_MAX. This makes the missing note in "megaball - title (1).mmd1" appear. MED Soundstudio on Windows and Amiga disagree about how these notes should be handled (Amiga plays them at a very low frequency, which is what we copy). Modified: trunk/OpenMPT/soundlib/Load_med.cpp Modified: trunk/OpenMPT/soundlib/Load_med.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp Mon Nov 11 20:37:12 2024 (r22162) +++ trunk/OpenMPT/soundlib/Load_med.cpp Mon Nov 11 23:00:20 2024 (r22163) @@ -632,7 +632,11 @@ if(note >= NOTE_MIDDLEC + 2 * 12) needInstruments = true; - if(note >= NOTE_MIN && note <= NOTE_MAX) + if(note > NOTE_MIN + 131) + note -= 108; + else if(note > NOTE_MAX) + note -= mpt::align_down(note - (NOTE_MAX - 11), 12); + if(note >= NOTE_MIN) m->note = static_cast<ModCommand::NOTE>(note); if(!cmd && !param1) |