Sobre el proyecto
EffectsHost es un host de efectos de audio VST3 basado en .NET que aprovecha NPlug y el ecosistema ktsu. Simplifica la creación de efectos DSP al permitir que los desarrolladores implementen una única clase de C# a través de la interfaz `IAudioEffect`, mientras que el shell del host gestiona automáticamente los parámetros, la automatización, la persistencia del estado y la interfaz de usuario.
Los componentes clave incluyen:
- EffectsHost.Core: Proporciona la abstracción del efecto, incluyendo `IAudioEffect`, `EffectParameter` y `EffectBlock`.
- EffectsHost.Effects: Contiene implementaciones concretas de efectos como `GainEffect` y `DelayEffect`.
- EffectsHost.Plugin: Gestiona el shell de NPlug, el `AudioEngine` en tiempo real, el editor Dear ImGui embebido y la E/S de archivos `.vstpreset`.
- EffectsHost.Test: Incluye pruebas unitarias de DSP y pruebas de resistencia sin asignaciones para la ruta de callback de audio.
El proyecto enfatiza la seguridad en tiempo real, asegurando que el hilo de audio evite asignaciones, bloqueos, esperas o E/S. Utiliza `ktsu.Invoker` para cambios de parámetros de la interfaz de usuario al audio sin bloqueos y buffers circulares SPSC libres de bloqueos de `ktsu.Containers` para la telemetría de audio a la interfaz de usuario. Además, utiliza una `DelayLine` consciente de denormales para evitar picos de CPU durante las colas de retroalimentación.
El editor está construido con Dear ImGui, presentando paneles temáticos, perillas con corrección de taper y medidores de dB L/R con retención de pico. Soporta acoplamiento embebido en Windows y ventanas flotantes en macOS y Linux.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.