Ψ-W1-T2 review remediation: solo restore drops on visible-in-target, not parked; N-mode segments read dead when unroutable
Fixes a hidden-parent solo replay that could silence the mix. Also closes the N-mode segment silent no-op, amends the invariant comment, trims view.cpp under 600 lines, hedges two SDK inferences, drops a dead null-check.
This commit is contained in:
@@ -73,14 +73,18 @@ private:
|
||||
// The incoming mode's restore writes, in GUID order. Two kinds of entry are dropped
|
||||
// rather than written:
|
||||
// * a GUID absent from `liveGuids` — the track is gone (same prune rule as above);
|
||||
// * a GUID parked in the incoming mode — a parked track is hidden and carries
|
||||
// B_MAINSEND=0, so soloing it would silence the whole mix while contributing
|
||||
// nothing audible, and the user would have no visible control to undo it.
|
||||
// * a GUID absent from `visibleGuids` — not visible in the incoming mode, whether
|
||||
// because the leaf is parked or because it is a folder parent that is itself
|
||||
// derived-invisible there. Either way the track is hidden and (for a parked
|
||||
// leaf) carries B_MAINSEND=0, so soloing it would silence the whole mix while
|
||||
// contributing nothing audible, and the user would have no visible control to
|
||||
// undo it. A show-both leaf is a member of every mode's visible set, so it is
|
||||
// never dropped by this rule.
|
||||
// The caller consumes the whole mode entry regardless (clear-on-restore), so a
|
||||
// dropped entry does not linger as zombie state waiting on a track that may never
|
||||
// come back unparked.
|
||||
// become visible again.
|
||||
std::vector<SoloOp> planSoloRestore(const std::map<std::string, int>& cached,
|
||||
const std::set<std::string>& liveGuids,
|
||||
const std::set<std::string>& parkedGuids);
|
||||
const std::set<std::string>& visibleGuids);
|
||||
|
||||
} // namespace reasampler::view
|
||||
|
||||
Reference in New Issue
Block a user