diff --git a/CHANGELOG.md b/CHANGELOG.md index f8e6510..8ba9bb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - MIDI and UART related warnings are now hidden unless verbose mode is enabled in the configuration file. This is a preventative measure against false bug reports stemming from buggy games/user equipment, and to improve aesthetics (real synthesizers tend to silently ignore harmless stray MIDI bytes). +### Fixed + +- Guru Meditation that could occur if non-default mt32emu options were specified but the synth was unavailable due to missing ROMs. + ## [0.10.1] - 2021-08-01 ### Changed diff --git a/src/mt32pi.cpp b/src/mt32pi.cpp index 856cf92..adb5065 100644 --- a/src/mt32pi.cpp +++ b/src/mt32pi.cpp @@ -367,6 +367,7 @@ bool CMT32Pi::InitMT32Synth() m_pLogger->Write(MT32PiName, LogWarning, "mt32emu init failed; no ROMs present?"); delete m_pMT32Synth; m_pMT32Synth = nullptr; + return false; } // Set initial MT-32 channel assignment from config @@ -378,7 +379,7 @@ bool CMT32Pi::InitMT32Synth() m_pMT32Synth->SetUserInterface(&m_UserInterface); - return m_pMT32Synth != nullptr; + return true; } bool CMT32Pi::InitSoundFontSynth() @@ -391,11 +392,12 @@ bool CMT32Pi::InitSoundFontSynth() m_pLogger->Write(MT32PiName, LogWarning, "FluidSynth init failed; no SoundFonts present?"); delete m_pSoundFontSynth; m_pSoundFontSynth = nullptr; + return false; } m_pSoundFontSynth->SetUserInterface(&m_UserInterface); - return m_pSoundFontSynth != nullptr; + return true; } void CMT32Pi::MainTask()