How theaudioprogrammer/jucesampleraudioplugin works
This JUCE instrument accepts MIDI, maps notes to embedded chromatic WAV samples, renders them through an eight-voice sampler with adjustable decay and always-active reverb, then produces stereo audio. The editor exposes decay and reverb parameters through attached knobs and uses embedded artwork and fonts. Processor state is serialized through the host-facing state callbacks. Workflow and UI links are grounded in sampled source; other documented capabilities, such as plugin formats and full-range note mapping, are represented where source supports them.
Main entry points: PluginProcessor.cpp Audio processor · PluginEditor.cpp Plugin editor · Knob.cpp Parameter knobs · SamplerLookAndFeel.cpp Knob rendering
Components 14
Audio engine
- Audio processor
sources/PluginProcessor.cpp - Sampler engine
sources/PluginProcessor.cpp - Stereo reverb
sources/PluginProcessor.cpp - Stereo audio
sources/PluginProcessor.cpp
Parameters and state
- Decay and reverb parameters
sources/PluginProcessor.cpp - Parameter state
sources/PluginProcessor.cpp
Plugin interface
- Plugin editor
sources/PluginEditor.cpp - Parameter knobs
sources/Knob.cpp - Knob rendering
sources/SamplerLookAndFeel.cpp
Embedded resources
- Chromatic WAVs
assets/sounds - Background and filmstrip
assets/images - Inter fonts
assets/fonts
Other components
- Plugin host
- MIDI input
Connections 17
- Plugin host → Audio processor: invokes processing
- MIDI input → Audio processor: sends MIDI
- Audio processor → Sampler engine: renders MIDI
- Chromatic WAVs → Audio processor: supplies embedded WAVs
- Audio processor → Sampler engine: loads mapped sounds
- Sampler engine → Stereo reverb: renders samples
- Stereo reverb → Stereo audio: outputs stereo
- Audio processor → Decay and reverb parameters: reads and updates
- Audio processor → Parameter state: serializes and restores
- Plugin host → Parameter state: saves and restores
- Audio processor → Plugin editor: creates editor
- Plugin editor → Parameter knobs: displays controls
- Parameter knobs → Decay and reverb parameters: attaches sliders
- Parameter knobs → Knob rendering: uses renderer
- Plugin editor → Background and filmstrip: draws background
- Knob rendering → Background and filmstrip: draws filmstrip
- Knob rendering → Inter fonts: uses typefaces