Widen the deck row block to 1028 so the filter tie-line is exact, and accumulate the meter's block peaks instead of sampling one in 47

This commit is contained in:
2026-08-02 08:27:05 -04:00
parent 0627398bbb
commit df10ddacc2
29 changed files with 552 additions and 250 deletions
+8 -6
View File
@@ -68,10 +68,12 @@ bool ReaSamplerEditor::mouseDownDeck(const FaceLayout& fl, int x, int y) {
const bool on = (hit.segment == 1);
if (on != params_.limiterEnabled) {
params_.limiterEnabled = on;
// The processor's own funnel mirrors the audio-thread flag and requests the
// host's latency restart; a reload would re-decode a WAV the toggle cannot
// change. The local snapshot moves with it so a later commit agrees.
processor_->setLimiterEnabled(on);
// ARMED here, run on the sync tick — the same treatment the bake gets, and
// for the same reason: the processor's funnel requests the host's latency
// restart, whose deactivate/reactivate calls setActive(true) and re-decodes
// the WAV. Inline, that whole cycle would run nested inside this mouse
// handler with SetCapture held.
limiterPending_ = on;
}
invalidate();
break;
@@ -192,8 +194,8 @@ void ReaSamplerEditor::dragDeck(int x, int y) {
invalidate();
}
ReaSamplerEditor::HoverTarget ReaSamplerEditor::hoverDeck(const FaceLayout& fl, int x,
int y) const {
HoverTarget ReaSamplerEditor::hoverDeck(const FaceLayout& fl, int x,
int y) const {
const Rect& band = fl.bands.decks;
if (!contains(band, x, y)) return {};
const DeckLayout dl = layoutDeck(fl.deckDescs, band.x, band.y, band.width);