Microsoft DirectX 8.1 (C++) |
The DMUS_IO_STYLEPART structure contains information about a musical part. Used in the Style Form.
Syntax
typedef struct _DMUS_IO_STYLEPART {
DMUS_IO_TIMESIG timeSig;
DWORD dwVariationChoices[32];
GUID guidPartID;
WORD wNbrMeasures;
BYTE bPlayModeFlags;
BYTE bInvertUpper;
BYTE bInvertLower;
BYTE bPad[3];
DWORD dwFlags;
} DMUS_IO_STYLEPART;
Members
timeSig
DMUS_IO_TIMESIG structure containing a time signature to override the style's default time signature.
dwVariationChoices
Each element corresponds to one of 32 possible variations. The flags set in each element indicate which types of chord are supported by that variation (see Remarks). One of the mode masks is also set to indicate whether the variations are in DirectMusic or IMA mode.
The following flags are defined as shown.
Value | Description |
DMUS_VARIATIONF_MAJOR | Seven positions in the scale for major chords. |
DMUS_VARIATIONF_MINOR | Seven positions in the scale for minor chords. |
DMUS_VARIATIONF_OTHER | Seven positions in the scale for other chords. |
DMUS_VARIATIONF_ROOT_SCALE | Handles chord roots in the scale. |
DMUS_VARIATIONF_ROOT_FLAT | Handles flat chord roots (based on scale notes). |
DMUS_VARIATIONF_ROOT_SHARP | Handles sharp chord roots (based on scale notes). |
DMUS_VARIATIONF_TYPE_TRIAD | Handles simple chords for triads. |
DMUS_VARIATIONF_TYPE_6AND7 | Handles simple chords for 6 and 7. |
DMUS_VARIATIONF_TYPE_COMPLEX | Handles complex chords. |
DMUS_VARIATIONF_DEST_TO1 | Handles transitions to the 1 chord. |
DMUS_VARIATIONF_DEST_TO5 | Handles transitions to the 5 chord. |
DMUS_VARIATIONF_MODES | Mode mask. Obsolete. |
DMUS_VARIATIONF_MODES_EX | Mode mask. |
DMUS_VARIATIONF_IMA25_MODE | Mode mask. If (dwVariationChoices & DMUS_VARIATIONF_MODES_EX) == DMUS_VARIATIONF_IMA25_MODE, the variations are in Interactive Music Architecture mode. |
DMUS_VARIATIONF_DMUS_MODE | Mode mask. If dwVariationChoices contains this mask, the variations are in DirectMusic mode. All variations authored in DirectMusic Producer use this mode. |
guidPartID
Unique identifier of the part.
wNbrMeasures
Length of the part, in measures.
bPlayModeFlags
Flags to define the play mode. For a list of values, see DMUS_PLAYMODE_FLAGS.
bInvertUpper
Upper limit of inversion.
bInvertLower
Lower limit of inversion.
bPad
Unused.
dwFlags
Flags that specify the behavior of the part. Can include the values shown in the following table.
Value | Description |
DMUS_PARTF_USE_MARKERS | Part uses marker events. |
DMUS_PARTF_ALIGN_CHORDS | Part is allowed to switch only on chord-aligned markers. |
Remarks
The flags in dwVariationChoices determine the types of chords supported by a given variation in DirectMusic mode. The first seven flags (bits 1 through 7) are set if the variation supports major chords rooted in scale positions. For example, if bits 1, 2, and 4 are set, the variation supports major chords rooted in the tonic, second, and fourth scale positions.
The next seven flags serve the same purpose for minor chords, and the following seven flags serve the same purpose for chords that are not major or minor (for example, SUS 4 chords). Bits 22, 23, and 24 are set if the variation supports chords rooted in the scale, chords rooted sharp of scale tones, and chords rooted flat of scale tones, respectively. For example, to support a C# minor chord in the scale of C major, bits 8 (for tonic minor) and 24 (for sharp) must be set. Bits 25, 26, and 27 handle chords that are triads, sixth or seventh chords, and chords with extensions, respectively. Bits 28 and 29 handle chords that are followed by tonic and dominant chords, respectively.
Requirements
Header: Declared in dmusicf.h.