Microsoft DirectX 8.0 (Visual Basic)

メッセージの作成と配信

セグメントが演奏されている場合、ほとんどのトラックは、再生中に発生するイベントに関する情報を含むメッセージを生成する。詳細については、「DirectMusic トラック」を参照すること。

数種類のメッセージを送信するトラックもある。たとえば、スタイル トラックはノート メッセージと拍子記号メッセージを送信する。これらの場合、アプリケーションはトラックの特定の種類のメッセージを無効にすることができる。詳細については、「トラック パラメータの無効化と有効化」を参照すること。

パフォーマンス エンジンは、各メッセージをクロック タイムでいつ処理するかを決定する。チャンネル メッセージの場合、パフォーマンスはメッセージを取得するパフォーマンス チャンネルも決定する。この情報は、メッセージ タイプ、ソース トラック、メッセージを受信する最初のツールグラフとツールへのポインタなどを保持するほかのデータと共に、メッセージ構造体に保存される。

テンポや拍子記号の変更などの特定のメッセージは、パフォーマンスによって直ちに処理され、解放される。ノートやパッチの変更など、その他のメッセージはキューに入れられ、タイム スタンプの順に処理される。

  同じタイム スタンプのメッセージが特定の順序で処理されるという保証はない。

拍子記号メッセージは純粋な情報である。拍子記号はセグメントに組み込まれ、変更できない。

最終的に、メッセージは破棄されない限り、DirectMusic の出力ツールに到達する。このツールは受け取ったすべてのメッセージをスタンダード MIDI メッセージに変換し、それらをポート バッファ経由でシンセサイザに配信する。

解説については、「オーディオ データの流れの概要」を参照すること。