]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/wave.h
include "ToolUtils.h" for LoWord and friends
[wxWidgets.git] / include / wx / mac / wave.h
index e55bd5aa5f4a220c725c37df5ca76fd28a309e12..9a9c17ca5f2030e2fd4d90345ad517d4a060c7eb 100644 (file)
@@ -2,43 +2,51 @@
 // Name:        wave.h
 // Purpose:     wxWave class (loads and plays short Windows .wav files).
 //              Optional on non-Windows platforms.
-// Author:      AUTHOR
+// Author:      Stefan Csomor
 // Modified by:
-// Created:     ??/??/98
+// Created:     1998-01-01
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
-// Licence:    wxWindows licence
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_WAVE_H_
 #define _WX_WAVE_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "wave.h"
 #endif
 
+#if wxUSE_WAVE
+
 #include "wx/object.h"
 
-class wxWave : public wxObject
+class WXDLLEXPORT wxWave : public wxObject
 {
 public:
   wxWave();
   wxWave(const wxString& fileName, bool isResource = FALSE);
+  wxWave(int size, const wxByte* data);
   ~wxWave();
 
 public:
   bool  Create(const wxString& fileName, bool isResource = FALSE);
-  bool  IsOk() const { return (m_waveData ? TRUE : FALSE); };
+  bool  IsOk() const { return !m_sndname.IsEmpty(); }
   bool  Play(bool async = TRUE, bool looped = FALSE) const;
 
 protected:
-  bool  Free();
+  // prevent collision with some BSD definitions of macro Free()
+  bool  FreeData();
 
 private:
-  char* m_waveData;
+  void* m_sndChan;
+
+  wxString m_sndname;
+  void* m_hSnd;
   int   m_waveLength;
   bool  m_isResource;
 };
 
+#endif
 #endif
     // _WX_WAVE_H_