DMUS_NOTE_PMSG
Contains message data for a MIDI note.
typedef struct DMUS_NOTE_PMSG {
DMUS_PMSG_PART
MUSIC_TIME mtDuration;
WORD wMusicValue;
WORD wMeasure;
short nOffset;
BYTE bBeat;
BYTE bGrid;
BYTE bVelocity;
BYTE bFlags;
BYTE bTimeRange;
BYTE bDurRange;
BYTE bVelRange;
BYTE bPlayModeFlags;
BYTE bSubChordLevel;
BYTE bMidiValue;
char cTranspose;
} DMUS_NOTE_PMSG;
- DMUS_PMSG_PART
- Macro for common message members. See DMUS_PMSG.
- mtDuration
- Duration of the note.
- wMusicValue
- Description of the note. In most play modes, this is a packed array of 4-bit values, as follows:
- Octave
- In the range from –2 through 14. The note is transposed up or down by the octave times 12.
- Chord position
- In the range from 0 through 15, although it should never be above 3. The first position in the chord is 0.
- Scale position
- In the range from 0 through 15. Typically it is only from 0 through 2, but it is possible to have a one-note chord and have everything above the chord be interpreted as a scale position.
- Accidental
- In the range from –8 through 7, but typically in the range from –2 through 2. This represents an offset that takes the note out of the scale.
In the fixed-play modes, the music value is a MIDI note value in the range from 0 through 127.
- wMeasure
- Measure in which this note occurs.
- nOffset
- Offset from the at which this note occurs, in music time.
- bBeat
- Beat (in measure) at which this note occurs.
- bGrid
- Grid offset from the beat at which this note occurs.
- bVelocity
- Note .
- bFlags
- See DMUS_NOTEF_FLAGS.
- bTimeRange
- Range by which to randomize time.
- bDurRange
- Range by which to randomize duration.
- bVelRange
- Range by which to randomize velocity.
- bPlayModeFlags
- Play mode determining how the music value is related to the chord and subchord. For a list of values, see DMUS_PLAYMODE_FLAGS.
- bSubChordLevel
- Subchord level that the note uses. See DMUS_SUBCHORD.
- bMidiValue
- MIDI note value, converted from wMusicValue.
- cTranspose
- Transposition to add to bMidiValue after conversion from wMusicValue.
Remarks
When the output tool receives a message with DMUS_NOTEF_NOTEON in bFlags, it sends a MIDI note-on message to the synthesizer. It then clears the DMUS_NOTEF_NOTEON flag, adds mtDuration to the time stamp, and requeues the message so that the note is turned off at the appropriate time.
Header: Declared in dmusici.h.
See Also
IDirectMusicPerformance8::SendPMsg, Music Values and MIDI Notes