Merge pS-ga-voicesteal: declick every takeover (mono retrig + poly at-cap steal), gated on envelope complement; over-cap steal proven exactly-one
This commit is contained in:
@@ -52,6 +52,11 @@ struct LoadedInstrument {
|
||||
PreviewCard preview; // Phase S: the isolated preview voice — never part of the pool
|
||||
std::uint64_t installedAt = 0; // reload generation at which this was installed
|
||||
|
||||
// The takeover declick (GA fix) is opted IN here — the PRODUCT default: any restart of a
|
||||
// sounding voice (mono Retrigger takeover/fallback, cross-sample legato restart, POLY
|
||||
// at-cap steal) fades the cut tone over a few ms instead of clicking. The pure core
|
||||
// defaults it off (regression baseline) — same layering as the kDefaultPitchEngine
|
||||
// product default.
|
||||
LoadedInstrument(Keymap km, std::size_t maxVoices,
|
||||
std::uint64_t gen, std::size_t preserveVoiceCap = 0,
|
||||
std::int64_t preserveWindowFrames = 0,
|
||||
@@ -59,7 +64,7 @@ struct LoadedInstrument {
|
||||
MonoTrigger monoTrigger = MonoTrigger::Retrigger)
|
||||
: keymap(std::move(km)),
|
||||
engine(maxVoices, keymap, preserveVoiceCap, preserveWindowFrames,
|
||||
voiceMode, monoTrigger),
|
||||
voiceMode, monoTrigger, /*takeoverDeclick=*/true),
|
||||
preview(keymap, preserveWindowFrames),
|
||||
installedAt(gen) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user