Microsoft DirectX 8.0 (C++) |
DirectMusic ミュージック値を MIDI ノートの値に変換する。
HRESULT MusicToMIDI( WORD wMusicValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE *pbMIDIValue );
成功した場合は、次のいずれかの値を返す。「注意」を参照すること。
S_OK |
DMUS_S_OVER_CHORD |
DMUS_S_DOWN_OCTAVE |
DMUS_S_UP_OCTAVE |
失敗した場合は、次のいずれかのエラー値を返す。
DMUS_E_CANNOT_CONVERT |
E_INVALIDARG |
メソッドが失敗した場合または DMUS_S_OVER_CHORD を返す場合、*pwMIDIValue は変更されない。
ミュージック値がコードの最高音より高い位置にあるノートを持っているため、ノートが計算されない場合は、DMUS_S_OVER_CHORD を返す。これは、DMUS_PLAYMODE_NORMALCHORD 演奏モードだけに適用される。アプリケーションはノートに対して何の処理もしてはならない。ノートはこのコードに対して演奏されるものではない。
戻り値が DMUS_S_UP_OCTAVE または DMUS_DOWN_OCTAVE の場合、ノート変換では 0 未満または 128 以上のノートの値が生成されるため、0 〜 127 の適切な MIDI 範囲に収まるように、1 または複数オクターブ分だけ上または下に移動される。これは、DMUS_PLAYMODE_FIXED 以外の演奏モードを使うときに発生することがある。
ヘッダー : dmusici.h で宣言。