I'm not very good at C ++ or SDL_Mixer, but I still ask this question on behalf of the Doom community. Simply put, no one who writes Doom source sources can figure out how to independently adjust the normal volume level and MIDI sound volume independently of SDL_Mixer in Windows Vista or 7. I will let James Haley, author of the Eternity Engine, put it in his own words
It seems that the concept of independent volume for native MIDI does not exist in Windows Vista or 7, since using the sliders of a MIDI volume in any application in which they are (including most games using SDL_mixer) also affects the volume of digital sound. This makes an attempt to adjust the relative volume of music for convenience impossible.
Has anyone found any workarounds for this? I suppose this is unlikely, given how Microsoft seems to have combined the entire OS to control the volume of individual audio devices individually.
I have heard of various workarounds related to the Timidity driver, but this requires that the user go beyond simply installing the game on his system. The only port I know of that finally fixes this problem is ZDoom, but it uses a GPL-incompatible FModEx and therefore is not a suitable solution.
If you need some code to view, Chocolate Doom is probably the easiest port for a Doom source, and you can grab its source here .
Any suggestions for other open source sound and music libraries are also welcome.
source share