#ifndef _WX_WAVE_H_
#define _WX_WAVE_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "wave.h"
#endif
#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;
};