Platform SDK: DirectX

IDirectMusicComposer::ComposeSegmentFromTemplate

IDirectMusicComposer::ComposeSegmentFromTemplate メソッドは、スタイル、コード マップ、およびテンプレートからオリジナルのセクション セグメントを作成する。

HRESULT ComposeSegmentFromTemplate(
  IDirectMusicStyle* pStyle, 
  IDirectMusicSegment* pTemplate, 
  WORD wActivity, 
  IDirectMusicChordMap* pChordMap, 
  IDirectMusicSegment** ppSegment
);

パラメータ

pStyle
セクション セグメントの作成に使うスタイル。
pTemplate
セクション セグメントの作成に使うテンプレート。
wActivity
和音進行のレート。有効な値は 0 〜 3。値が低いと、コード チェンジが増える。
pChordMap
セクション セグメントの作成に使うコード マップ。
ppSegment
作成されたセクション セグメントへのポインタを受け取る変数のアドレス。

戻り値

成功すれば S_OK を返す。

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

E_INVALIDARG
E_POINTER

注意

pStyle が NULL ではない場合、このスタイルはセグメントのアレンジに使われる。NULL の場合、pTempSeg で指定されたテンプレートから取り出したスタイルをセグメントの作曲に使う。同様に、pChordMap が NULL ではない場合、このコード マップはセグメントのアレンジに使われる。NULL の場合、上記のテンプレートから取り出したコード マップをセグメントのアレンジに使う。

pStyle が NULL でテンプレート内にスタイル トラックが存在しない場合や、pChordMap が NULL でコード マップ トラックが存在しない場合、このメソッドは E_INVALIDARG を返す。

セクション セグメントの長さは、渡されたテンプレート セクションの長さと等しくなる。

作成されたセグメントのデフォルトの開始ポイントとループ ポイントは、テンプレート セグメント内の値に関係なく 0 である。

動作環境

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

参照

IDirectMusicComposer::ComposeSegmentFromShapeIDirectMusicComposer::ComposeTemplateFromShapeテンプレートの使い方