fix: close review findings on spline EGs — engine, codec, and popup/overlay UI grammar
Live pitch depth, Gate/Spline enable-rule agreement, inert kTrigLength, NaN wire guards, hard-flag-tail corruption no longer wipes the record, RT/cold spline tie-break, retired alt-click, marker-shadow fix, plus new test coverage.
This commit is contained in:
@@ -45,17 +45,8 @@ void ReaSamplerEditor::handleCurveMouseDown(const Rect& r, int x, int y) {
|
||||
const VelocityCurve::Box box = curveBoxFromRect(r);
|
||||
if (box.width <= 0 || box.height <= 1) return;
|
||||
|
||||
// Alt-click delete predates the converged grammar and is kept as a landed alternate; every
|
||||
// other gesture routes through the shared resolver so both spline consumers stay one
|
||||
// grammar.
|
||||
if ((GetKeyState(VK_MENU) & 0x8000) != 0) {
|
||||
const int alt = editedCurve().pointAtPixel(box, x, y);
|
||||
if (alt >= 0 && editedCurve().deletePoint(static_cast<std::size_t>(alt))) {
|
||||
hover_ = HoverTarget{}; // a stale kCurveNode index would light a shifted node
|
||||
commitAndReload();
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Alt-click delete is retired (the spec's right-click supersedes it — one grammar, no
|
||||
// migration on either side): every gesture here routes through the shared resolver.
|
||||
const bool ctrl = (GetKeyState(VK_CONTROL) & 0x8000) != 0;
|
||||
const SplineEdit edit = resolveSplineEdit(
|
||||
editedCurve(), box, ctrl ? SplineGesture::kControlLeft : SplineGesture::kLeft, x, y);
|
||||
|
||||
Reference in New Issue
Block a user