feedBack-desktop/tests/sandbox
Jorge Fritis c8415113c8
audio: per-slot postGain for parallel-branch loudness leveling (#58)
Adds an optional per-slot output gain (ProcessorSlot.postGain, default 1.0 = no-op) applied in SignalChain::runSlot after processBlock + pan, plumbed through setPostGain / IPC / preload / loadPreset / getChainState (mirroring setPan). Gives each parallel branch its own loudness trim.

Review hardening (multi-angle + Codex): savePreset() now serializes postGain (it was read back but never written → save/load dropped it); setPostGain() rejects non-finite input (NaN would poison the buffer); new signalchain_postgain_test.cpp asserts gain scaling, NaN rejection, and serialization.

Verified locally: build:audio clean; signalchain_postgain_test 5/5 pass. (Org CI runners failed to start — infra/billing, unrelated to the change; changes are platform-neutral C++.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 12:50:47 +02:00
..
e2e audio: per-slot postGain for parallel-branch loudness leveling (#58) 2026-07-02 12:50:47 +02:00
standalone Clean release snapshot 2026-06-16 18:48:12 +02:00
audio_channel_midi_test.cpp Clean release snapshot 2026-06-16 18:48:12 +02:00
CMakeLists.txt Clean release snapshot 2026-06-16 18:48:12 +02:00
control_channel_test.cpp Clean release snapshot 2026-06-16 18:48:12 +02:00
spawn_smoke_child.cpp Clean release snapshot 2026-06-16 18:48:12 +02:00
spawn_smoke_test.cpp Clean release snapshot 2026-06-16 18:48:12 +02:00