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 で宣言。