Playback Controller
A playback source that com.musicmuni.voxatrace.calibra.CalibraLiveEval can drive and clock against. Implemented by SonixPlayer (a single track) and SonixMixer (a reference track plus synced accompaniment), so live evaluation can run over either without knowing which.
Time contract (critical)
currentTime and audibleTimeMsAtWallNanos MUST be views of the same DAC-presentation clock. The eval derives segment timing / phase transitions from currentTime and aligns the student's captured pitch frames to playback via audibleTimeMsAtWallNanos; if the two disagree (e.g. one is a wall-clock and the other a hardware clock), scoring drifts even though audio sounds fine. Implementations should source both from one presentation clock (see the shared PresentationClock used by the platform players and the mixer's reference track).
Inheritors
Properties
This source as a PlaybackInfoProvider for recorder sync.
Current playback position in milliseconds (DAC-presentation clock).
Functions
Audible playback position (ms since playback start) at the given monotonic-nanoseconds wall moment, or -1L during pre-play / transient seek states. Same clock as currentTime; see the time contract above.