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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.