Platform SDK: DirectX |
オーサリングされたセグメントは、音楽のピースのデータをすべて含むファイルまたはリソースである。このセグメントは、MIDI ファイルか、スタイルおよびコード マップに基づいて作成することができる。単純な MIDI ファイルやリソースと異なり、バンド チェンジやバリエーションを含めることができる。
注 : 同様に、テンプレートもオーサリングされたセグメントであるが、これは音楽の組み込みピースを表すものではない。詳細については、「テンプレートの使い方」を参照すること。
次のコード例に示すように、セグメントをオブジェクトとしてロードし、IDirectMusicSegment インターフェイスを取得して、アプリケーションでセグメントを作成する。この例では、セグメントは DirectMusic Producer ファイルからロードされている。
/* pLoader は IDirectMusicLoader インターフェイスへの 有効なポインタであり、検索ディレクトリは 適切に設定されているものとする。*/ DMUS_OBJECTDESC ObjectDescript; IDirectMusicSegment* pSegment; ObjectDescript.dwSize = sizeof(DMUS_OBJECTDESC); ObjectDescript.idClass = CLSID_DirectMusicSegment; strcpy(ObjectDescript.wszFileName, L"Dance.sgt"); ObjectDescript.dwValidData = DMOBJ_CLASS | DMOBJ_PATH ; pLoader->GetObject(&ObjectDescript, IID_IDirectMusicSegment2, (void**) pSegment)))
この結果、IDirectMusicPerformance::PlaySegment メソッドに pSegment を渡せる。
次のコード例に示すように、DirectMusicLoader.LoadSegment またはDirectMusicLoader.LoadSegmentFromResource メソッドを使って、アプリケーションでセグメントを作成する。この例では、セグメントは DirectMusic Producer ファイルからロードされている。
' loader は DirectMusicLoader オブジェクトである。 Dim seg As DirectMusicSegment Set seg = loader.LoadSegment("Sample.sgt")
この結果、DirectMusicPerformance.PlaySegment メソッドに seg を渡せる。