]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/wave.cpp
Added chapter on collection and container classes to contents
[wxWidgets.git] / src / gtk / wave.cpp
index 0801a936632ffa5a228cc445cf79e9c3a5f47f0a..382c1db09b3b5995657b359473deb2c6d5eb31b8 100644 (file)
 #pragma implementation "wave.h"
 #endif
 
+#include "wx/setup.h"
+
+#if wxUSE_WAVE
+
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 //-----------------------------------------------------------------
 
 wxWave::wxWave()
-  : m_waveLength(0), m_isResource(FALSE), m_waveData(NULL)
+  : m_waveData(NULL), m_waveLength(0), m_isResource(FALSE)
 {
 }
 
 wxWave::wxWave(const wxString& sFileName, bool isResource)
-  : m_waveLength(0), m_isResource(isResource), m_waveData(NULL)
+  : m_waveData(NULL), m_waveLength(0), m_isResource(isResource)
 {
     Create(sFileName, isResource);
 }
 
 wxWave::wxWave(int size, const wxByte* data)
-  : m_waveLength(0), m_isResource(FALSE), m_waveData(NULL)
+  : m_waveData(NULL), m_waveLength(0), m_isResource(FALSE)
 {
     Create(size, data);
 }
@@ -165,7 +169,6 @@ typedef  struct
 
 int wxWave::OpenDSP(void)
 {
-  wxString str;
   WAVEFORMAT  waveformat;
   int dev=-1;
   unsigned long ul;
@@ -175,14 +178,14 @@ int wxWave::OpenDSP(void)
 
   memcpy(&waveformat,&m_waveData[FMT_INDEX+4],sizeof(WAVEFORMAT));
 
-  str= wxString(m_waveData,4);
-  if (str != "RIFF")    return -1;
-  str= wxString(&m_waveData[WAVE_INDEX],4);
-  if (str != "WAVE")    return -1;
-  str= wxString(&m_waveData[FMT_INDEX],4);
-  if (str != "fmt ")    return -1;
-  str= wxString(&m_waveData[FMT_INDEX+waveformat.uiSize+8],4);
-  if(str != "data")     return -1;
+  if (memcmp(m_waveData, "RIFF", 4) != 0)
+    return -1;
+  if (memcmp(&m_waveData[WAVE_INDEX], "WAVE", 4) != 0)
+    return -1;
+  if (memcmp(&m_waveData[FMT_INDEX], "fmt ", 4) != 0)
+    return -1;
+  if (memcmp(&m_waveData[FMT_INDEX+waveformat.uiSize+8], "data", 4) != 0)
+    return -1;
   memcpy(&ul,&m_waveData[FMT_INDEX+waveformat.uiSize+12],4);
   m_sizeData=ul;
   if ((int)(m_sizeData+FMT_INDEX+waveformat.uiSize+16) != m_waveLength)
@@ -221,4 +224,5 @@ bool wxWave::InitDSP(int dev, int iDataBits, int iChannel,unsigned long ulSampli
   
   return TRUE;
 }
+#endif