I am working on a new SDLPoP branch with MIDI support. Will upload it to GitHub soon (need to clean up the history a bit...).
EDIT:
Here is the GitHub branch:
https://github.com/Falcury/SDLPoP/tree/midi
On that branch, the MIDI files are loaded directly from MIDISND1.DAT and MIDISND2.DAT, similar to how other resources are loaded.
(Or equivalently, folders MINISND1 and MIDISND2 with res*.mid files in them.)
The music/ folder could be deleted.
It doesn't look like the MIDI support would work well in combination with SDL_Mixer, because SDL_Mixer abstracts away the audio callback (I think). And manually programming an audio callback is needed for MIDI playback to work.
So, for now I undefined USE_MIXER to allow for adding MIDI support.
If we do want to keep supporting OGG files, how could MIDI playback be combined with SDL_Mixer, if at all? Converting whole MIDI songs to Mix_Chunks, only because SDL_Mixer doesn't allow direct access to the audio callback feels a bit like overkill. (Is there an alternative?)
(I suspect the cleanest way to have both OGG and MIDI support at the same time is to remove SDL_Mixer and use stb_vorbis.c instead for OGG support.)
The question is, would there still be any reason to have support for .ogg files?
Edit: maybe so that people can continue to make mods like this?