Platform SDK: DirectX

IDirectMusicPerformance::MIDIToMusic

IDirectMusicPerformance::MIDIToMusic メソッドは、提供されるコード、サブコード レベル、および演奏モードを使って、MIDI 音符の値を DirectMusic ミュージック値に変換する。

HRESULT MIDIToMusic(
  BYTE bMIDIValue,
  DMUS_CHORD_KEY* pChord,
  BYTE bPlayMode,
  BYTE bChordLevel,
  WORD *pwMusicValue
); 

パラメータ

bMIDIValue
変換する MIDI 音符の値。0 〜 127 の範囲で指定する。
pChord
音符の変換で使われるコードとキーの構造に関する情報を含む DMUS_CHORD_KEY 構造体のアドレス。これには、基調のスケールも含まれる。たとえば、コードが CM7 の場合、音符はルート音 C、メジャー 7 度のコード音程に照らして解釈される。この構造体は、8 個の平行したサブコードを、それぞれのコード音程、ルート音、スケール、および転回フラグと共に保持する。また、全体的なキーのルート音も保持する。
bPlayMode
ミュージック値がコードからどのように派生するかを決定する演奏モード。値のリストについては、「DMUS_PLAYMODE_FLAGS」を参照すること。
bChordLevel
使用できるサブコードを定義するサブコード レベル。「DMUS_SUBCHORD」を参照すること。
pwMusicValue
ミュージック値を受け取る変数のアドレス。この値の詳細については、「DMUS_NOTE_PMSG」を参照すること。

戻り値

成功すれば次のいずれかを返す。「注意」を参照すること。

S_OK
DMUS_S_DOWN_OCTAVE
DMUS_S_UP_OCTAVE

失敗すれば次のエラー値のいずれかを返す。

DMUS_E_CANNOT_CONVERT
E_INVALIDARG

注意

メソッドが失敗した場合、*pwMusicValue は変更されない。

戻り値が DMUS_S_UP_OCTAVE または DMUS_DOWN_OCTAVE の場合、音符変換では 0 未満または 128 以上の音符の値が生成されるため、0 〜 127 の適切な MIDI 範囲に収まるように、1 または複数オクターブ分だけ上または下に移動される。これは、演奏モード DMUS_PLAYMODE_FIXEDTOCHORD および DMUS_PLAYMODE_FIXEDTOKEY を使うときに発生することがある。どちらも、MIDI 値を *pwMusicValue に返す。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dmusici.h で宣言。

参照

IDirectMusicPerformance::MusicToMIDIミュージック値と MIDI 音符