Microsoft DirectX 9.0

DMUS_SUBCHORD

The DMUS_SUBCHORD structure is used in the SubChordList member of a DMUS_CHORD_PARAM structure.

Syntax

typedef struct {
  DWORD dwChordPattern;
  DWORD dwScalePattern;
  DWORD dwInversionPoints;
  DWORD dwLevels;
  BYTE  bChordRoot;
  BYTE  bScaleRoot;
} DMUS_SUBCHORD;

Members

dwChordPattern

Notes in the subchord. Each of the lower 24 bits represents a semitone, starting with the root at the least significant bit, and the bit is set if the note is in the chord.

dwScalePattern

Notes in the scale. Each of the lower 24 bits represents a semitone, starting with the root at the least significant bit, and the bit is set if the note is in the scale.

dwInversionPoints

Points in the scale at which inversions can occur. Bits that are off signify that the notes in the interval cannot be inverted. Thus, the pattern 100001111111 indicates that inversions are allowed anywhere except between the fifth and seventh degrees of a major scale.

dwLevels

Bit field showing which levels are supported by this subchord. Each part in a style is assigned a level, and this chord is used only for parts whose levels are contained in this member.

bChordRoot

Root of the subchord, in which 0 is the lowest C in the range and 23 is the top B.

bScaleRoot

Root of the scale, in which 0 is the lowest C in the range and 23 is the top B.

Remarks

Chords authored in DirectMusic Producer can have up to four component subchords, each assigned to a different level. Different parts in a pattern can be assigned to different chord levels, so that when the pattern plays, the transpositions within different parts may vary. In the DirectMusic API, complex chords can be added to a track by using the GUID_ChordParam parameter.

Requirements

  Header: Declared in dmusici.h.

See Also