Go to file
OmikronApex eeb83cbdbc refactor(audio): extract PackedStereoRing — one SPSC ring template (phase 1)
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>
2026-07-13 23:38:56 +02:00
.claude/skills Clean release snapshot 2026-06-16 18:48:12 +02:00
.devcontainer ci: repoint desktop build off the deleted slopsmith org 2026-06-17 00:47:43 +02:00
.github/workflows fix(nightly): dedupe publish assets across overlapping globs 2026-07-12 23:09:11 +02:00
.packages Clean release snapshot 2026-06-16 18:48:12 +02:00
.specify Clean release snapshot 2026-06-16 18:48:12 +02:00
cmake Clean release snapshot 2026-06-16 18:48:12 +02:00
docs fix(audio): never feed chain processors blocks larger than prepared size (#85) 2026-07-08 22:44:26 +02:00
JUCE@9971c75b2c Clean release snapshot 2026-06-16 18:48:12 +02:00
resources fix(ci): rename entitlements file — vpk requires .entitlements extension 2026-07-10 15:04:31 +02:00
scripts feat(build): bundle bongocat plugin 2026-07-13 22:01:52 +02:00
src refactor(audio): extract PackedStereoRing — one SPSC ring template (phase 1) 2026-07-13 23:38:56 +02:00
tests refactor(audio): extract PackedStereoRing — one SPSC ring template (phase 1) 2026-07-13 23:38:56 +02:00
.build-config.json fix(build): make the local + CI Linux build work off main (#26) 2026-06-20 14:32:01 +02:00
.gitignore Clean release snapshot 2026-06-16 18:48:12 +02:00
.gitmodules Clean release snapshot 2026-06-16 18:48:12 +02:00
CMakeLists.txt Clean release snapshot 2026-06-16 18:48:12 +02:00
CONTRIBUTORS.md Clean release snapshot 2026-06-16 18:48:12 +02:00
LICENSE Clean release snapshot 2026-06-16 18:48:12 +02:00
package.json feat(panes): pane pop-out windows + the system tray 2026-07-12 17:22:44 -04:00
THIRD_PARTY_LICENSES.md Clean release snapshot 2026-06-16 18:48:12 +02:00
tsconfig.json Clean release snapshot 2026-06-16 18:48:12 +02:00
WINDOWS_BUILD_REQUIREMENTS.md Repoint dead slopsmith URLs -> got-feedback 2026-06-17 11:02:09 +02:00