Appendix B

Playback-position and seek callback proposal

Needed for lyrics sync, option A re-record, and interrupt resume.

Playback position

While recording or playing the backing track, the SDK keeps song time in ms from the start of the backing file (time zero = start of that file).

Flutter proposal

Seek

Timed lyric markers (for last lyric line)

StarManch supplies line timings (same data family as lyric sync / seek). Draft shape:

{
  "version": 1,
  "lines": [
    { "index": 0, "startMs": 0 },
    { "index": 1, "startMs": 4200 },
    { "index": 2, "startMs": 8100 }
  ]
}

The SDK reports positionMs. The app maps that to the last started line. Exact-timestamp resume needs no extra file.