fix(tracker): show FPU over/underflow error instead of generic nan error

This commit is contained in:
5684185+vsariola@users.noreply.github.com
2026-02-28 19:17:03 +02:00
parent 4d29a191c8
commit f3bb0001cd

View File

@ -131,12 +131,13 @@ func (p *Player) Process(buffer sointu.AudioBuffer, context PlayerProcessContext
if err != nil {
p.destroySynth()
p.send(Alert{Message: fmt.Sprintf("synth.Render: %s", err.Error()), Priority: Error, Name: "PlayerCrash", Duration: defaultAlertDuration})
}
} else {
// for performance, we don't check for NaN of every sample, because typically NaNs propagate
if rendered > 0 && (isNaN(buffer[0][0]) || isNaN(buffer[0][1]) || isInf(buffer[0][0]) || isInf(buffer[0][1])) {
p.destroySynth()
p.send(Alert{Message: "Inf or NaN detected in synth output", Priority: Error, Name: "PlayerCrash", Duration: defaultAlertDuration})
}
}
} else {
rendered = min(framesUntilEvent, timeUntilRowAdvance)
timeAdvanced = rendered