Microsoft DirectX 8.1 (C++) |
Tracks are the components of a segment that contain its sequenced data, including information about notes, underlying chords, tempo, patch and band changes, and everything else that the performance needs to know to play the sounds.
Each track is represented by an IDirectMusicTrack8 interface. The methods of this interface are called by the performance, and most applications don't need to use them directly. This interface is chiefly of interest for plug-in components that implement their own track types.
When an application calls IDirectMusicPerformance8::PlaySegment or IDirectMusicPerformance8::PlaySegmentEx, DirectMusic calls the IDirectMusicTrack8::Play or IDirectMusicTrack8::PlayEx method on the segment's tracks. Most tracks respond by immediately generating time-stamped messages containing data that is valid for the part of the segment that is being played. These messages are placed in a queue. See Message Creation and Delivery for more information about what happens after that.
A few tracks do not actively generate messages other than notifications in response to IDirectMusicTrack8::Play or IDirectMusicTrack8::PlayEx, but instead do most of their work by responding to requests for information that come from the performance or other tracks. The most important of these are the chord, mute, and command tracks. The tempo track sends messages but also responds to parameter requests.
More information is contained in the following topics: