Microsoft DirectX 8.0 (Visual Basic)

DirectMusic メッセージの使い方

サウンド データは、メッセージの形で DirectMusic パフォーマンスに渡される。ほとんどの場合、メッセージの作成および処理は自動的に行われ、アプリケーションで直接これらの処理をする必要はない。ただし、メッセージの基本的な知識は DirectMusic のしくみを理解するのに役立ち、理解が深まるほど、メッセージを使ってパフォーマンスを細かく制御できるようになる。

DirectMusic では、2 種類のメッセージが使用される。

アプリケーションは、MIDI メッセージを直接処理しない。セグメントを演奏する場合、そのすべてのデータはパフォーマンス メッセージ形式であり、最終的な出力ツールに渡されるまでその形式のままである。最終的な出力ツールでは、パフォーマンス メッセージを MIDI メッセージ フォーマットに変換した後、シーケンス化してシンセサイザに渡す。ただし、一部のパフォーマンス メッセージには、スタンダード MIDI メッセージと同様の情報が含まれている。このようなメッセージを理解するために、ここでは MIDI メッセージ フォーマットのいくつかの点について説明する。

  DirectMusicPerformance8.SendMIDIPMSG メソッドは、スタンダード MIDI メッセージのデータに相当するデータを送信する。ただし、データはパフォーマンス メッセージの形式である。

ほとんどのパフォーマンス メッセージは、セグメントが演奏されるときに、セグメントのトラックによって送信される。アプリケーションは、メッセージを送信して、MIDI コントローラの設定、単一のノートの演奏、テンポの変更などの処理も行うことができる。

メッセージを送信した後、アプリケーションはメッセージを取得または変更できない。たとえば、DirectMusic Producer でオーサリングしたセグメントには、テキスト メッセージを生成する歌詞トラックが含まれる場合がある。DirectX for Visual Basic では、アプリケーションはこれらのメッセージを取得して歌詞を表示することはできない。

通知は、アプリケーションではメッセージを取得できないという規則の例外である。DirectMusicPerformance8.GetNotificationPMsg メソッドによって、アプリケーションは DMUS_NOTIFICATION_PMSG メッセージを取得できる。詳細については、「通知とイベントの処理」を参照すること。

次のトピックでは、メッセージとそのルーティング方法について説明する。