Write a basic MSVC 6.0 C++ console program that will Play Multiple (3 or more) Midi Voices Simultaneosly. Note that a playing a midi chord (Multiple notes) with the same voice (instrument) is trivial and requires no delay between each midiOutShortMsg as follows:
/* Output the C note (ie, sound the note) */
midiOutShortMsg(handle, 0x00403C90);
/* Output the E note */
midiOutShortMsg(handle, 0x00404090);
/* Output the G note */
midiOutShortMsg(handle, 0x00404390);
/* insert a delay so that you can hear the notes sounding */
Sleep(3000); // listen for 3 seconds
The problem is that changing the Voice with midiOutShortMsg each seems to need roughly 100ms delay between each midiOutShortMsg otherwise all 3 voices are not heard.