SpectrumTimeline
Bounded analysis history aligned to the audible media clock.
One thread pushes; any thread reads or resets. Reset replaces the whole history, so work already publishing into the retired history cannot return to the new one. Each atomic slot carries its sequence number: a wrapped slot cannot be mistaken for the older entry a reader was examining.
Properties
Bounded event retention and detection-completion diagnostics for the current history.
The continuous audio timeline this history accepts.
Current feature retention, including evictions by count, media time or payload size.
Structural event retention and the structural watermark for the current history.
Functions
Lets a drawing see the audio that has been analysed but has not been played yet.
Newest retained analysis at or before ptsMicros, expiring after 100 ms without new data.
Contiguous ready media seconds ahead, stopping at missing data or a gap over 100 ms.
A new independent consumer, initially discarding events at or before its first sample time.
Continuous interpolation within one generation; unavailable data expires after 100 ms.
The newest retained analysis, without alignment.
Seconds until the next retained onset, or -1 when none has been observed.
Publishes only frames matching both generation and revision of this history.
Retires history and advances revision. An older audio generation is ignored.
Scalar event projection over (previousPtsMicros, ptsMicros]. Continuous features are interpolated. This compatibility projection retains the strongest hit of each kind and does not preserve event multiplicity. It must not be used to count events.