From: <sv...@op...> - 2024-11-28 14:38:48
|
Author: sagamusix Date: Thu Nov 28 15:38:41 2024 New Revision: 22330 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22330 Log: [Fix] When importing a soundfont instrument, its bank number was off by one. Modified: trunk/OpenMPT/soundlib/Dlsbank.cpp Modified: trunk/OpenMPT/soundlib/Dlsbank.cpp ============================================================================== --- trunk/OpenMPT/soundlib/Dlsbank.cpp Wed Nov 27 23:32:40 2024 (r22329) +++ trunk/OpenMPT/soundlib/Dlsbank.cpp Thu Nov 28 15:38:41 2024 (r22330) @@ -2135,9 +2135,9 @@ } } pIns->nFadeOut = 1024; - pIns->nMidiProgram = (uint8)(dlsIns.ulInstrument & 0x7F) + 1; - pIns->nMidiChannel = (uint8)(isDrum ? 10 : 0); - pIns->wMidiBank = (uint16)(((dlsIns.ulBank & 0x7F00) >> 1) | (dlsIns.ulBank & 0x7F)); + pIns->nMidiProgram = static_cast<uint8>(1 + (dlsIns.ulInstrument & 0x7F)); + pIns->nMidiChannel = static_cast<uint8>(isDrum ? 10 : 0); + pIns->wMidiBank = static_cast<uint16>(1 + (((dlsIns.ulBank & 0x7F00) >> 1) | (dlsIns.ulBank & 0x7F))); pIns->nNNA = NewNoteAction::NoteOff; pIns->nDCT = DuplicateCheckType::Note; pIns->nDNA = DuplicateNoteAction::NoteFade; @@ -2154,7 +2154,7 @@ const DLSREGION &rgn = dlsIns.Regions[nRgn]; if(rgn.IsDummy()) continue; - // Elimitate Duplicate Regions + // Eliminate Duplicate Regions uint32 dupRegion; for(dupRegion = minRegion; dupRegion < nRgn; dupRegion++) { |