About this project

EffectsHost is a .NET-based VST3 audio effects host that leverages NPlug and the ktsu ecosystem. It simplifies the creation of DSP effects by allowing developers to implement a single C# class via the `IAudioEffect` interface, while the host shell automatically handles parameters, automation, state persistence, and the user interface. Key components include: - EffectsHost.Core: Provides the effect abstraction, including `IAudioEffect`, `EffectParameter`, and `EffectBlock`. - EffectsHost.Effects: Contains concrete effect implementations such as `GainEffect` and `DelayEffect`. - EffectsHost.Plugin: Manages the NPlug shell, the real-time `AudioEngine`, the embedded Dear ImGui editor, and `.vstpreset` file I/O. - EffectsHost.Test: Includes DSP unit tests and allocation-free soak tests for the audio callback path. The project emphasizes real-time safety, ensuring the audio thread avoids allocations, locks, blocking, or I/O. It utilizes `ktsu.Invoker` for non-blocking UI-to-audio parameter changes and lock-free SPSC ring buffers from `ktsu.Containers` for audio-to-UI telemetry. Additionally, it uses a denormal-aware `DelayLine` to prevent CPU spikes during feedback tails. The editor is built with Dear ImGui, featuring themed panels, taper-correct knobs, and L/R dB meters with peak hold. It supports embedded docking on Windows and floating windows on macOS and Linux.