Microsoft DirectX 8.0 (C++)

IDirectMusicComposer8::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 列挙型の 1 つか、またはコンテント プロバイダによって定義された別の値を指定できる。この値が DMUS_COMMANDT_ENDANDINTRO の場合、メソッドは、プライマリ セグメントのエンディングと pToSeg のイントロを含むセグメントをアレンジする。
dwFlags
コンポーザ オプション。「DMUS_COMPOSEF_FLAGS」を参照すること。
pChordMap
トランジションをアレンジするときに使用されるコード マップの、IDirectMusicChordMap8 インターフェイスへのポインタ。
ppTransSeg
作成されたセグメントへのポインタを受け取る変数のアドレス。この値は NULL でもよい。その場合、ポインタは返されない。
ppToSegState
トランジション (pToSeg) の後のセグメントのパフォーマンス (pPerformance) によって作成されるセグメント状態へのポインタを受け取る変数のアドレス。「注意」を参照すること。
ppTransSegState
作成されたセグメント (ppTransSeg) のパフォーマンス (pPerformance) によって作成されるセグメント状態へのポインタを受け取る変数のアドレス。「注意」を参照すること。

戻り値

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

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

DMUS_E_NO_MASTER_CLOCK
E_INVALIDARG
E_POINTER

注意

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

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

動作環境

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

参照

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