Usando midiOutShortMsg para enviar mensagens MIDI individuais
O exemplo a seguir usa a função midiOutShortMsg para enviar um evento MIDI especificado para um determinado dispositivo de saída MIDI:
UINT sendMIDIEvent(HMIDIOUT hmo, BYTE bStatus, BYTE bData1,
BYTE bData2)
{
union {
DWORD dwData;
BYTE bData[4];
} u;
// Construct the MIDI message.
u.bData[0] = bStatus; // MIDI status byte
u.bData[1] = bData1; // first MIDI data byte
u.bData[2] = bData2; // second MIDI data byte
u.bData[3] = 0;
// Send the message.
return midiOutShortMsg(hmo, u.dwData);
}
Observação
Os drivers de saída MIDI não são necessários para verificar os dados antes de enviá-los para uma porta de saída. Os aplicativos devem garantir que apenas dados válidos sejam enviados.