Microsoft DirectX 8.0 (C++)

IDirectMusicPatternTrack8::SetVariation

トラックで再生されるバリエーションを設定する。

HRESULT SetVariation(
  IDirectMusicSegmentState* pSegState,
  DWORD dwVariationFlags,
  DWORD dwPart
);

パラメータ

pSegState
トラックを再生しているセグメント状態の IDirectMusicSegmentState8 インターフェイスのアドレス。
dwVariationFlags
演奏されるバリエーションごとに設定されたビットに対するヒットマスク。
dwPart
バリエーションを保持するパートの識別子。これは、ミュージック オーサリング アプリケーションでパートに割り当てられた番号であり、P チャンネルに等しい。

戻り値

成功した場合は S_OK を返す。

失敗した場合は、次のいずれかのエラー値を返す。

DMUS_E_NOT_INIT
E_POINTER

注意

バリエーションは、一度に 1 つのパートだけに設定できる。このメソッドが呼び出されるたびに、前の呼び出しが上書きされる。

次のサンプル コードは、パフォーマンス チャンネル 1 でバリエーション 16 とバリエーション 32 を演奏する。

// pPattern は IDirectMusicPatternTrack8 ポインタである。
// pSegmentState は IDirectMusicSegmentState8 ポインタである。
 
#define VARIATION(v)  (1 << ((v) - 1))
 
HRESULT hr = pPattern->SetVariation(
    pSegmentState, VARIATION(32) | VARIATION(16), 1);

動作環境

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