Microsoft DirectX 8.0 (Visual Basic) |
パフォーマンスのテンポは、DirectMusic で使用される 2 種類のタイムの変換を指示し、音楽境界のイベントの分解能を制御する(「クロック タイムとミュージック タイム」を参照すること)。通常、制御セグメントのテンポ トラックがテンポを管理するが、アプリケーションで動的にテンポを設定することもできる。
これを実行する方法は 2 つある。マスタ テンポを設定する方法と、テンポ メッセージを送信する方法である。
マスタ テンポは、パフォーマンスのすべてのテンポに乗算する係数である。たとえば、0.75 のパラメータで DirectMusicPerformance8.SetMasterTempo を呼び出してマスタ テンポを設定し、1 分間に 120 拍のテンポを持つセグメントを演奏する場合、セグメントは 90 のテンポで演奏される。
DirectMusicPerformance8.SendTempoPMSG メソッドを使ってテンポを送信すると、メッセージのスタンプに指定されたタイムにテンポが変更される。新しいテンポは、別のテンポ メッセージが送信されるか、テンポが制御セグメントによって変更されるまで有効である。テンポの値は、マスタ テンポによって変更することができる。
次の呼び出しでは、テンポは直ちに 1 分間につき 100 拍に設定される。perf は DirectMusicPerformance8 オブジェクトを表す。lTime パラメータに 0 を渡して、メッセージを直ちに送信するように指定する場合は、DMUS_PMSGF_REFTIME フラグも設定しなければならない。
Call perf.SendTempoPMSG(0, DMUS_PMSGF_REFTIME, 100)