Platform SDK: DirectX

IDirectMusicComposer::AutoTransition

IDirectMusicComposer::AutoTransition メソッドは、パフォーマンスのプライマリ セグメント (または無音) からほかのセグメントへの移行部をアレンジし、演奏の目的でその移行部とセカンダリ セグメントを挿入する。

HRESULT AutoTransition(
  IDirectMusicPerformance* pPerformance,
  IDirectMusicSegment* pToSeg,
  WORD wCommand,
  DWORD dwFlags,
  IDirectMusicChordMap* pChordMap,
  IDirectMusicSegment** ppTransSeg,
  IDirectMusicSegmentState** ppToSegState, 
  IDirectMusicSegmentState** ppTransSegState
);

パラメータ

pPerformance
移行部を作成するパフォーマンス。
pToSeg
移行先セクション。移行部はこのセクションへ円滑に移行する。「注意」を参照すること。
wCommand
移行部を作成するときに使われる装飾。DMUS_COMMANDT_TYPES を参照すること。この値が DMUS_COMMANDT_ENDANDINTRO の場合、メソッドは、プライマリ セグメントの終了部と pToSeg の導入部を含むセグメントをアレンジする。
dwFlags
コンポーザ オプション。DMUS_COMPOSEF_FLAGS を参照すること。
pChordMap
移行部をアレンジするときに使うコード マップ。
ppTransSeg
作成されたセクション セグメントへのポインタを受け取る変数のアドレス。この値は NULL でもよい。その場合、ポインタは返されない。
ppToSegState
移行部 (pToSeg) の後のセグメントのパフォーマンス (pPerformance) によって作成されるセグメント状態へのポインタを受け取る変数のアドレス。「注意」を参照すること。
ppTransSegState
作成されたセグメント (ppTransSeg) のパフォーマンス (pPerformance) によって作成されるセグメント状態へのポインタを受け取る変数のアドレス。「注意」を参照すること。

戻り値

成功すれば S_OK を返す。

失敗すれば E_POINTER を返す。

注意

dwFlags が DMUS_COMPOSEF_MODULATE を含んでいない場合、pToSeg の値は NULL でもよい。pToSeg が NULL またはスタイル トラックを含んでいない場合 (MIDI ファイルに基づいている場合)、イントロの装飾は無効になる。演奏中のセグメントが NULL またはスタイル トラックを含んでいない場合は、フィル、ブレーク、エンド、およびグルーブの装飾が無効になる。演奏中のセグメントまたは pToSeg によって表されるセグメントでスタイル トラックが利用できない場合は、すべての装飾が無効になり、移行は行われない。その場合、ppTransSegppTransSegState の両方が NULL を返すが、ポインタが NULL 以外のときメソッドは成功し、pToSeg によって表されるセグメントが挿入される。

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

動作環境

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

参照

IDirectMusicComposer::ComposeTransition移行部の使い方