Compartir a través de


Soporte de descarga DLS

Si está escribiendo su propio sintetizador, también tiene que proporcionar compatibilidad con sonidos descargables (DLS) para que la aplicación pueda convertir mensajes de nota MIDI en sonidos de instrumento concretos. En concreto, debe implementar el método IDirectMusicSynth::Download para que pueda descargar datos de onda de instrumentos y datos de articulación en el sintetizador. Este método debe aceptar datos sin procesar (normalmente desde un archivo de recopilación) y almacenarlos en un formulario que el motor de representación pueda usar.

Cuando DirectMusic descarga datos DLS al controlador, el formato del búfer de datos se define en términos de varias estructuras de DirectMusic. Los datos descargados comienzan con dos estructuras:

DMUS_DOWNLOADINFO
Encabezado de tamaño fijo que describe la información que se está descargando.

DMUS_OFFSETTABLE
Tabla de desplazamiento que sigue al encabezado y describe los desplazamientos de los distintos fragmentos de información dentro de los datos descargados.

Después de la tabla de desplazamiento comienzan los datos reales, que pueden comenzar de cualquiera de las siguientes formas:

DMUS_INSTRUMENT
Estructura que describe un instrumento DLS.

DMUS_WAVEDATA
Estructura que contiene un fragmento de datos de onda en formato PCM.

Para obtener más información sobre estas estructuras de datos y los formatos de datos que se usan para descargar datos de instrumentación y onda, consulte la explicación de los archivos DLS de bajo nivel de DirectMusic en la documentación de Microsoft Windows SDK.

El formato de datos DLS es idéntico en los modos kernel y usuario.

El conjunto de propiedades KSPROPSETID_Synth_Dls contiene propiedades que se usan para descargar ejemplos e instrumentos DLS en un sintetizador de DirectMusic. Este conjunto de propiedades se puede usar para descargar los datos de DLS Nivel 1 y DLS Nivel 2. Solo cambia el formato de los datos descargados entre los niveles 1 y 2 de DLS.