Microsoft DirectX 8.0 (C++)

IDirectMusicComposer8::ComposeTransition

あるセクション セグメントからほかのセクション セグメントへのトランジションをアレンジする。

HRESULT ComposeTransition(
  IDirectMusicSegment* pFromSeg, 
  IDirectMusicSegment* pToSeg, 
  MUSIC_TIME mtTime, 
  WORD wCommand, 
  DWORD dwFlags, 
  IDirectMusicChordMap* pChordMap, 
  IDirectMusicSegment** ppTransSeg
);

パラメータ

pFromSeg
トランジションのアレンジに使われる移行元のセクション。
pToSeg
移行先セクション。トランジションはこのセクションへ円滑に移行する。dwFlags が DMUS_COMPOSEF_MODULATE を含んでいない場合、NULL でもよい。
mtTime
pFromSeg のセクション内でトランジションのアレンジを開始するタイム。
wCommand
トランジションを作成するときに使われる装飾。これには、DMUS_COMMANDT_TYPES 列挙型の 1 つか、またはコンテント プロバイダによって定義された別の値を指定できる。この値が DMUS_COMMANDT_ENDANDINTRO の場合、メソッドは、pFromSeg のエンディングと pToSeg のイントロを含むセグメントをアレンジする。
dwFlags
コンポーザ オプション。このパラメータは、DMUS_COMPOSEF_FLAGS 列挙型の値の 1 つまたは複数を保持できる。
pChordMap
トランジションをアレンジするときに使用されるコード マップの、IDirectMusicChordMap8 インターフェイスへのポインタ。「注意」を参照すること。
ppTransSeg
作成されたセグメントへのポインタを受け取る変数のアドレス。

戻り値

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

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

E_INVALIDARG
E_OUTOFMEMORY
E_POINTER

注意

pChordMap の値は NULL でもよい。値が NULL の場合、コード マップ トラックからコード マップを取得する試みが行われる。最初に pToSeg、次に pFromSeg が試される。どのセグメントにもコード マップ トラックが含まれない場合は、mtTimepFromSeg 内で発生するコードがトランジションのコードとして使われる。

コンポーザは、最初に pFromSeg 内、次に pToSeg 内でテンポを探す。どのセグメントにもテンポ トラックがない場合、トランジション セグメントのテンポはスタイルから取得される。

動作環境

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

参照

IDirectMusicComposer8::AutoTransitionトランジションの使い方