응용 프로그램에서 다양한 MIDI 컨트롤러 장치에 액세스 할 수 있도록 지원을 추가하고 있습니다. midiInOpen
을 사용하는 자체 시험에서 midiInOpen
을 사용하는 하나의 응용 프로그램 만 MIDI 입력 장치에 액세스 할 수있는 것처럼 보입니다. MIDI 장치를 열려고 시도하는 두 번째 응용 프로그램이 오류 MMSYSERR_NOMEM
과 함께 실패합니다.여러 응용 프로그램에서 단일 MIDI 입력 스트림을 동시에 열 수 있습니다.
그러나 우리 응용 프로그램 (midiInOpen
사용)과 동시에 MIDI 입력 스트림에 액세스하는 상용 응용 프로그램 (타사)의 예가 있습니다. 이것은 MIDI 스트림에 액세스하는 또 다른 방법이 있음을 나타냅니다.
API 스니퍼를 사용하여 API 호출을 보았습니다.이 응용 프로그램에서는 midiInOpen
을 사용하지 않습니다. midiInMessage
과 midiOutMessage
을 사용하며 API 문서에서 이들은 드라이버와 직접 통신하는 것으로 보입니다.
Windows에서 MIDI에 대한 새로운 지원이 제공됨을 설명서에서 확인합니다. 아직까지는 midiInOpen
을 사용하는 앱과 함께 작동하는 방법을 실험하지는 않았지만 가능한 경우 Windows 7 이상에서 작동하는 솔루션을 찾아야합니다.
타사 앱 개발자에게 도움을 줄 수 있는지 문의했습니다. 현재. 우리의 애플 리케이션은 애플 리케이션과 함께 작동하지만, midiInOpen
을 사용하여 MIDI 데이터에 액세스하는 다른 애플 리케이션이 있으며, 우리의 애플 리케이션은 자신의 애플 리케이션과 공존 할 수 없습니다. midiInOpen
을 호출하는 첫 번째 앱은 MIDI 스트림을 가져옵니다. 두 번째 호출이 실패합니다.
이 모든 테스트는 Windows 7에서 수행되었습니다. 7 세 이상을 지원해야합니다.
응용 프로그램의 mac 버전은 이와 관련하여 정상적으로 작동합니다.