Microsoft DirectX 8.0 (C++)

アプリケーションで作成されたメッセージ

ほとんどのメッセージはトラックによって生成されるが、アプリケーションで直接メッセージをキューに配置できる。たとえば、テンポを変更したり、DLS 音色でノートとしてサウンド エフェクトを演奏する場合に、この処理を行う。

詳細とサンプル コードについては、「IDirectMusicPerformance8::SendPMsg」を参照すること。

パフォーマンスが複数のオーディオパスを持つ場合、DirectMusic はアプリケーションが作成したメッセージを正しくルーティングできない場合がある。これは、新しいメッセージが属するオーディオパスに関する情報がメッセージに含まれていないからである。チャンネル固有のメッセージが、異なるセグメントの異なるオーディオパスにマップされるパフォーマンス チャンネルに属する場合もある。

メッセージが特定のオーディオパスに送信されるようにするには、まず IDirectMusicSegmentState8::GetObjectInPath または IDirectMusicAudioPath8::GetObjectInPath を呼び出し、オーディオパスの DMUS_PATH_AUDIOPATH_GRAPH または DMUS_PATH_SEGMENT_GRAPH ステージから IDirectMusicGraph8 インターフェイスを取得して、セグメントまたはオーディオパスのツールグラフを取得する。次に、メッセージを IDirectMusicGraph8::StampPMsg に渡す。