Microsoft DirectX 8.0 (C++)

IDirectMusicPerformance8::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 度のコード音程に照らして解釈される。この構造体は、DMUS_MAXSUBCHORD 平行サブコードを、それぞれのコード音程、ルート音、スケール、および転回フラグと共に保持する。また、全体的なキーのルート音も保持する。
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 に返す。

動作環境

  ヘッダー : dmusici.h で宣言。

参照

IDirectMusicPerformance8::MusicToMIDIミュージック値と MIDI ノート