feat: legible ReaSampler 9000 editor — bigger knobs, ms time constants, per-ring double-click reset, and an antialiased draw pass

This commit is contained in:
2026-08-01 09:16:30 -04:00
parent 213ecfafe6
commit 7f74b11dce
27 changed files with 859 additions and 285 deletions
+13
View File
@@ -40,6 +40,19 @@ void ReaSamplerEditor::onMouseDown(int x, int y) {
mouseDownWaveform(fl, x, y);
}
bool ReaSamplerEditor::onMouseDoubleClick(int x, int y) {
// Only the Sample face's radial knobs claim the gesture. Everything else — Browse's
// load accelerator, the spline surfaces' point grammar — is left to the caller's
// fall-through to onMouseDown, which is the path those surfaces were built on.
if (!processor_ || view_ != View::kSample || curvePopup_ != CurveTarget::kNone) return false;
RECT cr{};
GetClientRect(childHwnd_, &cr);
const FaceLayout fl = faceLayout(cr.right - cr.left, cr.bottom - cr.top);
if (doubleClickChrome(fl, x, y)) return true;
if (selectedId_.empty()) return false;
return doubleClickDeck(fl, x, y);
}
void ReaSamplerEditor::onMouseMove(int x, int y) {
if (drag_ == DragKind::kNone) return;
dragCurX_ = x; // keep the live cursor position for drag-state draw cues (e.g. drag-off warn)