instrument: narrow the live-param publish lock to its own mutex, off the reload's decode
Knob-drag publishes no longer block behind a full reload's WAV decode — a dedicated livePublishMutex_ replaces reloadMutex_ for the seqlock's single-writer contract. Also fixes an editor comment overclaim and two doc restatements.
This commit is contained in:
@@ -219,9 +219,13 @@ LRESULT CALLBACK ReaSamplerEditor::wndProc(HWND hwnd, UINT msg, WPARAM wParam,
|
||||
}
|
||||
if (self->drag_ != DragKind::kNone) {
|
||||
// A scrollbar drag + the processor-side deck knobs (preview velocity -2 /
|
||||
// voice count / master gain) mutate no parameter, so dragStartParams_ is
|
||||
// not a rollback target for them — reset drag state only. Every
|
||||
// parameter-editing drag restores the pre-grab snapshot.
|
||||
// voice count / master gain) mutate no params_ field, so dragStartParams_
|
||||
// is not a rollback target for them — reset drag state only. Every
|
||||
// params_-editing drag restores the pre-grab snapshot. Voice count and
|
||||
// master gain are pre-existing exceptions to that: both write straight
|
||||
// through on every move (editor voiceCount_ / processor masterGain_)
|
||||
// rather than through params_, so an abandoned drag leaves them at the
|
||||
// abandoned value indefinitely instead of rolling back.
|
||||
const bool transient = self->drag_ == DragKind::kScrollThumb ||
|
||||
(self->drag_ == DragKind::kDeckKnob &&
|
||||
(self->dragParamId_ == -2 ||
|
||||
|
||||
Reference in New Issue
Block a user