Skip to content

Feature/lfo2 - #6

Merged
illobo merged 5 commits into
mainfrom
feature/lfo2
Mar 11, 2026
Merged

Feature/lfo2#6
illobo merged 5 commits into
mainfrom
feature/lfo2

Conversation

@illobo

@illobo illobo commented Mar 11, 2026

Copy link
Copy Markdown
Owner

No description provided.

lobo and others added 5 commits March 11, 2026 23:46
- Add lfo2_waveform, lfo2_division, lfo2_depth, lfo2_dest fields to SynthParams
- Add Lfo2Waveform, Lfo2Division, Lfo2Depth, Lfo2Dest control field variants
- Wire LFO2 DSP modulation in engine for both Synth A and Synth B
- Update UI layout: AMP | LFO1 | LFO2 (3-column bottom row)
- Update mouse hit-testing for 3-column LFO layout
- Update keyboard navigation (AMP + LFO1 + LFO2 in single row)
- LFO2 defaults: Sine, 1/4 note, depth 0 (off), dest Osc1Tune (vibrato)
- Same 11 assignable destinations as LFO1
- Backward compatible: serde(default) for all new fields

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Layout now: AMP (left 50%) | LFO1 over LFO2 (right 50%, stacked).
Updated both rendering and mouse hit-testing to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Names now distinguish Osc1 vs Osc2 params: O1Tune, O2Tune, O1PWM, etc.
Previously both showed as "Tune", "PWM", "Level" making it look like
only a few targets were available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The mouse click handler for enum fields was using max_val=3 for all
non-FilterType fields, causing LFO dest to only cycle through 4 of 11
targets and LFO waveform through 4 of 6. Now uses correct max for each:
- LFO waveform: 5 (6 waveforms)
- LFO division: 17 (18 beat divisions)
- LFO dest: 10 (11 targets)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@illobo
illobo merged commit 9cda48d into main Mar 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant