Examples
Example plugins covering effects, instruments, MIDI processors, and
GUI framework integrations. Each one lives under
examples/
in the truce repo and is small enough to read top-to-bottom in one
sitting.
#Effects, instruments, MIDI
| Plugin | Type | GUI | Screenshot |
|---|---|---|---|
| gain | Effect | Built-in | ![]() |
| eq | Effect | Built-in | ![]() |
| synth | Instrument | Built-in | ![]() |
| transpose | MIDI | Built-in | ![]() |
| arpeggio | MIDI | Built-in | ![]() |
| tremolo | Effect | egui | ![]() |
| state | Effect | egui | ![]() |
| envelope | Effect | Built-in | ![]() |
| cc-filter | Effect | Built-in | ![]() |
| chord | Instrument | Built-in | ![]() |
| stereo-utility | Effect | Built-in | ![]() |
| dasp-bitcrusher | Effect | Built-in | ![]() |
| sysex-echo | MIDI | Built-in | ![]() |
| multiport | Instrument | Built-in | ![]() |
| midi-inspector | Effect | Iced | ![]() |
| mpe-spreader | MIDI | Built-in | ![]() |
| mpe-synth | Instrument | Built-in | ![]() |
| fundsp-reverb-simple | Effect | Built-in | ![]() |
| fundsp-reverb-worker | Effect | Built-in | ![]() |
The two fundsp-reverb-* crates share a topology and signal
flow but rebuild the graph differently; the fundsp integration
guide walks through both.
#GUI framework comparison
The same plugin written across five GUI backends. Compare them to see how each framework handles the same layout.
#Gain (small editor, four widgets)
| Plugin | GUI | Screenshot |
|---|---|---|
| gain | Built-in | ![]() |
| gain-egui | egui | ![]() |
| gain-iced | Iced | ![]() |
| gain-slint | Slint | ![]() |
| gain-vizia | Vizia | ![]() |
A sixth variant, gain-egui-aspect, is the egui gain with a 2:3 aspect-ratio lock on host resize.
#GUI Zoo (every widget kind, mixed spans + positions)
A passthrough plugin that exercises every built-in widget kind (knob, slider, toggle, dropdown, meter, XY pad) across mixed grid spans and positions. Layout / widget regressions surface here before they reach the real example plugins; it's also the natural reference when picking a GUI framework.
| Plugin | GUI | Screenshot |
|---|---|---|
| gui-zoo | Built-in | ![]() |
| gui-zoo-egui | egui | ![]() |
| gui-zoo-iced | Iced | ![]() |
| gui-zoo-slint | Slint | ![]() |
| gui-zoo-vizia | Vizia | ![]() |
The slint + vizia variants live under
crates/truce-{slint,vizia}/examples/ (their own Cargo
sub-workspaces — see the vizia integration guide
for why) rather than the top-level examples/ directory.
#Block DSP
| Plugin | Demonstrates | Screenshot |
|---|---|---|
| block-gain | truce_simd::math::db_to_linear_block |
![]() |
| block-drywet | truce_simd::ops::mix_block |
![]() |
| block-gate | truce_simd::ops::abs_max_block + zero_block |
![]() |
| block-saturate | truce_simd::math::tanh_block |
![]() |
| block-widen | truce_simd::ops::mac_block |
![]() |
| block-surround-meter | truce_simd::math::linear_to_db_block |
![]() |
Each block-* example isolates one truce_simd::ops::* or
truce_simd::math::* shape. See the SIMD section of the
processing guide
for the design.
#Out-of-tree
Larger examples live in their own repos — useful when you want to see what truce looks like at the scale of a real plugin rather than a 100-line teaching example.
#Reiss & McPherson effects
15 effects ported from Reiss & McPherson's Audio Effects: Theory, Implementation and Application (originally Juan Gil's JUCE implementations). Sources in reiss-mcpherson-effects.
| Plugin | Effect | Screenshot |
|---|---|---|
| reiss-delay | Circular-buffer delay | ![]() |
| reiss-vibrato | LFO-modulated delay (pitch wobble) | ![]() |
| reiss-flanger | Modulated short delay + dry sum | ![]() |
| reiss-chorus | Multi-voice ensemble chorus | ![]() |
| reiss-pingpong | Cross-channel ping-pong delay | ![]() |
| reiss-parametric-eq | Single-band parametric EQ (7 shapes) | ![]() |
| reiss-wahwah | Manual / LFO / envelope wah | ![]() |
| reiss-phaser | Cascaded all-pass phaser | ![]() |
| reiss-tremolo | LFO amplitude modulation | ![]() |
| reiss-ringmod | Ring modulation | ![]() |
| reiss-compressor | Compressor / expander / gate | ![]() |
| reiss-distortion | 5-shape waveshaper + tone shelf | ![]() |
| reiss-panning | Panorama+precedence / ITD+ILD pan | ![]() |
| reiss-robotization | Phase-vocoder robot / whisper | ![]() |
| reiss-pitchshift | Phase-vocoder pitch shifter | ![]() |
#Utility plugins
| Plugin | What it shows |
|---|---|
| truce-analyzer | Real-time spectrum analyzer with diff overlay; non-trivial GUI built on truce. |
#Project structure
Each example follows the same layout:
examples/<name>/
├── Cargo.toml
└── src/
└── lib.rs
GUI framework examples may have additional files:
examples/gain-slint/
├── build.rs # slint-build compilation
└── ui/
└── main.slint # declarative UI markup
















































