DirectX SDK

Performance Message Types

[C++]

Messages are stored in various structures derived from DMUS_PMSG. Because C does not support inheritance, the members of DMUS_PMSG are included in the declaration for each message type as the DMUS_PMSG_PART macro. These members contain data common to all messages, including the type of the message, time stamps, the performance channel to which the message is directed, and what graph and tool are next in line to process the message. The other members contain data that is unique to the message type.

The following message structures are defined:

DMUS_PMSG Simple message with no additional parameters.
DMUS_CHANNEL_PRIORITY_PMSG Channel-priority change. See Channels.
DMUS_CURVE_PMSG Curve.
DMUS_MIDI_PMSG Any MIDI message that does not have a unique message type—for example, a control change.
DMUS_NOTE_PMSG Music note. (Includes duration, so MIDI note-on and note-off messages are combined in this type.)
DMUS_NOTIFICATION_PMSG Notification. See Notification and Event Handling.
DMUS_PATCH_PMSG MIDI patch change.
DMUS_SYSEX_PMSG MIDI system-exclusive message.
DMUS_TEMPO_PMSG Tempo change.
DMUS_TIMESIG_PMSG Time-signature change.
DMUS_TRANSPOSE_PMSG Transposition.

[Visual Basic]

DirectX for Visual Basic does not give applications direct access to message structures. Instead, it provides the following methods for sending particular kinds of messages:

DirectMusicPerformance.SendCurvePMSG MIDI curve.
DirectMusicPerformance.SendNotePMSG Musical note.
DirectMusicPerformance.SendPatchPMSG Patch change.
DirectMusicPerformance.SendMIDIPMSG Miscellaneous MIDI events.
DirectMusicPerformance.SendTempoPMSG Tempo change.
DirectMusicPerformance.SendTimeSigPMSG Time-signature change.
DirectMusicPerformance.SendTransposePMSG Transposition change.