home *** CD-ROM | disk | FTP | other *** search
/ Game Audio Programming / GameAudioProgramming.iso / Game_Audio / audio_sdk / src / AudioLib / DLS.h < prev    next >
C/C++ Source or Header  |  2002-07-01  |  1KB  |  57 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 __DLS_H
  12. #define __DLS_H
  13.  
  14. #include "Audio.h"
  15. #include "FileStream.h"
  16.  
  17. struct IDirectMusicCollection;
  18.  
  19. namespace Audio
  20. {
  21.  
  22. class DLS : public IDLS
  23. {
  24. DEFINE_POOL(DLS);
  25. public:
  26.  
  27.     bool Init(const DLSInit& init);
  28.     void Destroy();
  29.  
  30.     bool IsInitialized() const    {  return m_bInitialized;  }
  31.     bool Lock();
  32.     bool Unlock();
  33.  
  34.     bool IsLoaded()    const    {  return (m_pCollection) ? true : false;  }
  35.     
  36. private:
  37.     DLS();
  38.     virtual ~DLS();
  39.     IDirectMusicCollection* Obj()
  40.     {  return m_pCollection;  }
  41.  
  42.     void Clear();
  43.     void Term();
  44.     bool Load();
  45.     bool Unload();
  46.  
  47.  
  48.     bool                        m_bInitialized;
  49.     IDirectMusicCollection*        m_pCollection; 
  50.     DLSInit                        m_Init;
  51.     int32                        m_iRefCount;
  52. };
  53.  
  54. }; // namespace Audio
  55.  
  56.  
  57. #endif // __DLS_H