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:** Dmusici.h
See Also