Sequencer 동기화 변경

[이 페이지와 연결된 기능 MCI는 레거시 기능입니다. MediaPlayer로 대체되었습니다. MediaPlayer는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 MCI 대신 MediaPlayer를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

참고

바이어스 없는 커뮤니케이션 Microsoft는 다양하고 포용적인 환경을 지원합니다. 이 문서에는 '슬레이브'라는 단어에 대한 참조가 있습니다. microsoft의 Bias-Free 커뮤니케이션 스타일 가이드는 이를 제외 단어로 인식합니다. 이 단어는 현재 소프트웨어 내에서 사용되는 단어이므로 사용됩니다. 일관성을 위해 이 문서에는 이 단어가 포함되어 있습니다. 이 단어가 소프트웨어에서 제거되면 이 문서가 정렬되도록 수정합니다.

시퀀서 디바이스의 동기화 모드를 변경하려면 MCI_SEQ_SET_MASTER 및 MCI_SEQ_SET_SLAVE 플래그와 함께 MCI_SET 명령 메시지를 사용합니다. MCI_SEQ_SET_PARMS 구조의 두 멤버인 dwMasterdwSlave는 master 및 하위 동기화 모드를 지정하는 데 사용됩니다.

master 동기화 모드는 시퀀서가 출력 포트로 보낸 동기화 정보를 제어합니다. 다음은 dwMaster 멤버 및 해당 master 동기화 모드에 대한 상수입니다.

상수 동기화 모드
MCI_SEQ_MIDI MIDI 동기화. MIDI 타이밍 클록 메시지를 사용하여 출력 포트에 타이밍 정보를 보냅니다.
MCI_SEQ_SMPTE SMPTE 동기화. MIDI 쿼터 프레임 메시지를 사용하여 출력 포트에 타이밍 정보를 보냅니다.
MCI_SEQ_NONE 동기화가 없습니다. 타이밍 정보를 보내지 않습니다.

 

하위 동기화 모드는 시퀀서가 MIDI 파일을 재생하기 위한 타이밍 정보를 가져오는 위치를 제어합니다. 다음은 dwSlave 멤버 및 해당 하위 동기화 모드에 대한 상수입니다.

상수 동기화 모드
MCI_SEQ_FILE 파일 동기화. MIDI 파일에서 타이밍 정보를 가져옵니다.
MCI_SEQ_MIDI MIDI 동기화. MIDI 타이밍 클록 메시지를 사용하여 입력 포트에서 타이밍 정보를 가져옵니다.
MCI_SEQ_SMPTE SMPTE 동기화. MIDI 쿼터 프레임 메시지를 사용하여 입력 포트에서 타이밍 정보를 가져옵니다.
MCI_SEQ_NONE 동기화가 없습니다. MCI 명령에서만 타이밍 정보를 가져와 MIDI 파일에 있는 타이밍 정보(예: tempo 변경)를 무시합니다.

 

참고

현재 master 동기화의 경우 MCI MIDI 시퀀서에서 동기화 없음 모드(MCI_SEQ_NONE)만 지원합니다. 하위 동기화의 경우 파일 동기화 모드(MCI_SEQ_FILE) 및 동기화 없음 모드(MCI_SEQ_NONE)만 지원합니다.