No meu sistema, os sons MIDI são muito mais altos que o resto dos sons. Meu filho brinca com alguns jogos antigos que têm ondas (para as instruções) e midi (para música / efeitos) e quando a música é ouvida com um volume suportável, ele não consegue ouvir as vozes. No Windows XP, você pode controlar diferentes tipos de sons (MIDI, wave, etc.) independentemente, mas não no Windows 7. A única página que faz referência a uma solução para o meu problema é este .
Monster bump on the original thread for this issue to post about the solution I have finally devised to it:
http://mancubus.net/svn/eternity/trunk/midiproc/?#a70f846a6e3f33532c045236738c1f538
"MidiRPC" is a lightweight embedding of the SDL_mixer API inside an RPC - "Remote Procedure Call" - framework. This enables the MIDI player to run in a separate process, and via that, obtain the ability to independently set its MIDI volume level.
RPC is the simplest method for inter-process communication (IPC) on Windows, and isn't going anywhere any time soon considering it is the foundation upon which DCOM and COM+ are built. Plus, it just freaking works. It offers built-in synchronization and a high-level procedure-call-based interface.
See also the file i_midirpc.cpp for the client code: http://mancubus.net/svn/eternity/trunk/source/sdl/i_midirpc.cpp
Os downloads são perdidos, embora eu ache que eu achei i_midirpc.cpp
aqui e aqui .
Alguém sabe uma maneira de controlar o MIDI independentemente no Windows 7 ou como produzir algo utilizável a partir desse código-fonte?