disable use of #pragma interface under Mac OS X
[wxWidgets.git] / include / wx / mac / wave.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wave.h
3 // Purpose: wxWave class (loads and plays short Windows .wav files).
4 // Optional on non-Windows platforms.
5 // Author: AUTHOR
6 // Modified by:
7 // Created: ??/??/98
8 // RCS-ID: $Id$
9 // Copyright: (c) AUTHOR
10 // Licence: wxWindows licence
11 /////////////////////////////////////////////////////////////////////////////
12
13 #ifndef _WX_WAVE_H_
14 #define _WX_WAVE_H_
15
16 #if defined(__GNUG__) && !defined(__APPLE__)
17 #pragma interface "wave.h"
18 #endif
19
20 #include "wx/object.h"
21
22 class WXDLLEXPORT wxWave : public wxObject
23 {
24 public:
25 wxWave();
26 wxWave(const wxString& fileName, bool isResource = FALSE);
27 wxWave(int size, const wxByte* data);
28 ~wxWave();
29
30 public:
31 bool Create(const wxString& fileName, bool isResource = FALSE);
32 bool IsOk() const { return !m_sndname.IsEmpty(); }
33 bool Play(bool async = TRUE, bool looped = FALSE) const;
34
35 protected:
36 // prevent collision with some BSD definitions of macro Free()
37 bool FreeData();
38
39 private:
40 void* m_sndChan;
41
42 wxString m_sndname;
43 void* m_hSnd;
44 int m_waveLength;
45 bool m_isResource;
46 };
47
48 #endif
49 // _WX_WAVE_H_