A music generation and playback system includes an application program and
a music processing component. The application program makes repeated calls
to the music processing component and provides a group of music events to
be sent to the music processing component during each call. Each group of
events comprises a plurality of individual events and associated
timestamps indicating when the events are to be played. The timestamps of
the individual music events of a particular group indicate that the events
are to be played at varying times subsequent to being sent to the music
processing component. The music processing component exposes a latency
clock interface, which indicates the earliest time at which a new music
event can be rendered. The application program uses this interface to
determine how far ahead of time to provide new music events, and to
schedule spontaneously occurring events for playback at the earliest
possible time.
Een van de muziekgeneratie en playback systeem omvat een toepassingsprogramma en een component van de muziekverwerking. Het toepassingsprogramma maakt herhaalde vraag aan de component van de muziekverwerking en verstrekt een groep muziekgebeurtenissen die naar de component van de muziekverwerking tijdens elke vraag moeten worden verzonden. Elke groep gebeurtenissen bestaat uit een meerderheid van individuele gebeurtenissen en bijbehorende timestamps die wanneer de gebeurtenissen moeten worden gespeeld wijzen op. Timestamps van de individuele muziekgebeurtenissen van een bepaalde groep wijzen erop dat de gebeurtenissen in variƫrende tijden moeten worden gespeeld volgend op wordt verzonden naar de component van de muziekverwerking. De component van de muziekverwerking stelt een interface van de latentieklok bloot, die op de vroegste tijd wijst waarin een nieuwe muziekgebeurtenis kan worden teruggegeven. Het toepassingsprogramma gebruikt deze interface om hoe ver voor tijd te bepalen om nieuwe muziekgebeurtenissen te verstrekken, en spontaan voorkomende gebeurtenissen zo vroeg mogelijk te plannen voor playback.