Platform SDK: DirectX |
DMUS_NOTE_PMSG 型は、音楽の音符イベント用のデータによって構成されている。
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 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 にセットされた同じチャンネル上の同じ音符を送信することによって、音符を途中で停止することができる。