DMUS_PLAYMODE_FLAGS
The DMUS_PLAYMODE_FLAGS are used in various structures for the basic play modes. The play mode determines how a music value is transposed to a MIDI note.
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;
Members
- DMUS_PLAYMODE_KEY_ROOT
- Transpose on top of the key root.
- DMUS_PLAYMODE_CHORD_ROOT
- Transpose on top of the chord root.
- DMUS_PLAYMODE_SCALE_INTERVALS
- Use scale intervals from scale pattern.
- DMUS_PLAYMODE_CHORD_INTERVALS
- Use chord intervals from chord pattern.
- DMUS_PLAYMODE_NONE
- No mode. Indicates 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, where a failure in normal 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 on top of the chord root.
- DMUS_PLAYMODE_FIXEDTOKEY
- Same as DMUS_PLAYMODE_KEY_ROOT. The music value is a fixed MIDI value, but it is transposed on top of 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 only track the intervals in the scale. The key root and chord intervals are completely 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 only track the intervals in the scale. The chord root and intervals are completely ignored. This is useful for melodic lines that play relative to the key root.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dmusici.h.
See Also
IDirectMusicPerformance::MIDIToMusic, IDirectMusicPerformance::MusicToMIDI, DMUS_NOTE_PMSG, DMUS_IO_STYLENOTE, DMUS_IO_STYLEPART, Music Values and MIDI Notes