Estructura MIDIEVENT (mmeapi.h)
La estructura MIDIEVENT describe un evento MIDI en un búfer de secuencia.
Sintaxis
typedef struct midievent_tag {
DWORD dwDeltaTime;
DWORD dwStreamID;
DWORD dwEvent;
DWORD dwParms[1];
} MIDIEVENT;
Miembros
dwDeltaTime
Tiempo, en tics MIDI, entre el evento anterior y el evento actual. La longitud de un tic se define mediante el formato de hora y posiblemente el tempo asociado a la secuencia. (La definición es idéntica a la especificación de un tic en un archivo MIDI estándar).
dwStreamID
Reservados; debe ser cero.
dwEvent
Código de evento y parámetros de evento o longitud. Para analizar esta información, use las macros MEVT_EVENTTYPE y MEVT_EVENTPARM . Vea la sección Comentarios.
dwParms[1]
Si dwEvent especifica MEVT_F_LONG y la longitud del búfer, este miembro contiene parámetros para el evento. Estos datos de parámetro se deben rellenar con ceros para que se almacene un número entero de valores DWORD . Por ejemplo, si los datos del evento tienen cinco bytes de longitud, tres bytes de panel deben seguir los datos para un total de ocho bytes. En este caso, los 24 bits bajos de dwEvent contendrán el valor 5.
Si dwEvent especifica MEVT_F_SHORT, no use este miembro en el búfer de secuencia.
Comentarios
El byte alto de dwEvent contiene marcas y un código de evento. Debe especificarse la marca MEVT_F_LONG o MEVT_F_SHORT. La marca MEVT_F_CALLBACK es opcional. En la tabla siguiente se describen estas marcas.
Marca | Significado |
---|---|
MEVT_F_CALLBACK | El sistema genera una devolución de llamada cuando el evento está a punto de ejecutarse. |
MEVT_F_LONG | El evento es un evento largo. Los 24 bits bajos de dwEvent contienen la longitud de los parámetros de evento incluidos en dwParms. |
MEVT_F_SHORT | El evento es un evento corto. Los parámetros de evento se encuentran en los 24 bits bajos de dwEvent. |
El resto del byte alto contiene uno de los siguientes códigos de evento:
Código de evento | Significado |
---|---|
MEVT_COMMENT | Evento long. Se omitirán los datos del evento. Este evento está pensado para almacenar información de comentarios sobre la secuencia que podría ser útil para crear programas o secuenciadores si los datos de la secuencia se almacenaran en un archivo en formato de secuencia. En un búfer de estos datos, el byte cero identifica la clase de comentario y los bytes posteriores contienen los datos de comentario. |
MEVT_LONGMSG | Evento long. Los datos del evento se transmiten textualmente. Se supone que los datos del evento son datos exclusivos del sistema; es decir, el estado de ejecución se borrará cuando se ejecute el evento y el estado de ejecución de los eventos anteriores no se aplicará a ningún evento de canal en los datos del evento. No se recomienda usar este evento para enviar un grupo de mensajes de canal al mismo tiempo; En su lugar, se debe usar un conjunto de eventos de MEVT_SHORTMSG con cero tiempos diferenciales. |
MEVT_NOP | Evento corto. Este evento es un marcador de posición; no hace nada. Se omiten los 24 bits bajos. Este evento seguirá generando una devolución de llamada si MEVT_F_CALLBACK se establece en dwEvent. |
MEVT_SHORTMSG | Evento corto. Los datos de los 24 bits bajos de dwEvent son un mensaje corto MIDI. (Para obtener una descripción de cómo se empaqueta un mensaje corto en un valor DWORD, vea la función midiOutShortMsg). |
MEVT_TEMPO | Evento corto. Los datos de los 24 bits bajos de dwEvent contienen el nuevo tempo para los siguientes eventos. El tempo se especifica en el mismo formato que para el meta-evento de cambio de tempo en un archivo MIDI, es decir, en microsegundos por nota trimestral. (Este evento no tendrá ningún efecto si el formato de hora especificado para la secuencia es la hora SMPTE). |
MEVT_VERSION | Evento long. Los datos del evento deben contener una estructura MIDISTRMBUFFVER. |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | mmeapi.h (incluya Windows.h) |