Microsoft DirectX 8.0 (C++)

DMUS_IO_STYLEPART

パートに関する情報を保持する。スタイル形式で使用される。

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;

メンバ

timeSig
スタイルのデフォルトの拍子記号をオーバーライドする拍子記号を保持する DMUS_IO_TIMESIG 構造体。
dwVariationChoices
各要素は、32 あるバリエーションのいずれかに対応する。各要素に設定されるフラグは、そのバリエーションでサポートされるコードのタイプを示す (「注意」を参照)。また、バリエーションが DirectMusic モードと IMA モードのどちらであるかを指定するために、モード マスクの 1 つを設定しなければならない。

次のフラグが定義されている。

DMUS_VARIATIONF_MAJOR
メジャー コードのスケール内の 7 つの位置。
DMUS_VARIATIONF_MINOR
マイナー コードのスケール内の 7 つの位置。
DMUS_VARIATIONF_OTHER
その他のコードのスケール内の 7 つの位置。
DMUS_VARIATIONF_ROOT_SCALE
スケール内のコード ルート音を処理する。
DMUS_VARIATIONF_ROOT_FLAT
フラットのコード ルート音を処理する (スケール内のノートに基づく)。
DMUS_VARIATIONF_ROOT_SHARP
シャープのコード ルート音を処理する (スケール内のノートに基づく)。
DMUS_VARIATIONF_TYPE_TRIAD
3 和音の単体コードを処理する。
DMUS_VARIATIONF_TYPE_6AND7
6 と 7 の単体コードを処理する。
DMUS_VARIATIONF_TYPE_COMPLEX
複合コードを処理する。
DMUS_VARIATIONF_DEST_TO1
1 のコードへのトランジションを処理する。
DMUS_VARIATIONF_DEST_TO5
5 のコードへのトランジションを処理する。
DMUS_VARIATIONF_MODES
モード マスク。使用しない。
DMUS_VARIATIONF_MODES_EX
モード マスク。
DMUS_VARIATIONF_IMA25_MODE
モード マスク。(dwVariationChoices & DMUS_VARIATIONF_MODES_EX) == DMUS_VARIATIONF_IMA25_MODE である場合、バリエーションは IMA (Interactive Music Architecture) モードである。
DMUS_VARIATIONF_DMUS_MODE
モード マスク。dwVariationChoices にこのマスクが含まれる場合、バリエーションは DirectMusic モードである。DirectMusic Producer でオーサリングされたすべてのバリエーションは、このモードを使用する。
guidPartID
パートの一意の識別子。
wNbrMeasures
パートの長さ。小節単位で表す。
bPlayModeFlags
演奏モードを定義するフラグ。値のリストについては、「DMUS_PLAYMODE_FLAGS」を参照すること。
bInvertUpper
転回の上限。
bInvertLower
転回の下限。
bPad
未使用。
dwFlags
パートの動作を指定するフラグ。次の値を指定できる。
DMUS_PARTF_USE_MARKERS
パートはマーカー イベントを使用する。
DMUS_PARTF_ALIGN_CHORDS
パートは、コードに揃えられたマーカー上でのみ切り替えることができる。

注意

dwVariationChoices 内のフラグは、DirectMusic モードで指定したバリエーションによってサポートされるコードのタイプを決定する。最初の 7 つのフラグ (ビット 1 〜 7) は、バリエーションがスケール位置に基づくメジャー コードをサポートする場合に設定する。たとえば、1、2、4 の各ビットが設定された場合、バリエーションは主音、2 度、4 度のスケール位置に基づくメジャー コードをサポートする。次の 7 つのフラグはマイナー コードに対して同様に機能し、その次の 7 つのフラグはメジャーおよびマイナー以外のコードに対して同様に機能する (SUS 4 コードなど)。22、23、24 の各ビットは、バリエーションがそれぞれスケールに基づくコード、スケールの音程のシャープに基づくコード、スケールの音程のフラットに基づくコードをサポートする場合に設定する。たとえば、C メジャーのスケールで C# マイナー コードをサポートするには、ビット 8 (同主マイナー) とビット 24 (シャープ) を設定する必要がある。25、26、27 の各ビットは、それぞれ 3 和音のコード、6 度または 7 度のコード、拡張されたコードを処理する。28 と 29 の各ビットは、それぞれ主音のコードと属音のコードが続くコードを処理する。

動作環境

  ヘッダー : dmusicf.h で宣言。