PulpEffect
Category : validation
Type : Effect
Path : examples/pulp-effect/
Summary
A biquad filter effect with frequency, resonance, filter type (lowpass/highpass/bandpass), dry/wet mix, and bypass parameters. Validates diverse parameter types and more complex DSP than PulpGain across the three plugin formats.
What It Demonstrates
Multiple parameter types: continuous (frequency, resonance, mix), stepped enum (filter type), boolean (bypass)
Wide-range frequency parameter (20 Hz to 20 kHz)
Biquad filter DSP with coefficient computation for lowpass, highpass, and bandpass modes
Dry/wet mix blending
Per-channel filter state management (supports up to 8 channels)
The release() lifecycle method for clearing DSP state
Parameter diversity validation across VST3, AU, and CLAP adapters
Format
Supported
VST3
Yes
AU v2
Yes
CLAP
Yes
Standalone
No
Platform
Supported
macOS
Yes
Windows
Build stubs present, not yet validated
Linux
Build stubs present, not yet validated
Key Files
File
Purpose
pulp_effect.hpp
Processor with biquad filter, coefficient computation, and mix parameter
vst3_entry.cpp
VST3 format entry point
au_v2_entry.cpp
Audio Unit v2 entry point
clap_entry.cpp
CLAP format entry point
test_pulp_effect.cpp
Unit tests for filter processing and state serialization
Info.plist.au
AU bundle metadata
CMakeLists.txt
Build configuration using pulp_add_plugin()
Parameters
ID
Name
Unit
Range
Default
1
Frequency
Hz
20 to 20000
1000
2
Resonance
(Q)
0.1 to 10
0.707
3
Type
(stepped)
0 to 2
0 (lowpass)
4
Mix
%
0 to 100
100
5
Bypass
(toggle)
0 to 1
0
Known Limitations
Filter coefficients are recalculated per block rather than per sample. Fast frequency sweeps may produce audible artifacts.
No standalone target is configured for this example.
PulpGain -- simpler effect with fewer parameters
PulpCompressor -- another effect example with sidechain and multi-bus support