///////////////////////////////////////////////////////////////////////////// // Name: _sound.i // Purpose: SWIG interface stuff for wxSound // // Author: Robin Dunn // // Created: 18-June-1999 // RCS-ID: $Id$ // Copyright: (c) 2003 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// // Not a %module //--------------------------------------------------------------------------- %newgroup %{ #include %} //--------------------------------------------------------------------------- enum wxSoundFlags { wxSOUND_SYNC = 0, wxSOUND_ASYNC = 1, wxSOUND_LOOP = 2 }; %{ #if !wxUSE_SOUND // A C++ stub class for wxWave for platforms that don't have it. class wxSound : public wxObject { public: wxSound() { wxPyBeginBlockThreads(); PyErr_SetString(PyExc_NotImplementedError, "wxSound is not available on this platform."); wxPyEndBlockThreads(); } wxSound(const wxString&, bool) { wxPyBeginBlockThreads(); PyErr_SetString(PyExc_NotImplementedError, "wxSound is not available on this platform."); wxPyEndBlockThreads(); } wxSound(int, const wxByte*) { wxPyBeginBlockThreads(); PyErr_SetString(PyExc_NotImplementedError, "wxSound is not available on this platform."); wxPyEndBlockThreads(); } ~wxSound() {}; bool Create(const wxString&, bool) { return false; } bool Create(int, const wxByte*) { return false; }; bool IsOk() { return false; }; bool Play(unsigned) const { return false; } static bool Play(const wxString&, unsigned) { return false; } static void Stop() {} }; #endif %} class wxSound /*: public wxObject*/ { public: %nokwargs wxSound; wxSound(); wxSound(const wxString& fileName, bool isResource = false); wxSound(int size, const wxByte* data); ~wxSound(); %nokwargs Create; %nokwargs Play; // Create from resource or file bool Create(const wxString& fileName, bool isResource = false); // Create from data bool Create(int size, const wxByte* data); bool IsOk(); // Play the sound: bool Play(unsigned flags = wxSOUND_ASYNC) const; // Plays sound from filename: %name(PlaySound)static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC); static void Stop(); %pythoncode { def __nonzero__(self): return self.IsOk() } }; //---------------------------------------------------------------------------