MM_MIM_MOREDATA  OGXB5X 

The MM_MIM_MOREDATA message is sent to a callback window when a MIDI message is received by a MIDI input device but the application is not processing MIM_DATA1NQKYYP messages fast enough to keep up with the input device driver. The window receives this message only when the application specifies MIDI_IO_STATUS in the call to the midiInOpenFUXRPR function.

MM_MIM_MOREDATA

wParam = (WPARAM) hInput

lParam = (LPARAM) (DWORD) lMidiMessage

 

Parameters

hInput

Handle of the MIDI input device that received the MIDI message.

lMidiMessage

Specifies the MIDI message that was received. The message is packed into a doubleword value as follows:

High word

High-order byte

Not used.

 

Low-order byte

Contains a second byte of MIDI data (when needed).

Low word

High-order byte

Contains the first byte of MIDI data (when needed).

 

Low-order byte

Contains the MIDI status.

 

The two MIDI data bytes are optional, depending on the MIDI status byte.

 

Return Values

This message does not return a value.

Remarks

If your application will receive MIDI data faster than it can process it, you should not use a window callback mechanism. To maximize speed, use a callback function, and use the MIM_MOREDATA2T9Q1I message instead of MM_MIM_MOREDATA.

An application should do only a minimal amount of processing of MM_MIM_MOREDATA messages. (In particular, applications should not call the PostMessageFIXDT_ function while processing MM_MIM_MOREDATA.) Instead, the application should place the event data into a buffer and then return.

When an application receives an MM_MIM_DATARQ_M7 message after a series of MM_MIM_MOREDATA messages, it has caught up with incoming MIDI events and can safely call time-intensive functions.

MIDI messages received from a MIDI input port have running status disabled; each message is expanded to include the MIDI status byte.

This message is not sent when a MIDI system-exclusive message is received. No time stamp is available with this message. For time-stamped input data, you must use the messages that are sent to callback functions.

See Also

midiInOpen, MIM_DATA, MIM_MOREDATA, MM_MIM_DATA, PostMessage