DMUS_NOTE_PMSG

This structure contains data for a music-note event.

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;
} DMUS_NOTE_PMSG;

Members

  • DMUS_PMSG_PART
    Macro for common message members. For more information, 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 shown in the following table.

    Value Description
    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 grid 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 velocity.

  • bFlags
    For more information, 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. For more information, see DMUS_SUBCHORD.

  • bMidiValue
    MIDI note value, converted from wMusicValue.

Remarks

When a note is to be played, the DMUS_NOTE_PMSG flows through the graph and any tools in the graph until it reaches the final MIDI output tool. When the tool recognizes that DMUS_NOTEF_NOTEON is set in the bFlags member, it sends a MIDI note-on message to the correct port (according to the dwPChannel member of the DMUS_PMSG part). It then clears the flag, adds mtDuration to the time stamp, and requeues the message so that the note is turned off at the appropriate time.

Requirements

OS Versions: Windows CE .NET 4.0 and Windows CE .NET 4.1.
Header: Dmusici.h.

See Also

Music Values and MIDI Notes | IDirectMusicPerformance::SendPMsg | DMUS_SUBCHORD

 Last updated on Monday, April 12, 2004

© 1992-2002 Microsoft Corporation. All rights reserved.