トラックはセグメントのコンポーネントで、シーケンス化されたデータが含まれる。データには、音符、基調コード、テンポ、パッチ チェンジ、バンド チェンジ、およびパフォーマンスが音楽のピースを演奏するときに知っておく必要がある、その他すべてに関する情報が含まれる。
[C++]
各トラックは、IDirectMusicTrack インターフェイスによって表される。このインターフェイスのメソッドはパフォーマンスによって呼び出され、ほとんどのアプリケーションでは、直接使用する必要はない。
アプリケーションが IDirectMusicPerformance::PlaySegment を呼び出すときに、DirectMusic はセグメントのトラックに対して IDirectMusicTrack::Play メソッドを呼び出す。ほとんどのトラックは、演奏されているセグメントのパートに対して有効なデータを含む、タイムスタンプ メッセージを直ちに生成する。これらのメッセージはキューに格納される (その後の動作については、「メッセージの作成と配信」を参照すること)。
いくつかのトラックでは、IDirectMusicTrack::Play に対してメッセージが生成されないが、代わりに、GetParam 呼び出しの形式でパフォーマンスやほかのトラックから送られてくる情報の要求に応答する (「トラック パラメータの設定と取り出し」を参照すること)。
次のリストに、DirectMusic で実装される標準的なトラックの種類と、それぞれの簡単な説明を示す。標準的なトラックでサポートされるメソッドのリストについては、IDirectMusicTrack を参照すること。
- バンド。DLS データをパフォーマンスにダウンロードする。DMUS_PATCH_PMSG、DMUS_TRANSPOSE_PMSG、DMUS_CHANNEL_PRIORITY_PMSG、および DMUS_MIDI_PMSG 型のメッセージを送信する (ボリュームおよびパン用)。MIDI ファイルおよびスタイルに基づくセグメントで使用される。
- コード。パターンに格納されたミュージック値を、MIDI 値に変換するために使用される。DMUS_NOTIFICATION_PMSG 型のメッセージを送信する (GUID_NOTIFICATION_CHORD 通知用)。
- コード マップ。コード トラックを作成するために、テンプレート セグメントで使用される。
- コマンド。テンプレート セグメントでコード トラックを作成するため、およびスタイル セグメントで演奏するパターンを決定するために使用される。DMUS_NOTIFICATION_PMSG 型のメッセージを送信する (GUID_NOTIFICATION_COMMAND の通知用)。
- モチーフ。ほかのセグメントと一緒にモチーフを演奏するために使用する。DMUS_CURVE_PMSG、DMUS_NOTE_PMSG、および DMUS_NOTIFICATION_PMSG 型のメッセージを送信する (GUID_NOTIFICATION_MEASUREANDBEAT の通知用)。
- ミュート。スタイル ベースのセグメント、または MIDI ベースのセグメントと一緒に使用する。P チャンネルをほかの P チャンネルに再割り当てしたり、ミュートすることができる。
- シーケンス。DMUS_NOTE_PMSG および DMUS_MIDI_PMSG 型のシーケンス メッセージを送信する。MIDI ファイルに基づくセグメントで使用される。.sgt 形式で保存されたセグメントに対し、DMUS_CURVE_PMSG 型のメッセージを送信する。
- サインポスト。コード トラックを作成するために、テンプレート セグメントで使用される。
- スタイル。スタイルに基づくセグメントの基本的なトラック。DMUS_TIMESIG_PMSG、DMUS_CURVE_PMSG, DMUS_NOTE_PMSG、および DMUS_NOTIFICATION_PMSG 型のメッセージを送信する (GUID_NOTIFICATION_MEASUREANDBEAT の通知用)。
- システム エクスクルーシブ。DMUS_SYSEX_PMSG 型のシステム エクスクルーシブ メッセージを送信する。MIDI ファイルに基づくセグメントで使用される。
- テンポ。DMUS_TEMPO_PMSG 型のメッセージを送信して、パフォーマンスのテンポを設定する。
- 拍子記号。GUID_NOTIFICATION_MEASUREANDBEAT 通知と同様に、DMUS_TIMESIG_PMSG 型のメッセージを送信する。MIDI ファイルに基づくセグメントで使用される。