DirectX SDK

Tracks

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 a piece of music.

[Visual Basic]

DirectX for Visual Basic does not provide applications with access to individual tracks. All playback is handled at the segment level.

[C++]

Each track is represented by an IDirectMusicTrack interface. The methods of this interface are called by the performance, and most applications do not need to use them directly.

When an application calls IDirectMusicPerformance::PlaySegment, DirectMusic calls the IDirectMusicTrack::Play 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 in response to IDirectMusicTrack::Play, but instead do their work by responding to requests for information that come from the performance or other tracks in the form of a GetParam call. (See Setting and Retrieving Track Parameters.)

The following list shows the standard track types implemented by DirectMusic, with a brief description of each one. For a list of the methods supported by the standard tracks, see the reference for IDirectMusicTrack.