Microsoft DirectX 8.0 (C++) |
セグメントは、シーケンス化されたサウンド データをカプセル化するオブジェクトである。データには、MIDI シーケンス、ウェーブ、DirectMusic Producer のセグメント ファイルの情報のコレクション、または実行時に複数のコンポーネントからアレンジされるミュージックがある。一般的に、セグメントは、1 曲のミュージックまたは 1 つの単位として再生されるその他のサウンドである。
セグメントは、プライマリ セグメントまたはセカンダリ セグメントとして再生できる。プライマリ セグメントは、一度に 1 つだけ演奏できる。セカンダリ セグメントは、一般的に、プライマリ セグメントに重ねて再生される短いモチーフまたはサウンド エフェクトである。
MIDI またはウェーブ ファイルとして生成されたセグメントは、アプリケーションで特殊な処理をしない限り、いつも同じように再生される。一方、DirectMusic Producer でオーサリングされたセグメントには、異なるミュージック パターンや、セグメントを再生するたびにバリエーションを可能にするその他の情報を含めることができる。
セグメントでは、ウェーブ、パターン、コード変更、バンド変更、テンポ変更など、異なる種類のデータを組み合わせることができる。各種のデータはトラック オブジェクトにカプセル化される。C++ で作成されたアプリケーションでは、個々のトラックにアクセスできるが、ほとんどの場合その必要はない。またセグメントは、特殊効果など、そのセグメントを再生するオーディオパスに関する情報も格納できる。
DirectMusic Producer のセグメントには、ほかのロード可能なミュージック コンポーネントへの参照を含めることもできる。たとえば、あるバンドを使って作成されたセグメントからそのバンド オブジェクトを取得できる。
セグメントを再生するたびに、セグメント状態オブジェクトが作成される。アプリケーションでは、このオブジェクトを使用して、再生の状態および再生中のセグメントのインスタンスのオーディオパスに関する情報を取得できる。