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; }
75 MustHaveApp(wxSound::Play);
76 MustHaveApp(wxSound::Stop);
78 class wxSound /*: public wxObject*/
82 wxSound(const wxString& fileName = wxPyEmptyString /*, bool isResource = false*/) {
83 if (fileName.Length() == 0)
86 return new wxSound(fileName);
88 %name(SoundFromData) wxSound(PyObject* data) {
89 unsigned char* buffer; int size;
90 wxSound *sound = NULL;
92 bool blocked = wxPyBeginBlockThreads();
93 if (!PyArg_Parse(data, "t#", &buffer, &size))
95 sound = new wxSound(size, buffer);
97 wxPyEndBlockThreads(blocked);
105 // Create from resource or file
106 bool Create(const wxString& fileName/*, bool isResource = false*/);
109 bool CreateFromData(PyObject* data) {
111 unsigned char* buffer;
115 bool blocked = wxPyBeginBlockThreads();
116 if (!PyArg_Parse(data, "t#", &buffer, &size))
118 rv = self->Create(size, buffer);
120 wxPyEndBlockThreads(blocked);
123 bool blocked = wxPyBeginBlockThreads();
124 PyErr_SetString(PyExc_NotImplementedError,
125 "Create from data is not available on this platform.");
126 wxPyEndBlockThreads(blocked);
135 bool Play(unsigned flags = wxSOUND_ASYNC) const;
137 // Plays sound from filename:
138 %name(PlaySound) static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
145 { wxPyRaiseNotImplemented(); }
149 %pythoncode { def __nonzero__(self): return self.IsOk() }
155 //---------------------------------------------------------------------------