다음을 통해 공유


두 MIDI 원본에서 MIDI 데이터 처리

MIDI 하위 시스템은 동시 재생을 위해 두 데이터 원본에서 단일 MIDI 출력 디바이스로 MIDI 메시지를 라우팅할 수 있습니다. 예를 들어 한 소스는 백그라운드 음악 또는 미리 녹음되어 파일에 저장된 베이스 라인일 수 있습니다. 두 번째 소스는 키보드 또는 기타와 같은 MIDI 악기의 라이브 데이터일 수 있습니다.

두 데이터 원본 모두 MIDI 데이터를 하나의 핸들로 식별되는 단일 MIDI 디바이스로 보냅니다. midiStreamOut 함수와 하나 이상의 스트림 버퍼를 사용하여 하나의 데이터 스트림을 보냅니다. 이 데이터 스트림은 일반적으로 버퍼에 압축된 미리 기록된 데이터를 포함합니다.

midiOutShortMsg 함수를 사용하여 두 번째 데이터 스트림(일반적으로 MIDI 계측기에서)을 비동기적으로 보냅니다. 스트림 버퍼의 실행 중인 상태 두 번째 데이터 스트림의 비동기 호출에 의해 부정적인 영향을 받지 않습니다.

midiOutShortMsg와 함께 전송된 각 짧은 메시지는 상태 바이트와 적절한 수의 데이터 바이트가 있는 완전한 MIDI 메시지여야 합니다. 상태 바이트를 생략하면 midiOutShortMsg에서 오류가 반환됩니다. (그러나 스트림 출력이 있는 실행 중인 상태 없습니다.)