synth: rename blit.c/blit.h to blep.c/blep.h to match actual algorithm

The oscillator core implements minBLEP-style synthesis (naive waveform
plus a precomputed band-limited step correction table, ppBLEP) rather
than classic impulse-train BLIT synthesis, despite the old BLIT_*
naming. Renamed the source files and all BLIT_* identifiers to BLEP_*
throughout src/synth (blep.c/h, vco.c/h, synth_defs.h, config.mk) and
updated the CLAUDE.md/TODO.md references accordingly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01262jWgCmReCRdUi6u9cRYa
This commit is contained in:
2026-07-31 18:23:53 +02:00
co-authored by Claude Sonnet 5
parent 9f26df3dbe
commit 0aeb3c23df
8 changed files with 111 additions and 111 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ There are no automated tests in this repo; verification is manual, by building,
The codebase has a hard split between a **portable C DSP core** and a **C++/JUCE plugin shell**, built as separate sub-Makefiles and linked together:
- `src/synth/` — pure C DSP engine (no JUCE, no C++). Oscillators (`vco.c`, BLIT-based band-limited synthesis in `blit.c`), wavetables (`wavetable.c`, `mw_wave_data.c` — Waldorf Microwave/PPG-style wavetables), filter (`vcf.c`), envelopes (`env.c`), LFOs (`lfo.c`), noise (`noise.c`), and parameter scaling (`param_scale.c`). `synth_float_t` is a build-time typedef (`double` on Linux, `float` on Windows — set via `-Dsynth_float_t=...` in the Makefiles).
- `src/synth/` — pure C DSP engine (no JUCE, no C++). Oscillators (`vco.c`, BLEP-based band-limited synthesis in `blep.c`), wavetables (`wavetable.c`, `mw_wave_data.c` — Waldorf Microwave/PPG-style wavetables), filter (`vcf.c`), envelopes (`env.c`), LFOs (`lfo.c`), noise (`noise.c`), and parameter scaling (`param_scale.c`). `synth_float_t` is a build-time typedef (`double` on Linux, `float` on Windows — set via `-Dsynth_float_t=...` in the Makefiles).
- `voice.h`/`voice.c` is the center of this layer: a `voice_t` (per-voice state: 2 VCOs, 4 LFOs, 4 envelopes, 1 VCF) driven by a shared `voice_common_t` (global LFO/env/VCF/noise tables and shared per-block buffers, to avoid recomputing identical modulation sources per voice). All per-voice parameters are addressed by the flat `VOICE_PARAM_*` enum in `voice.h`; modulation routing (FM/AM/PWM sources for oscillators, filter cutoff/Q sources) is expressed as source/amount/op triples pointing into `VOICE_MOD_SRC_*`.
- Voice audio rendering can run multi-threaded: `JaySynthThread` (in `src/plug/JaySynth.h`) splits the voice array across CPU cores, each thread calling `VoiceProcessDataV`.
- `src/plug/` — the JUCE `AudioProcessor`/`Synthesiser` plugin implementation, C++11.