Consultando dispositivos de saída MIDI
Antes de reproduzir um arquivo MIDI, você deve usar a função midiOutGetDevCaps para determinar os recursos do dispositivo de saída MIDI que está presente no sistema. Essa função usa um endereço de uma estrutura MIDIOUTCAPS , que ele preenche com informações sobre os recursos do dispositivo fornecido. Essas informações incluem os identificadores do fabricante e do produto, um nome de produto para o dispositivo e o número de versão do driver do dispositivo (especificado nos membros wMid, wPid, szPname e vDriverVersion , respectivamente).
Os dispositivos de saída MIDI podem ser sintetizadores internos ou portas de saída MIDI externas. O membro wTechnology da estrutura MIDIOUTCAPS especifica a tecnologia do dispositivo.
Se o dispositivo for um sintetizador interno, informações adicionais do dispositivo estão disponíveis nos membros wVoices, wNotes e wChannelMask . O membro wVoices especifica o número de vozes compatíveis com o dispositivo. Cada voz pode ter um som ou timbre diferente. As vozes são organizadas em canais MIDI. O membro do wNotes especifica a polifonia do dispositivo , ou seja, o número máximo de anotações que podem ser reproduzidas simultaneamente. O membro wChannelMask é uma representação bit dos canais MIDI aos quais o dispositivo responde. Por exemplo, se o dispositivo responder aos oito primeiros canais MIDI, wChannelMask será 0x00FF. Se o dispositivo for uma porta de saída externa, wVoices e wNotes não serão usados e wChannelMask será definido como 0xFFFF.
O membro dwSupport da estrutura MIDIOUTCAPS indica se o driver do dispositivo dá suporte a alterações de volume, cache de patch e streaming. As alterações de volume têm suporte apenas por dispositivos sintetizadores internos. Portas de saída MIDI externas não dão suporte a alterações de volume. Para obter informações sobre como alterar o volume, consulte Alterando o volume do sintetizador MIDI interno.