DirectMusic DirectMusic 의 고도의 주제 DirectMusic 메시지의 사용법   [목차열람] [주소복사] [슬롯비우기]
DirectMusic 메시지의 사용법
 
Microsoft DirectX 9.0

DirectMusic 메시지의 사용법

데이터는, 메시지의 형식에서, DirectMusic 퍼포먼스를 거쳐 신디사이저에게 건네진다. 대부분의 경우, 메시지의 생성 및 처리는 자동적으로 행해져 애플리케이션으로 직접 이러한 처리를 할 필요는 없다. 다만, 메시지의 기본적인 지식은 DirectMusic 의 구조를 이해하는데 도움이 되어, 이해가 깊어지는 만큼, 메시지를 사용해 퍼포먼스를 세세하게 제어할 수 있게 된다.

DirectMusic 에서는, 2 종류의 메시지가 사용된다.

애플리케이션은, MIDI 메시지를 직접 처리하지 않는다. 세그먼트(segment)를 연주하는 경우, 그 모든 데이터는 퍼포먼스 메시지 형식이며, 최종적인 출력 툴에게 건네질 때까지 그 형식인 채로 있다. 최종적인 출력 툴에서는, 퍼포먼스 메시지를 MIDI 메시지 형식으로 변환한 후, 순서화해 신디사이저에 건네준다. 다만, 일부의 퍼포먼스 메시지에는, 스탠다드 MIDI 메시지와 같은 정보가 포함되어 있다. 이러한 메시지를 이해하기 위해서, 여기에서는 MIDI 메시지 형식의 몇개의 점에 대해 설명한다.

  DMUS_MIDI_PMSG 구조체는, 스탠다드 MIDI 메시지의 데이터에 상당하는 데이터를 저장 한다. However, it is used in performance messages.
다만, 이 구조체는 퍼포먼스 메시지에 의해 사용된다.

대부분의 퍼포먼스 메시지는, 세그먼트(segment)가 연주될 때, 세그먼트(segment)의 트랙에 의해 송신된다. 애플리케이션도, 메시지를 송신해, MIDI 콘트롤러의 설정, 단일의 노트의 연주, 템포의 변경등을 실시할 수가 있다.

일단 메시지를 송신한 애플리케이션은, 툴을 처리 하지 않는 한, 메시지를 취득 또는 변경할 수 없다. 예를 들어, DirectMusic Producer 로 오쏘링 한 세그먼트(segment)에는,DMUS_LYRIC_PMSG 메시지를 생성하는 가사 트랙이 포함되는 경우가 있다. 애플리케이션으로 이 가사를 표시하는 방법은, 그 때문의 툴을 처리 할 수 밖에 없다. 더 자세한 정보는, 「DirectMusic 툴」을 참조할것.

통지는, 메시지를 도중에 처리할 수 있는 것은 툴만이라고 하는 규칙의 예외이다. 애플리케이션은,IDirectMusicPerformance8::GetNotificationPMsg 메서드를 사용하는 것으로,DMUS_NOTIFICATION_PMSG 메시지를 취득할 수 있다.

다음 주제에서는, 메시지와 그 루팅 방법에 대해 설명한다.

참조

↑TOP