audioscript.h

来自「游戏音频程序设计-Beginning.Game.Audio.Programmin」· C头文件 代码 · 共 76 行

H
76
字号
// AudioScript.h: interface for the CAudioScript class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_AUDIOSCRIPT_H__0DC835E9_E2BE_4CF5_884C_BB27F8FD5076__INCLUDED_)
#define AFX_AUDIOSCRIPT_H__0DC835E9_E2BE_4CF5_884C_BB27F8FD5076__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#pragma warning(disable: 4786)

#include <windows.h>
#include <mmreg.h>

#include <dmusicc.h>
#include <dmusici.h>
#include <dsound.h>
#include "dxutil.h"

#include <string>
#include <vector>

#include "RefCountPtr.h"

namespace AudioEngine {

class CAudioScript;
// smart pointer to CAudioScript
class CAudioScriptPtr : public CRefCountPtr<CAudioScript>
{
public:
  explicit CAudioScriptPtr(CAudioScript* p = NULL);
  void Release();

};

} // namespace

#include "AudioManager.h"

namespace AudioEngine {

class CAudioScript  
{
public:
  friend class CAudioManager;
  CAudioScript(CAudioManager *mgr);
	virtual ~CAudioScript();

	void SetVariable(std::string varname, int value);
  int GetVariable(std::string varname);

  void CallRoutine(std::string procname);

  std::vector<std::string> EnumVariables(); 
  std::vector<std::string> EnumRoutines();

  std::string GetName() { return(m_Name); }

  std::string AssembleErrorInfoString(std::string header, DMUS_SCRIPT_ERRORINFO &errInfo);

protected:
  std::string m_Name;
  void Init(std::string name); // to prevent things other than CAudioManger from initing this.
  CAudioManager *m_Manager;

  IDirectMusicScript8 *m_Script;
  unsigned char *m_OriginalData;
};

} // namespace

#endif // !defined(AFX_AUDIOSCRIPT_H__0DC835E9_E2BE_4CF5_884C_BB27F8FD5076__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?