VSTi-plug-in ASIO-host para conectar la entrada de un controlador ASIO adicional en DAW

Una vez me encontré con una situación en la que, si había una tarjeta de sonido principal con su controlador ASIO, era necesario conectar un micrófono USB con su controlador ASIO a la DAW. Y DAW no admite la conexión de dos controladores ASIO al mismo tiempo. La búsqueda encontró el complemento VST "ASIO-Host con interfaz VST", escrito en Delphi. Desafortunadamente, aunque el complemento se vio a través de jBridge, nunca funcionó normalmente. Por lo tanto, tuve que escribir un complemento similar yo mismo. Como resultado, se escribió un complemento ASIOInput de código abierto en 10 días. En este artículo, hablaré sobre algunas de las características de su diseño y arquitectura.

El complemento VST en sí es técnicamente un .dll que exporta una única función

SVSTPlugin* VSTPluginMain(void*)

DAW , . , .

  • InputCount OutputCount - . - , . 0 2 . 1 , .

  • PluginProperties - . 3 : , UpdateBufferData() , - DAW , .

  • RequestFromHost() - DAW, . : - , , , , : , , - .

  • UpdateBufferData() - DAW , . , , , DAW .

ASIO Windows COM-. GUID-. ASIO- ( GUID-) HKEYLOCALMACHINE\SOFTWARE\ASIO. ASIO-, COM- GUID- CoCreateInstance(), ASIO-, , ASIO-. , ASIO- .

, : DAW , DAW - VSTPluginCallUpdateBufferData(), ASIO- , - ASIOHostCallUpdateBufferDataEx(). . , DAW ASIO- , . ASIO- DAW, .

. , DAW- , ASIO-, DAW , DAW- . Windows ( CreateEvent(), SetEvent() WaitForSingleObject()).

DAW ASIO- , . ASIO- , DAW- . , OC Windows. DAW ASIO-, 2, 3 4.

.

  • COM- ASIO- 0 . , . , , 1. .

  • DAW . , , , , DAW Cubase 9.5, DAW - .. ", " ..

  • ASIO- , ASIO- , , . 0. .

  • - COM- ASIO- ASIO-.

.

Descargue la última versión del complemento (VST2, x86 y x64): tyts .

Fuentes en github: tyts .




All Articles