Microsoft DirectX 8.0 (C++)

DMUS_MELODY_FRAGMENT

DirectX 8.0 では実装されない。

メロディ編成トラックの断片を記述する。メロディの断片は、メロディのアレンジを行う際に、パターンからバリエーションを選択するために使用される。

typedef struct _DMUS_MELODY_FRAGMENT {
    MUSIC_TIME  mtTime;
    DWORD  dwID; 
    WCHAR  wszVariationLabel[DMUS_MAX_FRAGMENTLABEL]; 
    DWORD  dwVariationFlags; 
    DWORD  dwRepeatFragmentID;
    DWORD  dwFragmentFlags; 
    DWORD  dwPlayModeFlags; 
    DWORD  dwTransposeIntervals; 
    DMUS_COMMAND_PARAM   Command;
    DMUS_CONNECTION_RULE ConnectionArc;
} DMUS_MELODY_FRAGMENT;

メンバ

mtTime
断片を演奏するタイム。トラックの開始からの相対時間である。
dwID
トラックの識別子。
wszVariationLabel
予約済み。
dwVariationFlags
使用可能なバリエーションのセットを指定する DWORD 値。設定される各ビット が 1 つのバリエーションを表す。dwFragmentFlags に DMUS_FRAGMENTF_USE_REPEAT が含まれる場合は無視される。
dwRepeatFragmentID
トラック内の以前の断片の識別子。ここからバリエーションを選択する。dwFragmentFlags に DMUS_FRAGMENTF_USE_REPEAT が含まれない場合は無視される。
dwFragmentFlags
次の値のいずれかを使用できる。
DMUS_FRAGMENTF_USE_REPEAT
dwRepeatFragmentID に指定された断片を使用する。
DMUS_FRAGMENTF_REJECT_REPEAT
以前の断片の新しいバリエーションを使用する。
DMUS_FRAGMENTF_USE_LABEL
wszVariationLabel で指定されるセットを使用する。現在サポートされていない。
dwPlayModeFlags
予約済み。0 でなければならない。
dwTransposeIntervals
下位 24 ビットはそれぞれ、2 オクターブの範囲内の音程を表す。リピートする断片内のノートを、現在のコードまたはキーに合わせて転置するための基準となる、音程のセットを指定する。
Command
メロディのソースとして使用するパターンのタイプを指定する DMUS_COMMAND_PARAM 構造体。
ConnectionArc
断片が次から次へとスムーズに流れるようにするための規則を指定する DMUS_CONNECTION_RULE 構造体。

注意

それぞれの断片に対して選択されたバリエーションがメロディを形成する。断片は、任意の拍境界上に配置でき、小節境界にまたがることができる。2 つの断片がオーバーラップする場合、先行する断片で選択されたバリエーションは、後の断片のノートと衝突しないように、切り捨てられる。

それぞれのメロディ断片には、そのポイントに適したバリエーションの記述が含まれる。これは、バリエーションの範囲、リスト、または "すべてのバリエーションを使用する" ための指示である。バリエーションの選択は、前のバリエーションを参照することもできる。メロディ断片は、演奏モードを使用して構築中のメロディ内にノートを生成したり、コードの音程やスケールの音程を使用して現在のコードに揃えるバリエーションを選択したりすることができる。さらに、断片を揃えるために転置する際の基準とする音程として、音程のセットを選択することもできる。

動作環境

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

参照

GUID_MelodyFragment