feat: add presets, Randomize button, menu highlight, finer LFO depth, preset-switch fade-out

- PresetManager: add ~40 new presets including a new Techno category with
  LFO-to-OSC-pitch movement, plus Bass/Lead/Pad/Keys/Brass/Strings/Wind/
  Arp/Pluck/FX expansions
- UI: add RANDOM button; highlight the currently selected entry in all
  dropdown menus (incl. ticking the active preset in the preset browser)
- LFO depth: finer 0.001 step with a skew curve so the lower range resolves
  much finer than the upper range (shared by LFO1 and LFO2)
- DSP: fade out active voices over 250ms on preset change / randomize so long
  release tails from the previous sound are silenced
- Update bg.png
This commit is contained in:
Armin 2026-07-14 13:54:17 +02:00
commit 6f63b403e3
7 changed files with 881 additions and 7 deletions

View file

@ -71,6 +71,10 @@ public:
int getTransposeSemitones() const;
// Fade out all currently sounding voices over `seconds` so a long release
// tail from the previous preset is silenced on preset change.
void fadeOutActiveVoices(float seconds);
std::atomic<float> pitchBendValue{0.0f};
float getPitchBend() const { return pitchBendValue.load(std::memory_order_relaxed); }