advance

fun advance(frame: SpectrumFrame, deltaSeconds: Float)

Moves it on by one frame. Call this once per drawn frame, before drawing.

A seek or track change does not cut a change already under way: it finishes over its planned duration. Boundaries delivered meanwhile are consumed, not queued for later.