⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audioscript.h

📁 游戏音频程序设计-Beginning.Game.Audio.Programming
💻 H
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -