Microsoft DirectX 8.0 (C++)

IDirectMusicSegment8::Compose

DMUS_TRACKCONFIG_COMPOSING フラグの設定されたすべてのトラックをアレンジし、アレンジ済みのトラックをこのセグメント、またはこのセグメントのクローンに配置する。

HRESULT Compose(
  MUSIC_TIME mtTime,
  IDirectMusicSegment* pFromSegment,
  IDirectMusicSegment* pToSegment,
  IDirectMusicSegment** ppComposedSegment
);

パラメータ

mtTime
トランジションをアレンジする pFromSegment の現在タイムを指定する MUSIC_TIME タイプの値。pFromSegment が NULL の場合は 0 を設定する。
pFromSegment
トランジションにつながるセグメントを指定する、IDirectMusicSegment8 インターフェイスへのポインタ。呼び出し元セグメントがトランジションでない場合は NULL。
pToSegment
トランジションに続くセグメントを指定する、IDirectMusicSegment8 インターフェイスへのポインタ。呼び出し元セグメントがトランジションでない場合、またはトランジションがエンディングである場合は NULL。
ppComposedSegment
アレンジ済みセグメントの IDirectMusicSegment8 インターフェイス ポインタを受け取る変数のアドレス。呼び出し元セグメントを再アレンジする場合は NULL。

戻り値

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

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

DMUS_E_NOT_FOUND
E_FAIL
E_OUTOFMEMORY
E_POINTER

注意

ポインタのパラメータがすべて NULL である場合、セグメントはそのすべてのトラックに対して IDirectMusicTrack8::Compose を呼び出す。アレンジに必要な別のトラックを探しているアレンジ トラックの場合、必要なトラックが見つかると、DMUS_E_NOT_FOUND を返す。

ppComposedSegment が NULL でない場合、このメソッドは、再アレンジしたトラックを保持するオリジナル セグメントのクローンを作成する。pFromSegment または pToSegment のどちらも NULL ではない場合、呼び出し元セグメントはトランジションであると想定され、ブラケット付きのセグメントを参照するヘッダーのみを保持するトラックが含まれていると考えられる。

動作環境

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

参照

IDirectMusicTrack8::ComposeIDirectMusicSegment8::SetTrackConfig