Platform SDK: DirectX

オーサリングされたセグメントの使い方

オーサリングされたセグメントは、音楽のピースのデータをすべて含むファイルまたはリソースである。このセグメントは、MIDI ファイルか、スタイルおよびコード マップに基づいて作成することができる。単純な MIDI ファイルやリソースと異なり、バンド チェンジやバリエーションを含めることができる。

 :  同様に、テンプレートもオーサリングされたセグメントであるが、これは音楽の組み込みピースを表すものではない。詳細については、「テンプレートの使い方」を参照すること。

[C++]

次のコード例に示すように、セグメントをオブジェクトとしてロードし、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 を渡せる。

[Visual Basic]

次のコード例に示すように、DirectMusicLoader.LoadSegment またはDirectMusicLoader.LoadSegmentFromResource メソッドを使って、アプリケーションでセグメントを作成する。この例では、セグメントは DirectMusic Producer ファイルからロードされている。

' loader は DirectMusicLoader オブジェクトである。
Dim seg As DirectMusicSegment
Set seg = loader.LoadSegment("Sample.sgt")

この結果、DirectMusicPerformance.PlaySegment メソッドに seg を渡せる。