DLS 다운로드 지원

자체 신시사이저를 작성하는 경우 애플리케이션이 MIDI 노트 메시지를 특정 계측 소리로 변환할 수 있도록 DLS(다운로드 가능한 소리)를 지원해야 합니다. 특히, 신시사이저에 계측 웨이브 및 관절 데이터를 다운로드할 수 있도록 IDirectMusicSynth::D ownload 메서드를 구현해야 합니다. 이 메서드는 원시 데이터(일반적으로 컬렉션 파일에서)를 수락하고 렌더링 엔진에서 사용할 수 있는 양식에 저장해야 합니다.

DirectMusic이 DLS 데이터를 드라이버에 다운로드하는 경우 데이터 버퍼의 형식은 여러 DirectMusic 구조 측면에서 정의됩니다. 다운로드한 데이터는 다음 두 가지 구조로 시작됩니다.

DMUS_DOWNLOADINFO
다운로드되는 정보를 설명하는 고정 크기 헤더입니다.

DMUS_OFFSETTABLE
헤더를 따르고 다운로드한 데이터 내의 다양한 정보 청크의 오프셋을 설명하는 오프셋 테이블입니다.

오프셋 테이블 다음에는 다음 중 하나부터 시작할 수 있는 실제 데이터가 있습니다.

DMUS_INSTRUMENT
DLS 계측기를 설명하는 구조체입니다.

DMUS_WAVEDATA
PCM 형식의 웨이브 데이터 청크를 포함하는 구조체입니다.

이러한 데이터 구조 및 계측 및 웨이브 데이터를 다운로드하는 데 사용되는 데이터 형식에 대한 자세한 내용은 Microsoft Windows SDK 설명서에서 DirectMusic 하위 수준 DLS에 대한 설명을 참조하세요.

DLS 데이터 형식은 커널 및 사용자 모드에서 동일합니다.

KSPROPSETID_Synth_Dls 속성 집합에는 DLS 샘플 및 계측기를 DirectMusic 신디사이저에 다운로드하는 데 사용되는 속성이 포함되어 있습니다. 이 속성 집합은 DLS 수준 1 및 DLS 수준 2 데이터를 모두 다운로드하는 데 사용할 수 있습니다. 다운로드한 데이터의 형식만 DLS 수준 1과 2 간에 변경됩니다.