home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / XenonSource.exe / gamesystem / source / gs_sample.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2000-07-07  |  1.2 KB  |  66 lines

  1. //-------------------------------------------------------------
  2. //
  3. // Class:    gsCSample
  4. //
  5. // Author:    John M Phillips
  6. //
  7. // Started:    12/03/00
  8. //
  9. // Base:    gsCObject
  10. //
  11. // Derived:    None
  12. //
  13. //-------------------------------------------------------------
  14.  
  15. #include "gamesystem.h"
  16.  
  17. //-------------------------------------------------------------
  18.  
  19. gsCSample::gsCSample()
  20. {
  21.     m_handle = 0;
  22.     m_buffer = 0;
  23.     m_size = 0;
  24. }
  25.  
  26. //-------------------------------------------------------------
  27.  
  28. gsCSample::~gsCSample()
  29. {
  30.     if (m_handle)
  31.         BASS_SampleFree(m_handle);
  32.  
  33.     if (m_buffer)
  34.         delete [] m_buffer;
  35. }
  36.  
  37. //-------------------------------------------------------------
  38.  
  39. bool gsCSample::load(const char *filename)
  40. {
  41.     gsCFile file;
  42.  
  43.     if (!file.open(filename))
  44.         return false;
  45.  
  46.     m_size = file.getLength();
  47.     m_buffer = new gsUBYTE[m_size];
  48.  
  49.     file.read(m_buffer,m_size);
  50.  
  51.     m_handle = BASS_SampleLoad(TRUE,m_buffer,0,m_size,3,BASS_SAMPLE_OVER_POS | BASS_SAMPLE_MONO);
  52.  
  53.     file.close();
  54.  
  55.     return true;
  56. }
  57.  
  58. //-------------------------------------------------------------
  59.  
  60. HSAMPLE gsCSample::getHandle()
  61. {
  62.     return m_handle;
  63. }
  64.  
  65. //-------------------------------------------------------------
  66.