How maytiger877/exodus_delay works
Exodus Delay is a JUCE audio-effect plugin: a host supplies audio and tempo, the processor reads parameter state and configures the delay engine, and processed audio returns to the host. The engine manages delay buffers and up to 16 per-repeat gain, pan, distortion, phaser, and reverb mixes alongside global delay, feedback, and dry/wet settings. The editor exposes those controls. Source excerpts confirm processor-to-engine configuration and engine effect ownership; finer processing order and some unsampled implementation details are not inferred.
Main entry points: DelayEngine.cpp Delay engine · PluginProcessor.cpp Audio processor · PluginEditor.cpp Plugin editor · Parameters.h Parameter state
Components 13
Plugin interface
- Plugin editor
Source/PluginEditor.cpp - Control styling
Source/TileSlider.cpp
Parameters and control
- Parameter state
Source/Parameters.h - Delay timing
Source/PluginProcessor.cpp - Per-repeat settings
Source/DelayEngine.h
Audio processing
- Audio processor
Source/PluginProcessor.cpp - Delay engine
Source/DelayEngine.cpp - Delay buffers
Source/DelayEngine.h
Effect processing
- Distortion DSP
Source/MyDistortion.cpp - Phaser DSP
Source/MyPhaser.cpp - Reverb DSP
Source/DelayEngine.cpp
Other components
- DAW host
- Host tempo
Connections 14
- DAW host → Audio processor: audio and MIDI
- Audio processor → DAW host: processed audio
- DAW host → Audio processor: playhead timing
- Plugin editor → Parameter state: edits controls
- Parameter state → Audio processor: supplies values
- Audio processor → Delay timing: converts sync
- Host tempo → Delay timing: provides BPM
- Audio processor → Delay engine: configures and processes
- Delay engine → Delay buffers: reads and writes
- Delay engine → Per-repeat settings: sets repeat mix
- Delay engine → Distortion DSP: processes distortion
- Delay engine → Phaser DSP: processes phasing
- Delay engine → Reverb DSP: processes reverb
- Control styling → Plugin editor: styles controls