DirectX SDK

DMUS_IO_SUBCHORD

The DMUS_IO_SUBCHORD structure contains information about a subchord. It is used in the Chord Track List.

typedef struct _DMUS_IO_SUBCHORD {
    DWORD   dwChordPattern; 
    DWORD   dwScalePattern; 
    DWORD   dwInversionPoints; 
    DWORD   dwLevels; 
    BYTE    bChordRoot;
    BYTE    bScaleRoot;
} DMUS_IO_SUBCHORD;
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
Which levels are supported by this subchord. Certain instruments can be assigned different levels (such as to play only the lower subchords of a chord), and this value is a way of mapping subchords to those levels.
bChordRoot
Root of the subchord, where 0 is the bottom C in the range and 23 is the top B.
bScaleRoot
Root of the scale, where 0 is the bottom C in the range and 23 is the top B.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dmusicf.h.

See Also

DMUS_SUBCHORD