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
@@ -80,6 +80,18 @@ bool ReaSamplerEditor::mouseDownChrome(const FaceLayout& fl, int x, int y) {
return contains(cr.controls, x, y);
}
bool ReaSamplerEditor::doubleClickChrome(const FaceLayout& fl, int x, int y) {
// The preview-velocity dial answers the same reset gesture the deck's knobs do — it is a
// radial knob drawn by the same primitive, so a user who learns the gesture there expects
// it here. Resolved against the whole cell, not the circle: the cell IS the knob's target
// on this surface (there is no neighbouring control to steal from).
if (selectedId_.empty() || !processor_) return false;
if (!contains(fl.chrome.velCell, x, y)) return false;
processor_->setPreviewVelocity(kPreviewVelocityDefault);
invalidate();
return true;
}
void ReaSamplerEditor::dragChrome(const FaceLayout& fl, int x, int y) {
const Rect& stripArea = fl.chrome.rootStrip;
if (stripArea.empty()) return;