I traced the PrBoom crash bug to what appears to be SDL_Mixer’s internal code, so I gave up on that. Instead, I tracked down the way Doomsday plays its music, and hooked that into PrBoom. And so PrBoom is just perfect on the Mac, as far as I’m concerned.
Well I was close: I decided to get some work into PrBoom instead. And I finally nailed down the level end crash! Turns out there was already a check in one place for sounds to be turned off before unloading the other level, but there was another place where that unload was happening, and that didn’t have a check.
Well, since we don’t very well need to free the same memory tag twice, I just commented it out, and we’ll see how it goes.