Platform SDK: DirectX

IDirectMusicComposer::ComposeTransition

IDirectMusicComposer::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 を参照すること。この値が DMUS_COMMANDT_ENDANDINTRO の場合、メソッドは、pFromSeg の終了部と pToSeg の導入部を含むセグメントをアレンジする。
dwFlags
コンポーザ オプション。このパラメータは、DMUS_COMPOSEF_FLAGS 列挙型の値の 1 つまたは複数を保持していてもよい。
pChordMap
移行部をアレンジするときに使うコード マップ。「注意」を参照すること。
ppTransSeg
作成されたセクション セグメントへのポインタを受け取る変数のアドレス。

戻り値

成功すれば S_OK を返す。

失敗すれば次のエラー値のいずれかを返す。

E_INVALIDARG
E_OUTOFMEMORY
E_POINTER

注意

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

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

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dmusici.h で宣言。

参照

IDirectMusicComposer::AutoTransition移行部の使い方