5-beatles-lustig.mid from Unterwegs in Duesterburg causes a crash in MusicDeviceMIDIEvent due to a bogus MIDI message. We're in some good company here, both VLC (at least on macOS) and Sekaiju also crash attempting to play it.
I also noticed Unterwegs in Duesterburg in macOS has a lot of stuck notes issues in macOS (i.e when changing BGM, some notes from the previous track will be permanently stuck on). I tracked it down to #3090 removing the midimsg_all_sound_off from reset, to be more accurate with Harmony. Harmony never supported macOS, and the macOS synthesizer being prone to stuck notes is why those messages were there in the first place. I'm open to other solutions to fix this, but without it, MIDI is pretty scuffed on Macs.
The -G Xcode generator in cmake will completely fail to build (at least on Xcode 15), due to a fundamental disconnect between cmake and Xcode when you have multiple code files with the same filename (like src/audio.cpp vs src/platform/sdl/audio.cpp). Simplest workaround is to remove the duplication by renaming the two files that had duplicated names.
Fixes three issues:
5-beatles-lustig.mid
from Unterwegs in Duesterburg causes a crash inMusicDeviceMIDIEvent
due to a bogus MIDI message. We're in some good company here, both VLC (at least on macOS) and Sekaiju also crash attempting to play it.midimsg_all_sound_off
from reset, to be more accurate with Harmony. Harmony never supported macOS, and the macOS synthesizer being prone to stuck notes is why those messages were there in the first place. I'm open to other solutions to fix this, but without it, MIDI is pretty scuffed on Macs.-G Xcode
generator in cmake will completely fail to build (at least on Xcode 15), due to a fundamental disconnect between cmake and Xcode when you have multiple code files with the same filename (likesrc/audio.cpp
vssrc/platform/sdl/audio.cpp
). Simplest workaround is to remove the duplication by renaming the two files that had duplicated names.Fix #3135