Microsoft DirectX 9.0

DMUS_PLAYMODE_FLAGS

The DMUS_PLAYMODE_FLAGS enumerated type is used in various structures to specify play modes. The play mode determines how a music value is transposed to a MIDI note. 

Syntax

typedef enum enumDMUS_PLAYMODE_FLAGS {
  DMUS_PLAYMODE_KEY_ROOT        =  1,
  DMUS_PLAYMODE_CHORD_ROOT      =  2,
  DMUS_PLAYMODE_SCALE_INTERVALS =  4,
  DMUS_PLAYMODE_CHORD_INTERVALS =  8,
  DMUS_PLAYMODE_NONE            = 16,
} DMUS_PLAYMODE_FLAGS;

Constants

DMUS_PLAYMODE_KEY_ROOT

Transpose over the key root.

DMUS_PLAYMODE_CHORD_ROOT

Transpose over the chord root.

DMUS_PLAYMODE_SCALE_INTERVALS

Use scale intervals from a scale pattern.

DMUS_PLAYMODE_CHORD_INTERVALS

Use chord intervals from a chord pattern.

DMUS_PLAYMODE_NONE

No mode. Indicates that the parent part's mode should be used.

Remarks

The following defined values represent combinations of play mode 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 the music value has a scale component, 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.

DMUS_PLAYMODE_PEDALPOINTALWAYS

Combination of DMUS_PLAYMODE_PEDALPOINT and DMUS_PLAYMODE_PEDALPOINTCHORD. Chord intervals are used if possible; otherwise scale intervals are used.

DMUS_PLAYMODE_PEDALPOINTCHORD

Combination of DMUS_PLAYMODE_MELODIC and DMUS_PLAYMODE_NORMALCHORD. The key root is used and the notes track only the intervals in the chord. The chord root and scale intervals are completely ignored. This is useful for chordal lines that play relative to the key root.

Requirements

  Header: Declared in dmusici.h.

See Also