Estrutura MIDIEVENT (mmeapi.h)
A estrutura MIDIEVENT descreve um evento MIDI em um buffer de fluxo.
Sintaxe
typedef struct midievent_tag {
DWORD dwDeltaTime;
DWORD dwStreamID;
DWORD dwEvent;
DWORD dwParms[1];
} MIDIEVENT;
Membros
dwDeltaTime
Hora, em tiques MIDI, entre o evento anterior e o evento atual. O comprimento de um tique é definido pelo formato de tempo e, possivelmente, pelo tempo associado ao fluxo. (A definição é idêntica à especificação de um tique em um arquivo MIDI padrão.)
dwStreamID
Reservados; deve ser zero.
dwEvent
Código de evento e parâmetros de evento ou comprimento. Para analisar essas informações, use as macros MEVT_EVENTTYPE e MEVT_EVENTPARM . Consulte Observações.
dwParms[1]
Se dwEvent especificar MEVT_F_LONG e o comprimento do buffer, esse membro conterá parâmetros para o evento. Esses dados de parâmetro devem ser preenchidos com zeros para que um número integral de valores DWORD seja armazenado. Por exemplo, se os dados do evento tiverem cinco bytes de comprimento, três bytes de teclado deverão seguir os dados para um total de oito bytes. Nesse caso, os 24 bits baixos de dwEvent conteriam o valor 5.
Se dwEvent especificar MEVT_F_SHORT, não use esse membro no buffer de fluxo.
Comentários
O byte alto de dwEvent contém sinalizadores e um código de evento. O sinalizador MEVT_F_LONG ou MEVT_F_SHORT deve ser especificado. O sinalizador MEVT_F_CALLBACK é opcional. A tabela a seguir descreve esses sinalizadores.
Sinalizador | Significado |
---|---|
MEVT_F_CALLBACK | O sistema gera um retorno de chamada quando o evento está prestes a ser executado. |
MEVT_F_LONG | O evento é um evento longo. Os 24 bits baixos de dwEvent contêm o comprimento dos parâmetros de evento incluídos em dwParms. |
MEVT_F_SHORT | O evento é um evento curto. Os parâmetros de evento estão contidos nos 24 bits baixos de dwEvent. |
O restante do byte alto contém um dos seguintes códigos de evento:
Código de evento | Significado |
---|---|
MEVT_COMMENT | Evento longo. Os dados do evento serão ignorados. Esse evento destina-se a armazenar informações de comentários sobre o fluxo que podem ser úteis para criar programas ou sequenciadores se os dados de fluxo devem ser armazenados em um arquivo no formato de fluxo. Em um buffer desses dados, o byte zero identifica a classe de comentário e os bytes subsequentes contêm os dados de comentário. |
MEVT_LONGMSG | Evento longo. Os dados do evento são transmitidos textualmente. Presume-se que os dados do evento sejam dados exclusivos do sistema; ou seja, a execução status será limpa quando o evento for executado e a execução de status de eventos anteriores não será aplicada a nenhum evento de canal nos dados do evento. Não é recomendável usar esse evento para enviar um grupo de mensagens de canal ao mesmo tempo; um conjunto de eventos de MEVT_SHORTMSG sem horários delta deve ser usado. |
MEVT_NOP | Evento curto. Esse evento é um espaço reservado; não faz nada. Os 24 bits baixos são ignorados. Esse evento ainda gerará um retorno de chamada se MEVT_F_CALLBACK estiver definido em dwEvent. |
MEVT_SHORTMSG | Evento curto. Os dados nos 24 bits baixos de dwEvent são uma mensagem curta MIDI. (Para obter uma descrição de como uma mensagem curta é empacotada em um valor DWORD, consulte a função midiOutShortMsg.) |
MEVT_TEMPO | Evento curto. Os dados nos 24 bits baixos de dwEvent contêm o novo tempo para os eventos a seguir. O tempo é especificado no mesmo formato que é para o meta-evento de alteração de tempo em um arquivo MIDI , ou seja, em notas de microssegundos por trimestre. (Esse evento não terá efeito se o formato de hora especificado para o fluxo for hora de SMPTE.) |
MEVT_VERSION | Evento longo. Os dados do evento devem conter uma estrutura MIDISTRMBUFFVER. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | mmeapi.h (inclua Windows.h) |