Microsoft DirectX 8.0 (Visual Basic)

DMUS_NOTE_PMSG

MIDI のノート イベントのデータを保持する。

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

メンバ

beat
このノートが発生する (小節内の) 拍数。
durRange
ランダム持続時間の範囲。
flags
DMUS_NOTEF_NOTEON に設定しなければならない。「注意」を参照すること。
grid
このノートが発生する拍からのグリッド オフセット。
measure
ノートが発生する小節。
midiValue
MIDI ノートの値。
mtDuration
ノートの持続時間。ミュージック タイムで指定する。4 分音符あたり 768 ティックである。
musicValue
ノートの記述。ほとんどの演奏モードでは、以下に示すように、パックされた 4 ビット値の配列である。

-2 〜 14 の範囲のオクターブ。このノートは、1 オクターブの 12 倍で上下に転置される。

0 〜 15 の範囲のコード位置。ただし、3 を超えてはならない。コード内の最初の位置は 0 である。

0 〜 15 の範囲のスケール位置。通常は 0 〜 2 の範囲だが、1 ノートのコードにし、コードの上のすべてをスケール位置として解釈することも可能である。

− 8 〜 7 の範囲の変化音。通常は− 2 〜 2 の範囲。これは、スケールからノートを取り出すオフセットを表す。

固定演奏モードでは、ミュージック値は 0 〜 127 の範囲にある MIDI ノートの値である。

offset
ノートが発生するグリッドからのオフセット。ミュージック タイムで指定する。
playModeFlags
ミュージック値がコードとサブコードにどのように関連するかを決定する演奏モード。値のリストについては、「CONST_DMUS_PLAYMODE_FLAGS」を参照すること。
subChordLevel
ノートが使用するサブコード レベル。
timeRange
ランダム時間の範囲。
transpose
musicValue からの変換後に midiValue に追加する転調。
velocity
ノートのベロシティ
velRange
ベロシティをランダム化する範囲。

注意

ノート メッセージを送信するアプリケーションは、flagsmidiValuemtDuration、および velocity の各メンバだけに値を提供しなければならない。その他のメンバはツールだけによって利用される。ツールは DirectX for Visual Basic でサポートされていない。

アプリケーションは通常、flags を DMUS_NOTEF_NOTEON に設定する。アプリケーションはノートオフ メッセージを送信する必要はない。DirectMusic 出力ツールは、DMUS_NOTE_PMSG を受け取り、DMUS_NOTEF_NOTEON が設定されていることを認識すると、フラグを消去し、タイム スタンプに mtDuration を加え、メッセージを要求する。その結果、適切なタイムにノートは終了する。

ただし、アプリケーションは、flags が 0 に設定された同じチャンネル上の同じノートを送信することによって、ノートを途中で停止することができる。

参照

DirectMusicPerformance8.SendNotePMSGミュージック値と MIDI ノート