Microsoft DirectX 8.0 (C++) |
スクリプトは、DirectMusic Producer など、スクリプト エディタを含むアプリケーションでオーサリングされたオブジェクトである。スクリプトは主にテキストで構成されるが、スクリプト オブジェクトにはいくつかのバイナリ パラメータも含まれている。
概要については、「オーディオ スクリプト」を参照すること。
スクリプトは、IDirectMusicLoader8::GetObject メソッドを使ってロードする。IDirectMusicScript8 インターフェイスを取得し、IDirectMusicScript8::Init を呼び出して、スクリプトをパフォーマンスに関連付ける。
次のコードでは、スクリプトをロードして初期化している。m_pLoader は IDirectMusicLoader8 インターフェイスで、m_PPerformance は IDirectMusicPerformance8 インターフェイスであり、wstrFileName にはファイルの名前が格納されているとする。
IDirectMusicScript8* pScript = NULL; DMUS_SCRIPT_ERRORINFO errInfo; HRESULT hr; if (SUCCEEDED(hr = m_pLoader->LoadObjectFromFile( CLSID_DirectMusicScript, IID_IDirectMusicScript8, wstrFileName, (LPVOID*) &pScript))) { hr = pScript->Init( m_pPerformance, &errInfo); }
Init を除いて、IDirectMusicScript8 のメソッドには、3 つの主な目的がある。
列挙メソッドを除く、IDirectMusicScript8 のすべてのメソッドは、DMUS_SCRIPT_ERRORINFO 構造体からエラー情報を取得する。変数が見つからなかった場合や、ルーチン内のコードが実行できなかった場合は、エラーが発生する可能性がある。
スクリプトは、アプリケーションで直接ロードまたは呼び出しを行わなくても使用できる。DirectMusic Producer で作成するセグメントにスクリプト トラックを含めて、スクリプト内のルーチンの呼び出しをトリガすることができる。