fix(m10): item-scope take-FX fingerprint; Windows path case-fold; comments
Item scope now reads the active take's FX chain via TakeFX_* (new fxChainIdentityForItems helper), not the owning track's chain. normalizeSlashes lowercases on _WIN32 for detectParent. Stale comments corrected; case-fold tests added.
This commit is contained in:
+9
-7
@@ -46,13 +46,14 @@ enum class ProvenanceScope {
|
||||
Track,
|
||||
};
|
||||
|
||||
// One FX-chain entry as the shell reads it from REAPER (TrackFX_GetFXName /
|
||||
// TrackFX_GetFXGUID / TrackFX_GetEnabled). Plain data — the shell fills it, the
|
||||
// One FX-chain entry as the shell reads it from REAPER. For Track scope the shell
|
||||
// uses TrackFX_GetFXName/GetFXGUID/GetEnabled; for Item scope it uses the TakeFX_*
|
||||
// equivalents over the active take's FX chain. Plain data — the shell fills it, the
|
||||
// pure fold turns the vector into the identity string.
|
||||
struct FxIdentityEntry {
|
||||
std::string name; // TrackFX_GetFXName
|
||||
std::string guid; // TrackFX_GetFXGUID -> guidToString (per-instance identity)
|
||||
bool enabled; // TrackFX_GetEnabled
|
||||
std::string name; // TrackFX_GetFXName / TakeFX_GetFXName
|
||||
std::string guid; // TrackFX_GetFXGUID / TakeFX_GetFXGUID -> guidToString
|
||||
bool enabled; // TrackFX_GetEnabled / TakeFX_GetEnabled
|
||||
};
|
||||
|
||||
// The recorded capture recipe + source FX-chain identity — the thin fingerprint.
|
||||
@@ -138,8 +139,9 @@ struct BankFileRef {
|
||||
//
|
||||
// Returns the parent sample id, or nullopt when the capture is not a genuine
|
||||
// resample-from-sample. Comparison is exact path identity; the caller normalizes
|
||||
// both sides identically so a slash/case difference never spuriously matches or
|
||||
// misses (case handling is the caller's normalization contract, not decided here).
|
||||
// both sides identically via normalizeSlashes (which lowercases on Windows) so a
|
||||
// slash/case difference never spuriously matches or misses. On Windows both sides
|
||||
// are lowercased before they reach here; on macOS/Linux they are case-exact.
|
||||
std::optional<std::string> detectParent(
|
||||
const std::vector<std::string>& sourceItemFiles,
|
||||
const std::vector<BankFileRef>& bankFiles);
|
||||
|
||||
Reference in New Issue
Block a user