Sobre o projeto
EffectsHost é um host de efeitos de áudio VST3 baseado em .NET que utiliza o NPlug e o ecossistema ktsu. Ele simplifica a criação de efeitos DSP permitindo que os desenvolvedores implementem uma única classe C# via a interface `IAudioEffect`, enquanto o shell do host gerencia automaticamente parâmetros, automação, persistência de estado e a interface do usuário.
Os componentes principais incluem:
- EffectsHost.Core: Fornece a abstração do efeito, incluindo `IAudioEffect`, `EffectParameter` e `EffectBlock`.
- EffectsHost.Effects: Contém implementações concretas de efeitos, como `GainEffect` e `DelayEffect`.
- EffectsHost.Plugin: Gerencia o shell NPlug, o `AudioEngine` em tempo real, o editor Dear ImGui incorporado e a E/S de arquivos `.vstpreset`.
- EffectsHost.Test: Inclui testes unitários de DSP e testes de soak livres de alocação para o caminho de callback de áudio.
O projeto enfatiza a segurança em tempo real, garantindo que a thread de áudio evite alocações, locks, bloqueios ou E/S. Ele utiliza o `ktsu.Invoker` para alterações de parâmetros de UI para áudio não bloqueantes e buffers de anel SPSC livres de lock do `ktsu.Containers` para telemetria de áudio para UI. Além disso, utiliza uma `DelayLine` ciente de denormais para evitar picos de CPU durante as caudas de feedback.
O editor é construído com Dear ImGui, apresentando painéis temáticos, knobs com taper correto e medidores de dB L/R com peak hold. Ele suporta docking incorporado no Windows e janelas flutuantes no macOS e Linux.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.