home *** CD-ROM | disk | FTP | other *** search
/ Game Audio Programming / GameAudioProgramming.iso / Game_Audio / audio_sdk / src / AudioLib / AudioScript.h < prev    next >
C/C++ Source or Header  |  2002-07-01  |  1KB  |  65 lines

  1. /***********************************************************\
  2. Copyright (C) James Boer, 2002. 
  3. All rights reserved worldwide.
  4.  
  5. This software is provided "as is" without express or implied
  6. warranties. You may freely copy and compile this source into
  7. applications you distribute provided that the copyright text
  8. below is included in the resulting source code, for example:
  9. "Portions Copyright (C) James Boer, 2002"
  10. \***********************************************************/
  11. #ifndef AUDIO_SCRIPT_H__
  12. #define AUDIO_SCRIPT_H__
  13.  
  14. #include "Audio.h"
  15.  
  16. struct IDirectMusicScript;
  17.  
  18. namespace Audio
  19. {
  20.  
  21.  
  22. class AudioScript : public IAudioScript
  23. {
  24. DEFINE_POOL(AudioScript);
  25.  
  26. public:
  27.     bool Init(const AudioScriptInit& init);
  28.     void Destroy();
  29.  
  30.     bool IsInitialized() const    {  return m_bInitialized;  }
  31.  
  32.     bool Load();
  33.     bool Unload();
  34.     bool IsLoaded()    const    {  return (m_pScript) ? true : false;  }
  35.  
  36.     bool SetVariable(std::string sVarName, int32 iVal);
  37.     bool GetVariable(std::string sVarName, int32& iVal);
  38.  
  39.     bool CallRoutine(std::string sRoutineName);
  40.  
  41. private:
  42.     AudioScript();
  43.     virtual ~AudioScript();
  44.  
  45.     void Clear();
  46.     void Term();
  47.  
  48. private:
  49.  
  50.     bool                    m_bInitialized;
  51.     AudioScriptInit            m_Init;
  52.  
  53.     IDirectMusicScript*        m_pScript;
  54.  
  55.     // Load and Play status flags
  56.     bool                    m_bQueuePlayback;
  57.     bool                    m_bLoading;
  58.     bool                    m_bLoaded;
  59.  
  60. };
  61.  
  62.  
  63. }; // namespace Audio
  64.  
  65. #endif // AUDIO_SCRIPT_H__