DirectMusic DirectMusic 의 사용법 오디오 스크립트의 사용법   [목차열람] [주소복사] [슬롯비우기]
오디오 스크립트의 사용법
 
Microsoft DirectX 9.0

오디오 스크립트의 사용법

스크립트는, DirectMusic Producer 로 오쏘링 된 변수와 루틴의 콜렉션이다. 스크립트는 주로 텍스트로 구성되지만, 스크립트에는 바이너리 파라미터도 몇개인가 포함되어 있다. 개념에 대해서는, 「오디오 스크립트」를 참조할것.

IDirectMusicLoader8::GetObject 메서드를 사용해 스크립트를 로드한다. IDirectMusicScript8 인터페이스를 취득해,IDirectMusicScript8::Init 를 호출해, 스크립트를 퍼포먼스에 관련짓는다.

다음 샘플 함수에서는, 스크립트를 로드해 초기화하고 있다.

HRESULT LoadScript(IDirectMusicPerformance8 * pPerf, 
                                IDirectMusicLoader8* pLoader, 
                                WCHAR* wstrFileName,
                                IDirectMusicScript8** ppScript)
{
  DMUS_SCRIPT_ERRORINFO errInfo;
  HRESULT hr;
 
  if ((NULL == pPerf) || (NULL == pLoader))
  {
    return E_INVALIDARG;
  }
  if (SUCCEEDED(hr = pLoader->LoadObjectFromFile( 
    CLSID_DirectMusicScript, IID_IDirectMusicScript8,
    wstrFileName, (LPVOID*) ppScript)))
  {
    if (FAILED(hr = (*ppScript) ->Init(pPerf, &errInfo)))
    {
      (*ppScript) ->Release();
    }
  }
  return hr;
}

Init 를 제외해,IDirectMusicScript8 의 메서드에는, 3 개의 주된 목적이 있다.

열거 메서드를 제외한 IDirectMusicScript8의 모든 메서드는,DMUS_SCRIPT_ERRORINFO 구조체로부터 에러 정보를 얻어온다. 변수가 발견되지 않는 경우나, 루틴내의 코드를 실행할 수 없는 경우는, 에러가 발생할 가능성이 있다.

스크립트는, 애플리케이션으로 직접 로드하거나 호출하거나 하지 않아도 사용할 수 있다. DirectMusic Producer 로 오쏘링 하는 세그먼트(segment)에는, 스크립트내의 루틴의 호출을 방아쇠 하는 스크립트 트랙을 포함할 수가 있다.

↑TOP