]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_sound.i
Apply parts of patch #1719888 to fix compilation on Mac and with
[wxWidgets.git] / wxPython / src / _sound.i
index 2339bb2cecdbc7c99e404a811635ae14405610d0..bed230c51cc2e57dc6aca5b925b236b6d03f7578 100644 (file)
@@ -24,9 +24,9 @@
 
 enum wxSoundFlags
 {
-    wxSOUND_SYNC   = 0,
-    wxSOUND_ASYNC  = 1,
-    wxSOUND_LOOP   = 2
+    wxSOUND_SYNC,
+    wxSOUND_ASYNC,
+    wxSOUND_LOOP
 };
 
 
@@ -38,19 +38,19 @@ class wxSound : public wxObject
 {
 public:
     wxSound() {
-        bool blocked = wxPyBeginBlockThreads();
+        wxPyBlock_t blocked = wxPyBeginBlockThreads();
         PyErr_SetString(PyExc_NotImplementedError,
                         "wxSound is not available on this platform.");
         wxPyEndBlockThreads(blocked);
     }
     wxSound(const wxString&/*, bool*/) {
-        bool blocked = wxPyBeginBlockThreads();
+        wxPyBlock_t blocked = wxPyBeginBlockThreads();
         PyErr_SetString(PyExc_NotImplementedError,
                         "wxSound is not available on this platform.");
         wxPyEndBlockThreads(blocked);
     }
     wxSound(int, const wxByte*) {
-        bool blocked = wxPyBeginBlockThreads();
+        wxPyBlock_t blocked = wxPyBeginBlockThreads();
         PyErr_SetString(PyExc_NotImplementedError,
                         "wxSound is not available on this platform.");
         wxPyEndBlockThreads(blocked);
@@ -71,6 +71,10 @@ public:
 
 
 
+MustHaveApp(wxSound);
+MustHaveApp(wxSound::Play);
+MustHaveApp(wxSound::Stop);
+
 class wxSound /*: public wxObject*/
 {
 public:
@@ -81,11 +85,12 @@ public:
             else
                 return new wxSound(fileName);
         }
-        %name(SoundFromData) wxSound(PyObject* data) {
+        %RenameCtor(SoundFromData,  wxSound(PyObject* data))
+        {
             unsigned char* buffer; int size;
             wxSound *sound = NULL;
 
-            bool blocked = wxPyBeginBlockThreads();
+            wxPyBlock_t blocked = wxPyBeginBlockThreads();
             if (!PyArg_Parse(data, "t#", &buffer, &size))
                 goto done;
             sound = new wxSound(size, buffer);
@@ -106,9 +111,9 @@ public:
         %#ifndef __WXMAC__
             unsigned char* buffer;
             int size;
-            bool rv = False;
+            bool rv = false;
 
-            bool blocked = wxPyBeginBlockThreads();
+            wxPyBlock_t blocked = wxPyBeginBlockThreads();
             if (!PyArg_Parse(data, "t#", &buffer, &size))
                 goto done;
             rv = self->Create(size, buffer);
@@ -116,11 +121,11 @@ public:
             wxPyEndBlockThreads(blocked);
             return rv;
         %#else
-                 bool blocked = wxPyBeginBlockThreads();
+                 wxPyBlock_t blocked = wxPyBeginBlockThreads();
                  PyErr_SetString(PyExc_NotImplementedError,
                                  "Create from data is not available on this platform.");
                  wxPyEndBlockThreads(blocked);
-                 return False;
+                 return false;
         %#endif
         }
     }
@@ -131,16 +136,9 @@ public:
     bool Play(unsigned flags = wxSOUND_ASYNC) const;
 
     // Plays sound from filename:
-    %name(PlaySound) static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
+    %Rename(PlaySound,  static bool, Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC));
 
-#ifndef __WXMAC__
     static void Stop();
-#else
-    %extend {
-        static void Stop()
-            { wxPyRaiseNotImplemented(); }
-    }
-#endif
 
     %pythoncode { def __nonzero__(self): return self.IsOk() }
 };