DMUS_NOTE_PMSG
MIDI ノートのメッセージ データを保持する。
typedef struct DMUS_NOTE_PMSG {
DMUS_PMSG_PART
MUSIC_TIME mtDuration;
WORD wMusicValue;
WORD wMeasure;
short nOffset;
BYTE bBeat;
BYTE bGrid;
BYTE bVelocity;
BYTE bFlags;
BYTE bTimeRange;
BYTE bDurRange;
BYTE bVelRange;
BYTE bPlayModeFlags;
BYTE bSubChordLevel;
BYTE bMidiValue;
char cTranspose;
} DMUS_NOTE_PMSG;
- DMUS_PMSG_PART
- 共通のメッセージ メンバに展開されるマクロ。「DMUS_PMSG」を参照すること。
- mtDuration
- ノートの持続時間。
- wMusicValue
- ノートの記述。ほとんどの演奏モードでは、以下に示すように、パックされた 4 ビット値の配列である。
- Octave
- − 2 〜 14 の範囲。このノートは、1 オクターブの 12 倍で上下に転置される。
- Chord position
- 0 〜 15 の範囲だが、3 を超えてはならない。コード内の最初の位置は 0 である。
- Scale position
- 0 〜 15 の範囲。通常は 0 〜 2 の範囲だが、1 ノートのコードにし、コードの上のすべてをスケール位置として解釈することも可能。
- Accidental
- − 8 〜 7 の範囲だが、通常は − 2 〜 2 の範囲。これは、スケールからノートを取り出すオフセットを表す。
固定演奏モードでは、ミュージック値は 0 〜 127 の範囲にある MIDI ノートの値である。
- wMeasure
- ノートが発生する小節。
- nOffset
- ノートが発生するグリッドからのオフセット。ミュージック タイムで表される。
- bBeat
- このノートが発生する (小節内での) 拍。
- bGrid
- このノートが発生する拍からのグリッド オフセット。
- bVelocity
- ノートのベロシティ。
- bFlags
- 「DMUS_NOTEF_FLAGS」を参照すること。
- bTimeRange
- ランダム時間の範囲。
- bDurRange
- 持続時間をランダム化する範囲。
- bVelRange
- ベロシティをランダム化する範囲。
- bPlayModeFlags
- ミュージック値がコードとサブコードにどのように関連するかを決定する演奏モード。値のリストについては、「DMUS_PLAYMODE_FLAGS」を参照すること。
- bSubChordLevel
- ノートが使うサブコード レベル。「DMUS_SUBCHORD」を参照すること。
- bMidiValue
- wMusicValue から変換された、MIDI ノートの値。
- cTranspose
- wMusicValue からの変換後に bMidiValue に追加する転調。
注意
出力ツールが bFlags の DMUS_NOTEF_NOTEON でメッセージを受け取る場合は、MIDI ノートオン メッセージがシンセサイザに送られる。次に DMUS_NOTEF_NOTEON フラグを消去し、タイム スタンプに mtDuration を加え、メッセージを要求する。その結果、適切なタイムにノートは終了する。
ヘッダー : dmusici.h で宣言。
参照
IDirectMusicPerformance8::SendPMsg、ミュージック値と MIDI ノート