1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG interface stuff for wxSound
7 // Created: 18-June-1999
9 // Copyright: (c) 2003 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
16 //---------------------------------------------------------------------------
23 //---------------------------------------------------------------------------
36 // A C++ stub class for wxWave for platforms that don't have it.
37 class wxSound : public wxObject
41 bool blocked = wxPyBeginBlockThreads();
42 PyErr_SetString(PyExc_NotImplementedError,
43 "wxSound is not available on this platform.");
44 wxPyEndBlockThreads(blocked);
46 wxSound(const wxString&/*, bool*/) {
47 bool blocked = wxPyBeginBlockThreads();
48 PyErr_SetString(PyExc_NotImplementedError,
49 "wxSound is not available on this platform.");
50 wxPyEndBlockThreads(blocked);
52 wxSound(int, const wxByte*) {
53 bool blocked = wxPyBeginBlockThreads();
54 PyErr_SetString(PyExc_NotImplementedError,
55 "wxSound is not available on this platform.");
56 wxPyEndBlockThreads(blocked);
61 bool Create(const wxString&/*, bool*/) { return false; }
62 bool Create(int, const wxByte*) { return false; };
63 bool IsOk() { return false; };
64 bool Play(unsigned) const { return false; }
65 static bool Play(const wxString&, unsigned) { return false; }
74 class wxSound /*: public wxObject*/
78 wxSound(const wxString& fileName = wxPyEmptyString /*, bool isResource = false*/) {
79 if (fileName.Length() == 0)
82 return new wxSound(fileName);
84 %name(SoundFromData) wxSound(const wxMemoryBuffer& data) {
85 return new wxSound((int)data.GetDataLen(), (wxByte*)data.GetData());
94 // Create from resource or file
95 bool Create(const wxString& fileName/*, bool isResource = false*/);
98 bool CreateFromData(const wxMemoryBuffer& data) {
100 return self->Create((int)data.GetDataLen(), (wxByte*)data.GetData());
102 bool blocked = wxPyBeginBlockThreads();
103 PyErr_SetString(PyExc_NotImplementedError,
104 "Create from data is not available on this platform.");
105 wxPyEndBlockThreads(blocked);
114 bool Play(unsigned flags = wxSOUND_ASYNC) const;
116 // Plays sound from filename:
117 %name(PlaySound) static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
124 { wxPyRaiseNotImplemented(); }
128 %pythoncode { def __nonzero__(self): return self.IsOk() }
134 //---------------------------------------------------------------------------