From 64ccffa65158149ed6aef138fd44321f2e2235b7 Mon Sep 17 00:00:00 2001 From: Armin Date: Thu, 13 Aug 2026 02:17:08 +0200 Subject: [PATCH] Fix waveform count: 17 waveforms in docs (was 5) --- AGENTS.md | 8 ++++---- README.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 844e935..4ed07b7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,7 +15,7 @@ chromaflock/ │ ├── PluginProcessor.h/.cpp # Audio processor, APVTS, synth management │ ├── PluginEditor.h/.cpp # UI: LAF, MainContentComponent, ChromaFlockEditor │ └── DSP/ -│ ├── Oscillator.h # 5 waveforms (Sine, Saw, Square, Triangle, Noise) +│ ├── Oscillator.h # 17 waveforms (Sine, Saw, Square, Triangle, Noise, Pulse25, Pulse12, ReverseSaw, FullRectSine, HalfRectSine, Stair4, Stair8, SoftSine, Sinc, ExpPulse, DoubleSine, SuperSaw) │ ├── Filter.h # TPT SVF (LP12, LP24, BP, HP, Notch) │ ├── Envelope.h # ADSR envelope (linear ramps) │ └── Voice.h # SubtractiveVoice, SubtractiveSound @@ -55,7 +55,7 @@ Osc1 + Osc2 → Amplitude Envelope × Velocity → Filter (cutoff modulated by F ### Key DSP Classes **Oscillator** (`DSP/Oscillator.h`) -- 5 waveforms via `Waveform` enum +- 17 waveforms via `Waveform` enum - Phase accumulator, setFrequency/setWaveform/setLevel/setPan/setPhase - Output is stereo (pan-law: `sqrt((1±pan)/2)`) - NOTE: `juce::Random random` member — needs `#include ` but currently compiles without explicit include @@ -90,12 +90,12 @@ Osc1 + Osc2 → Amplitude Envelope × Velocity → Filter (cutoff modulated by F | ID | Name | Range | Default | |---------------------|------------------|--------------------|---------| -| osc1Wave | OSC1 Wave | Choice(5) | 1 (Saw) | +| osc1Wave | OSC1 Wave | Choice(17) | 1 (Saw) | | osc1Oct | OSC1 Octave | -3..3 (int) | 0 | | osc1Semi | OSC1 Semi | -12..12 (int) | 0 | | osc1Fine | OSC1 Fine | -100..100 | 0 | | osc1Level | OSC1 Level | 0..1 | 0.7 | -| osc2Wave | OSC2 Wave | Choice(5) | 2 (Square) | +| osc2Wave | OSC2 Wave | Choice(17) | 2 (Square) | | osc2Oct | OSC2 Octave | -3..3 (int) | -1 | | osc2Semi | OSC2 Semi | -12..12 (int) | 0 | | osc2Fine | OSC2 Fine | -100..100 | 7 | diff --git a/README.md b/README.md index 21e8637..7363fa3 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Osc1 + Osc2 → Amp Envelope × Velocity → Filter → Drive → Distortion → Two independent oscillators per voice, each with: -- **5 waveforms**: Sine, Saw, Square, Triangle, Noise +- **17 waveforms**: Sine, Saw, Square, Triangle, Noise, Pulse 25%, Pulse 12%, Rev Saw, Full Rect, Half Rect, Stair 4, Stair 8, Soft Sine, Sinc, Exp Pulse, Double Sine, SuperSaw - **Octave shift**: -3 to +3 - **Semitone shift**: -12 to +12 - **Fine tune**: ±100 cents