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(PyObject* data) {
85 unsigned char* buffer; int size;
86 wxSound *sound = NULL;
88 bool blocked = wxPyBeginBlockThreads();
89 if (!PyArg_Parse(data, "t#", &buffer, &size))
91 sound = new wxSound(size, buffer);
93 wxPyEndBlockThreads(blocked);
103 // Create from resource or file
104 bool Create(const wxString& fileName/*, bool isResource = false*/);
107 bool CreateFromData(PyObject* data) {
109 unsigned char* buffer;
113 bool blocked = wxPyBeginBlockThreads();
114 if (!PyArg_Parse(data, "t#", &buffer, &size))
116 rv = self->Create(size, buffer);
118 wxPyEndBlockThreads(blocked);
121 bool blocked = wxPyBeginBlockThreads();
122 PyErr_SetString(PyExc_NotImplementedError,
123 "Create from data is not available on this platform.");
124 wxPyEndBlockThreads(blocked);
133 bool Play(unsigned flags = wxSOUND_ASYNC) const;
135 // Plays sound from filename:
136 %name(PlaySound) static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
143 { wxPyRaiseNotImplemented(); }
147 %pythoncode { def __nonzero__(self): return self.IsOk() }
153 //---------------------------------------------------------------------------