Microsoft DirectX 9.0

Standard Track Types

The following list describes the standard track types implemented by Microsoft DirectMusic. The class identifiers, such as CLSID_DirectMusicBandTrack, are used to identify track types in calls to various methods.

Track type Class GUID Purpose
Band CLSID_DirectMusicBandTrack Downloads DLS data to the performance. Sends messages of type DMUS_PATCH_PMSG, DMUS_TRANSPOSE_PMSG, DMUS_CHANNEL_PRIORITY_PMSG, and DMUS_MIDI_PMSG (for volume and pan). Used in segments based on MIDI files and styles.
Chord CLSID_DirectMusicChordTrack Used to convert music values in patterns to MIDI values. Sends messages of type DMUS_NOTIFICATION_PMSG (for GUID_NOTIFICATION_CHORD notifications).
Chordmap CLSID_DirectMusicChordMapTrack Used in template segments to compose chord tracks.
Command CLSID_DirectMusicCommandTrack Used in template segments to compose chord tracks, and in style segments to determine which patterns are played. Sends messages of type DMUS_NOTIFICATION_PMSG for GUID_NOTIFICATION_COMMAND notifications.
Lyrics CLSID_DirectMusicLyricsTrack Used to synchronize words with music. Generates messages of type DMUS_LYRIC_PMSG.
Marker CLSID_DirectMusicMarkerTrack Used for flow control. The marker track can hold valid start times for the segment, and play times at which new segments can be cued. For more information, see Segment Timing.
Motif CLSID_DirectMusicMotifTrack Used to play motifs to accompany other segments. Sends messages of type DMUS_CURVE_PMSG, DMUS_NOTE_PMSG, and DMUS_NOTIFICATION_PMSG (for GUID_NOTIFICATION_MEASUREANDBEAT notifications).
Mute CLSID_DirectMusicMuteTrack Enables performance channels to be remapped or muted. Used with either style-based or MIDI-based segments.
Parameter control CLSID_DirectMusicParamControlTrack Controls the settings on tools, effects, and any other objects that support the IMediaParams interface.
Pattern CLSID_DirectMusicPatternTrack Contains a single musical pattern. The pattern track is similar to a sequence track, but contains music values rather than fixed notes. This track makes it possible to audition a pattern against different chords, and is used mostly by music-authoring applications. It might also be used to play an accompaniment. It is represented by its own interface, IDirectMusicPatternTrack8.
Script CLSID_DirectMusicScriptTrack Calls routines in an audio script.
Segment trigger CLSID_DirectMusicSegmentTriggerTrack Triggers the playback of segments. This track enables the author of a file to cue a segment from within a segment, rather than leaving this up to the application developer.
Sequence CLSID_DirectMusicSeqTrack Sends sequence messages of type DMUS_NOTE_PMSG and DMUS_MIDI_PMSG. Used in segments based on MIDI files. Also sends messages of type DMUS_CURVE_PMSG for segments saved in the .sgt format.
Signpost CLSID_DirectMusicSignPostTrack Used in template segments to compose chord tracks.
Style CLSID_DirectMusicStyleTrack Fundamental track for segments based on styles. Sends messages of type DMUS_TIMESIG_PMSG, DMUS_CURVE_PMSG, DMUS_NOTE_PMSG, and DMUS_NOTIFICATION_PMSG (for GUID_NOTIFICATION_MEASUREANDBEAT notifications).
SysEx CLSID_DirectMusicSysExTrack Sends system exclusive messages of type DMUS_SYSEX_PMSG. Used in segments based on MIDI files.
Tempo CLSID_DirectMusicTempoTrack Controls the tempo of the performance.
Time Signature CLSID_DirectMusicTimeSigTrack Sends messages of type DMUS_TIMESIG_PMSG as well as GUID_NOTIFICATION_MEASUREANDBEAT notifications. The time signature track exists in imported MIDI files and authored segments specifically created with one. In most cases, the style track implements the time signature track's functionality, so it is not necessary for a segment that contains a style track to contain a time signature track as well.

The Time Signature track supports the IDirectMusicTrack interface, but not IDirectMusicTrack8.

Wave CLSID_DirectMusicWaveTrack Sends messages of type DMUS_WAVE_PMSG to play time-stamped wave sounds.