Platform SDK: DirectX |
IDirectMusicPerformance::MusicToMIDI メソッドは、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 以外の演奏モードを使うときに発生することがある。
Windows NT/2000 : Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dmusici.h で宣言。