Docs: record live spline-envelope drags; file two follow-ups in TODO.md
This commit is contained in:
@@ -1776,3 +1776,20 @@ footer readout is the whole indicator. And the readout's fit in the footer's
|
||||
count box is bounded only by a character count, not a real pixel width, since a
|
||||
pure test can't measure the proportional font without pulling shell drawing into
|
||||
`core/ui`; overflow end-ellipsizes rather than breaking layout.
|
||||
|
||||
### Live spline-envelope drags: held and new notes follow a dragged knot
|
||||
|
||||
Dragging a knot on a Spline-mode amp/pitch/filter envelope in ReaSampler 9000's editor
|
||||
is now audible during the drag, for both held and new notes — releasing still commits
|
||||
exactly as before, in one undo point. The three contours travel to the audio thread on
|
||||
their own seqlock-published, double-buffered block (`core/instrument/engine/live_contours.h`,
|
||||
`seqlock.h`), separate from `LiveValues` so a knob publish, an automation merge or the
|
||||
live-block compare never carry the ~9 KB contour payload. Landed in the same merge:
|
||||
closing the editor mid-drag rolls the published contours back to the pre-grab snapshot
|
||||
(`removedFromParent`); the resample bake detaches live contours before its own render
|
||||
(`bake_render.cpp`); a pre-existing bug is fixed where a live-parameter publish arriving
|
||||
in the same block as a note-on failed to reach the already-held, sounding voices —
|
||||
`startVoice`'s `refreshLive()` consumed the new generation without applying it to active
|
||||
voices (`VoiceEngine::startVoice` now calls `applyLiveToActive()`); and the amp spline's read is
|
||||
clamped to `[0,1]` to absorb a swap-step overshoot from the smoother. Not DAW-verified —
|
||||
checks are tracked in `docs/SEPT_VERIFY.md` §5.
|
||||
|
||||
Reference in New Issue
Block a user