DirectX SDK

CONST_DMUS_PLAYMODE_FLAGS

The members of the CONST_DMUS_PLAYMODE_FLAGS enumeration are used to set the play mode in a DMUS_NOTE_PMSG message type. The play mode determines how the note is transposed to the current chord before it is converted to a MIDI note.

Enum CONST_DMUS_PLAYMODE_FLAGS
    DMUS_PLAYMODE_ALWAYSPLAY     = 14
    DMUS_PLAYMODE_CHORD_INTERVALS = 8
    DMUS_PLAYMODE_CHORD_ROOT      = 2
    DMUS_PLAYMODE_FIXED           = 0
    DMUS_PLAYMODE_FIXEDTOCHORD    = 2
    DMUS_PLAYMODE_FIXEDTOKEY      = 1
    DMUS_PLAYMODE_KEY_ROOT        = 1
    DMUS_PLAYMODE_MELODIC         = 6
    DMUS_PLAYMODE_NONE           = 16 (&H10)
    DMUS_PLAYMODE_NORMALCHORD    = 10
    DMUS_PLAYMODE_PEDALPOINT      = 5
    DMUS_PLAYMODE_SCALE_INTERVALS = 4
End Enum

The following members are the basic flags:

DMUS_PLAYMODE_CHORD_INTERVALS
Use chord intervals from chord pattern.
DMUS_PLAYMODE_CHORD_ROOT
Transpose over the chord root.
DMUS_PLAYMODE_KEY_ROOT
Transpose over the key root.
DMUS_PLAYMODE_NONE
No mode. Indicates that the parent part's mode should be used.
DMUS_PLAYMODE_SCALE_INTERVALS
Use scale intervals from scale pattern.
The following members represent combinations of the basic flags:
DMUS_PLAYMODE_ALWAYSPLAY
Combination of DMUS_PLAYMODE_SCALE_INTERVALS, DMUS_PLAYMODE_CHORD_INTERVALS, and DMUS_PLAYMODE_CHORD_ROOT. If it is desirable to play a note that is above the top of the chord, this mode finds a position for the note by using intervals from the scale. Essentially, this mode is a combination of the normal and melodic playback modes, in which a failure in normal mode causes a second try in melodic mode.
DMUS_PLAYMODE_FIXED
Interpret the music value as a MIDI value. This is defined as 0 and signifies the absence of other flags. This flag is used for drums, sound effects, and sequenced notes that should not be transposed by the chord or scale.
DMUS_PLAYMODE_FIXEDTOCHORD
Same as DMUS_PLAYMODE_CHORD_ROOT. The music value is a fixed MIDI value, but it is transposed over the chord root.
DMUS_PLAYMODE_FIXEDTOKEY
Same as DMUS_PLAYMODE_KEY_ROOT. The music value is a fixed MIDI value, but it is transposed over the key root.
DMUS_PLAYMODE_MELODIC
Combination of DMUS_PLAYMODE_CHORD_ROOT and DMUS_PLAYMODE_SCALE_INTERVALS. The chord root is used, but the notes track only the intervals in the scale. The key root and chord intervals are ignored. This is useful for melodic lines that play relative to the chord root.
DMUS_PLAYMODE_NORMALCHORD
Combination of DMUS_PLAYMODE_CHORD_ROOT and DMUS_PLAYMODE_CHORD_INTERVALS. This is the prevalent playback mode. The notes track the intervals in the chord, which is based on the chord root. If there is a scale component to the music value, the additional intervals are pulled from the scale and added. If the chord does not have an interval to match the chord component of the music value, the note is silent.
DMUS_PLAYMODE_PEDALPOINT
Combination of DMUS_PLAYMODE_KEY_ROOT and DMUS_PLAYMODE_SCALE_INTERVALS. The key root is used, and the notes track only the intervals in the scale. The chord root and intervals are ignored. This is useful for melodic lines that play relative to the key root.