Función midiOutCachePatches (mmeapi.h)
La función midiOutCachePatches solicita que un dispositivo de sintetizador MIDI interno precargue y almacene en caché un conjunto especificado de revisiones.
Sintaxis
MMRESULT midiOutCachePatches(
HMIDIOUT hmo,
UINT uBank,
LPWORD pwpa,
UINT fuCache
);
Parámetros
hmo
Identificador del dispositivo de salida MIDI abierto. Este dispositivo debe ser un sintetizador MIDI interno. Este parámetro también puede ser el identificador de una secuencia MIDI, que se convierte en HMIDIOUT.
uBank
Banco de parches que se deben usar. Este parámetro debe establecerse en cero para almacenar en caché el banco de revisiones predeterminado.
pwpa
Puntero a una matriz PATCHARRAY que indica las revisiones que se van a almacenar en caché o no almacenar en caché.
fuCache
Opciones para la operación de caché. Puede ser una de las siguientes marcas.
Valor | Significado |
---|---|
MIDI_CACHE_ALL | Almacena en caché todas las revisiones especificadas. Si no se pueden almacenar en caché, no almacena en caché ninguno, borra la matriz PATCHARRAY y devuelve MMSYSERR_NOMEM. |
MIDI_CACHE_BESTFIT | Almacena en caché todas las revisiones especificadas. Si no se pueden almacenar en caché, almacena en caché tantas revisiones como sea posible, cambia la matriz PATCHARRAY para reflejar qué revisiones se almacenaron en caché y devuelve MMSYSERR_NOMEM. |
MIDI_CACHE_QUERY | Cambia la matriz PATCHARRAY para indicar qué revisiones se almacenan actualmente en caché. |
MIDI_UNCACHE | Desencacha las revisiones especificadas y borra la matriz PATCHARRAY. |
Valor devuelto
Devuelve MMSYSERR_NOERROR si se realiza correctamente o si se produce un error en caso contrario. Entre los valores de error posibles se incluyen los siguientes.
Código devuelto | Descripción |
---|---|
|
La marca especificada por wFlags no es válida. |
|
El identificador de dispositivo especificado no es válido. |
|
La matriz a la que apunta lpPatchArray no es válida. |
|
El dispositivo no tiene suficiente memoria para almacenar en caché todas las revisiones solicitadas. |
|
El dispositivo especificado no admite el almacenamiento en caché de revisiones. |
Comentarios
Algunos sintetizadores no son capaces de mantener todas las revisiones cargadas simultáneamente y deben cargar datos del disco cuando reciben mensajes de cambio de programa MIDI. Las revisiones de almacenamiento en caché garantizan que las revisiones especificadas estén disponibles inmediatamente.
Cada elemento de la matriz PATCHARRAY representa una de las 128 revisiones y tiene bits establecidos para cada uno de los 16 canales MIDI que usan la revisión concreta. El bit menos significativo representa el canal físico 0 y el bit más significativo representa el canal físico 15 (0x0F). Por ejemplo, si los canales físicos 0 y 8 usan la revisión 0, el elemento 0 se establecería en 0x0101.
Esta función solo se aplica a los dispositivos de sintetizador MIDI internos. No todos los sintetizadores internos admiten el almacenamiento en caché de revisiones. Para ver si un dispositivo admite el almacenamiento en caché de revisiones, use la marca MIDICAPS_CACHE para probar el miembro dwSupport de la estructura MIDIOUTCAPS rellenada por la función midiOutGetDevCaps .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | mmeapi.h (incluya Windows.h) |
Library | Winmm.lib |
Archivo DLL | Winmm.dll |