Restore review-flagged comment content cut too aggressively in comment reduction
This commit is contained in:
@@ -128,9 +128,11 @@ RangeSource inferRangeSource(bool hasRazorArea);
|
||||
// track's OWN FX, (b) every ancestor (parent/folder) track's FX, (c) the
|
||||
// master FX. The caller (FxBypassGuard, shell) walks the ancestor chain via
|
||||
// GetParentTrack, clears I_FXEN on each flagged track (RAII restore), and also
|
||||
// neutralizes D_VOL/D_PAN/D_WIDTH/D_PANLAW to unity/center on the same set —
|
||||
// I_FXEN alone doesn't touch a track's volume/pan. This plan selects the set;
|
||||
// the guard applies both the FX bypass and the neutralize.
|
||||
// neutralizes D_VOL/D_PAN/D_WIDTH/D_PANLAW/I_PANMODE to unity/center on the
|
||||
// same set (I_PANMODE is load-bearing: in pan mode 6, D_PAN/D_WIDTH are
|
||||
// ignored entirely, so forcing it is what makes the other neutralizations
|
||||
// take effect) — I_FXEN alone doesn't touch a track's volume/pan. This plan
|
||||
// selects the set; the guard applies both the FX bypass and the neutralize.
|
||||
struct FxBypassPlan {
|
||||
bool bypassSelfFx = false; // the captured track's own FX
|
||||
bool bypassAncestorFx = false; // every ancestor (parent/folder) track's FX
|
||||
|
||||
@@ -283,6 +283,9 @@ std::set<std::string> ViewModeModel::visibleTracks(const FolderTree& tree,
|
||||
std::map<std::string, std::string> parentOf;
|
||||
for (const auto& node : tree.nodes) parentOf[node.guid] = node.parentGuid;
|
||||
|
||||
// Seed from the full pass-1 set (not just leaves) so a parent already visible by
|
||||
// its own membership still propagates visibility up its remaining ancestors; a
|
||||
// snapshot copy so mid-loop insertions into `visible` are never re-walked.
|
||||
const std::vector<std::string> seeds(visible.begin(), visible.end());
|
||||
for (const auto& node : seeds) {
|
||||
auto it = parentOf.find(node);
|
||||
|
||||
@@ -65,6 +65,9 @@ UsagePublishPlan planUsagePublish(const std::optional<std::string>& existing,
|
||||
plan.wire = encodeUsageRecord(cleanMine);
|
||||
|
||||
if (!existing || existing->empty()) {
|
||||
// NOTE (>16 MB gap): readReasamplerExtState returning nullopt for a value
|
||||
// larger than 16 MB is indistinguishable from "absent" here, so that narrow
|
||||
// case also takes this fresh-write branch rather than remint.
|
||||
return plan; // fresh key — write mine
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
// never degrade toward delete);
|
||||
// * unreadable record -> ABORT the prune entirely (a record we cannot read
|
||||
// may protect anything; halting deletes nothing).
|
||||
// Residual: readReasamplerExtState returning nullopt
|
||||
// for a >16 MB value is indistinguishable from
|
||||
// "absent" at the publish site, so that narrow case
|
||||
// takes the fresh-write branch, not remint.
|
||||
//
|
||||
// Liveness is decided extension-side at read time, not by teardown clearing
|
||||
// (REAPER destroys the plugin instance when an FX goes offline, including
|
||||
|
||||
Reference in New Issue
Block a user