Microsoft DirectX 8.0 (Visual Basic) |
Type DMUS_NOTE_PMSG beat as Byte durRange As Byte flags As Byte grid As Byte measure As Integer midiValue As Byte mtDuration As Long musicValue As Integer offset As Integer playModeFlags As Byte subChordLevel As Byte timeRange As Byte transpose As Integer velocity As Byte velRange As Byte End Type
-2 〜 14 の範囲のオクターブ。このノートは、1 オクターブの 12 倍で上下に転置される。
0 〜 15 の範囲のコード位置。ただし、3 を超えてはならない。コード内の最初の位置は 0 である。
0 〜 15 の範囲のスケール位置。通常は 0 〜 2 の範囲だが、1 ノートのコードにし、コードの上のすべてをスケール位置として解釈することも可能である。
− 8 〜 7 の範囲の変化音。通常は− 2 〜 2 の範囲。これは、スケールからノートを取り出すオフセットを表す。
固定演奏モードでは、ミュージック値は 0 〜 127 の範囲にある MIDI ノートの値である。
ノート メッセージを送信するアプリケーションは、flags、midiValue、mtDuration、および velocity の各メンバだけに値を提供しなければならない。その他のメンバはツールだけによって利用される。ツールは DirectX for Visual Basic でサポートされていない。
アプリケーションは通常、flags を DMUS_NOTEF_NOTEON に設定する。アプリケーションはノートオフ メッセージを送信する必要はない。DirectMusic 出力ツールは、DMUS_NOTE_PMSG を受け取り、DMUS_NOTEF_NOTEON が設定されていることを認識すると、フラグを消去し、タイム スタンプに mtDuration を加え、メッセージを要求する。その結果、適切なタイムにノートは終了する。
ただし、アプリケーションは、flags が 0 に設定された同じチャンネル上の同じノートを送信することによって、ノートを途中で停止することができる。