Merge dev into ux-w1-t1-sample-rate: take the spline live-drag and plugin-drop work
This commit is contained in:
@@ -164,6 +164,7 @@ std::string ReaSamplerProcessor::reloadInstrument() {
|
||||
// top of the first block after this, which is where the swap below becomes visible
|
||||
// too — so the new snapshot's first note reads it.
|
||||
sample.live = &automationLive_;
|
||||
sample.liveContours = &liveContours_;
|
||||
// BEFORE the publish: the publish is what makes the audio thread re-merge, and the
|
||||
// merge resolves every held automation stage time against this rate. Stored after,
|
||||
// a merge in the window between them would resolve them against the previous
|
||||
@@ -175,6 +176,10 @@ std::string ReaSamplerProcessor::reloadInstrument() {
|
||||
// publishLiveParams never holds reloadMutex_, so this is the only nesting.
|
||||
std::lock_guard<std::mutex> lp(livePublishMutex_);
|
||||
liveParams_.publish(instrument::engine::foldLive(sample.play, sample.keyTrack));
|
||||
// The model's contours, so a reload-tier contour edit (a point added, deleted or
|
||||
// made hard, a drag's release) reaches the drain's sounding voices too, and a
|
||||
// courier publish from an abandoned gesture cannot outlive the reload.
|
||||
liveContours_.publish(instrument::engine::foldContours(sample.play));
|
||||
}
|
||||
resolvedId = selId; // the concrete pick that resolved
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user