Microsoft DirectX 8.0 (C++) |
PlayMotif サンプルは、セカンダリ セグメントとして再生されるモチーフをプライマリ セグメントのリズムに割り当てるさまざまな方法を示す。
ソース :(SDK ルート)\Samples\Multimedia\DirectMusic\PlayMotif
実行可能ファイル :(SDK ルート)\Samples\Multimedia\DirectMusic\Bin
デフォルトのセグメントを再生するか、モチーフを含むスタイルに基づく別の DirectMusic セグメントをロードする。リスト ボックスからパターンを 1 つ選択し、[Align Option] ボタンを 1 つ選択して、[Play Motif] をクリックする。プライマリ セグメントの適切な境界に到達するまで、モチーフの再生は開始されない。
PlayMotif サンプルは、PlayAudio サンプルと形式がよく似ている。このサンプルを基本としたノートのプログラミングの詳細については、「PlayAudio」を参照すること。
ファイルをロードする際、PlayMotif は、PlayAudio と同じ手順を実行した後、LoadSegmentFile 関数を実行する。
モチーフ名を IDirectMusicStyle8::GetMotif に渡して、モチーフへの IDirectMusicSegment8 インターフェイス ポインタを取得し、これをリスト ボックス内の項目と関連付けられたデータとして保存する。
[Play Motif] をクリックすると、OnPlayMotif 関数によって次のタスクが実行される。
DirectMusic 通知は、通常、PlayAudio 内で処理される。ただし、このアプリケーションは、開始または終了するモチーフのノートを取得してMOTIF_NODE 構造体内の演奏カウントを更新する。演奏カウントが 0 よりも大きいと、ユーザー インターフェイスを更新してそのモチーフが再生中であることを示す。