mirror of
https://github.com/got-feedBack/feedBack-desktop.git
synced 2026-07-25 14:21:20 +00:00
Replaces the four hand-maintained copies of the packed-LR SPSC design (split-mode output ring, per-InputDeviceSlot rings, stream-sink ring, renderer-bus ring) with slopsmith::PackedStereoRing<NFrames> (src/audio/engine/PackedStereoRing.h). The template owns the storage, power-of-two/lock-free asserts, pack/unpack, producer publish, reset, the w<r resync, and the lapped catch-up; per-site consumer policy (pull-vs- consume skew, renderer prime/fill-clamp) stays verbatim at the call sites. Pure code move per the TLC plan — no behavior change; the renderer bus's control-thread readIndex write on disable (deep-read §4) is deliberately preserved and gets its flush-flag fix in phase 2. Unit-tested in tests/engine_units/packed_stereo_ring_test.cpp: threaded tear-freedom under lapping (2M frames), drop-oldest catch-up, index-reset resync, pull-vs-consume skew. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| audio_sanitize | ||
| chordscorer | ||
| contracts | ||
| engine_units | ||
| mlnotedetector | ||
| sandbox | ||
| spike | ||
| _load-ts.js | ||
| audio-chain-persistence.test.js | ||
| audio-effects-executor.test.js | ||
| chain-mutation-storm.test.js | ||
| CMakeLists.txt | ||
| config-bootstrap.test.js | ||
| config-migrations.test.js | ||
| config-paths.test.js | ||
| config-reset.test.js | ||
| contract-check.test.js | ||
| juce-exclusive-type-name.test.js | ||
| ml-note-detection.test.js | ||
| multi-source.test.js | ||
| renderer-capability-migration.test.js | ||
| window-bounds.test.js | ||