]> git.saurik.com Git - wxWidgets.git/commitdiff
wxWave --> wxSound
authorRobin Dunn <robin@alldunn.com>
Tue, 3 Feb 2004 03:55:05 +0000 (03:55 +0000)
committerRobin Dunn <robin@alldunn.com>
Tue, 3 Feb 2004 03:55:05 +0000 (03:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/demo/Main.py
wxPython/demo/Sound.py [new file with mode: 0644]
wxPython/demo/Wave.py [deleted file]
wxPython/docs/CHANGES.txt
wxPython/docs/MigrationGuide.txt
wxPython/setup.py
wxPython/src/_misc_rename.i
wxPython/src/_sound.i [new file with mode: 0644]
wxPython/src/_wave.i [deleted file]
wxPython/src/misc.i
wxPython/wxPython/misc.py

index 6e446b2c1eef34cf0c737a78262dc634ddb2cc83..52f30c3176bf785d19bedf4e2adfaf02ed72f4a3 100644 (file)
@@ -209,8 +209,8 @@ _treeList = [
         'OGL',
         'PrintFramework',
         'ShapedWindow',
+        'Sound',
         'Unicode',
-        'Wave',
         ]),
 
     # need libs not coming with the demo
diff --git a/wxPython/demo/Sound.py b/wxPython/demo/Sound.py
new file mode 100644 (file)
index 0000000..fde55f7
--- /dev/null
@@ -0,0 +1,59 @@
+
+import  wx
+
+from Main import opj
+
+#----------------------------------------------------------------------
+
+class TestPanel(wx.Panel):
+    def __init__(self, parent):
+        wx.Panel.__init__(self, parent, -1)
+
+        b = wx.Button(self, -1, "Play Sound 1", (25, 25))
+        self.Bind(wx.EVT_BUTTON, self.OnButton1, b)
+
+        b = wx.Button(self, -1, "Play Sound 2", (25, 65))
+        self.Bind(wx.EVT_BUTTON, self.OnButton2, b)
+
+
+    def OnButton1(self, evt):
+        try:
+            sound = wx.Sound(opj('data/anykey.wav'))
+            sound.Play()
+        except NotImplementedError, v:
+            wx.MessageBox(str(v), "Exception Message")
+
+
+    def OnButton2(self, evt):
+        try:
+            sound = wx.Sound(opj('data/plan.wav'))
+            sound.Play()
+        except NotImplementedError, v:
+            wx.MessageBox(str(v), "Exception Message")
+
+#----------------------------------------------------------------------
+
+def runTest(frame, nb, log):
+    win = TestPanel(nb)
+    return win
+
+#----------------------------------------------------------------------
+
+
+overview = """<html><body>
+<h2>Sound</h2>
+This class represents a short wave file, in Windows WAV format, that can 
+be stored in memory and played. Currently this class is implemented on Windows 
+and GTK (Linux) only.
+<p>
+This demo offers two examples, both driven by buttons, but obviously the event
+that drives the playing of the sound can come from anywhere.
+
+</body></html>
+"""
+
+
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])])
diff --git a/wxPython/demo/Wave.py b/wxPython/demo/Wave.py
deleted file mode 100644 (file)
index 8ecd80f..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-
-import  wx
-
-from Main import opj
-
-#----------------------------------------------------------------------
-
-class TestPanel(wx.Panel):
-    def __init__(self, parent):
-        wx.Panel.__init__(self, parent, -1)
-
-        b = wx.Button(self, -1, "Play Sound 1", (25, 25))
-        self.Bind(wx.EVT_BUTTON, self.OnButton1, b)
-
-        b = wx.Button(self, -1, "Play Sound 2", (25, 65))
-        self.Bind(wx.EVT_BUTTON, self.OnButton2, b)
-
-
-    def OnButton1(self, evt):
-        try:
-            wave = wx.Wave(opj('data/anykey.wav'))
-            wave.Play()
-        except NotImplementedError, v:
-            wx.MessageBox(str(v), "Exception Message")
-
-
-    def OnButton2(self, evt):
-        try:
-            wave = wx.Wave(opj('data/plan.wav'))
-            wave.Play()
-        except NotImplementedError, v:
-            wx.MessageBox(str(v), "Exception Message")
-
-#----------------------------------------------------------------------
-
-def runTest(frame, nb, log):
-    win = TestPanel(nb)
-    return win
-
-#----------------------------------------------------------------------
-
-
-overview = """\
-This class represents a short wave file, in Windows WAV format, that can 
-be stored in memory and played. Currently this class is implemented on Windows 
-and GTK (Linux) only.
-
-This demo offers two examples, both driven by buttons, but obviously the event
-that drives the playing of the sound can come from anywhere.
-
-"""
-
-
-if __name__ == '__main__':
-    import sys,os
-    import run
-    run.main(['', os.path.basename(sys.argv[0])])
index 1628f4f375f12c50a63cd1da8b4b7cabadac5d01..086e80c8db811e7d3197cbe7c0462aa5f103711b 100644 (file)
@@ -49,6 +49,8 @@ for the Demo, PyCrust and XRCed) are now top-level items in the disk
 image (.dmg file) that users can just drag and drop to wherever they
 want to put them.
 
+The wxWave class has been renamed to wxSound, and now has a slightly
+different API.
 
 
 
index 8e5da9fe2e8b84751a7591e4c5d84fc35ff72fb3..c72791595063340f3055a9b4df774b306e204ff0 100644 (file)
@@ -414,3 +414,6 @@ wxPyTypeCast at all.
 
 If you use the old wxPython package and wxPython.wx namespace then
 there are compatibility aliases for much of the above items.
+
+The wxWave class has been renamed to wxSound, and now has a slightly
+different API.
index 8bb5d32347641e67d60a3b38a5731156c1e8e64e..4f76390489f70d0688b6714e97632c1b0fd6dda7 100755 (executable)
@@ -830,7 +830,7 @@ swig_sources = run_swig(['misc.i'], 'src', GENDIR, PKGDIR,
                           'src/_misc.i',          'src/_tipdlg.i',
                           'src/_timer.i',         'src/_log.i',
                           'src/_process.i',       'src/_joystick.i',
-                          'src/_wave.i',          'src/_mimetype.i',
+                          'src/_sound.i',         'src/_mimetype.i',
                           'src/_artprov.i',       'src/_config.i',
                           'src/_datetime.i',      'src/_dataobj.i',
                           'src/_dnd.i',
index 72ba1d43c2318d6953d8bd7984e38d6978d02f24..6c1f89f71344a70229f31b36788a81d7dd905c99 100644 (file)
 %rename(JOY_BUTTON4)                        wxJOY_BUTTON4;
 %rename(Joystick)                           wxJoystick;
 %rename(JoystickEvent)                      wxJoystickEvent;
-%rename(Wave)                               wxWave;
+%rename(SOUND_SYNC)                         wxSOUND_SYNC;
+%rename(SOUND_ASYNC)                        wxSOUND_ASYNC;
+%rename(SOUND_LOOP)                         wxSOUND_LOOP;
+%rename(Sound)                              wxSound;
 %rename(MAILCAP_STANDARD)                   wxMAILCAP_STANDARD;
 %rename(MAILCAP_NETSCAPE)                   wxMAILCAP_NETSCAPE;
 %rename(MAILCAP_KDE)                        wxMAILCAP_KDE;
diff --git a/wxPython/src/_sound.i b/wxPython/src/_sound.i
new file mode 100644 (file)
index 0000000..b26dbd8
--- /dev/null
@@ -0,0 +1,109 @@
+/////////////////////////////////////////////////////////////////////////////
+// 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 <wx/sound.h>
+%}    
+
+//---------------------------------------------------------------------------
+
+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() }
+};
+
+
+
+
+//---------------------------------------------------------------------------
diff --git a/wxPython/src/_wave.i b/wxPython/src/_wave.i
deleted file mode 100644 (file)
index 994ccfb..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name:        _joystick.i
-// Purpose:     SWIG interface stuff for wxWave
-//
-// 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 <wx/wave.h>
-%}    
-
-//---------------------------------------------------------------------------
-
-%{
-#if !wxUSE_SOUND
-// A C++ stub class for wxWave for platforms that don't have it.
-class wxWave : public wxObject
-{
-public:
-    wxWave(const wxString& fileName, bool isResource = False) {
-        wxPyBeginBlockThreads();
-        PyErr_SetString(PyExc_NotImplementedError,
-                        "wxWave is not available on this platform.");
-        wxPyEndBlockThreads();
-    }
-    wxWave(int size, const wxByte* data) {
-        wxPyBeginBlockThreads();
-        PyErr_SetString(PyExc_NotImplementedError,
-                        "wxWave is not available on this platform.");
-        wxPyEndBlockThreads();
-    }
-
-    ~wxWave() {}
-
-    bool  IsOk() const { return False; }
-    bool  Play(bool async = True, bool looped = False) const { return False; }
-};
-
-#endif
-%}
-
-
-
-class wxWave /*: public wxObject*/
-{
-public:
-    wxWave(const wxString& fileName, bool isResource = False);
-    %extend {
-        %name(WaveData) wxWave(const wxString& data) {
-            return new wxWave(data.Len(), (wxByte*)data.c_str());
-        }
-    }
-        
-    ~wxWave();
-
-    bool  IsOk() const;
-    bool  Play(bool async = True, bool looped = False);
-
-    %pythoncode { def __nonzero__(self): return self.IsOk() }
-};
-
-
-
-
-//---------------------------------------------------------------------------
index 41ea0d02edb476be0430fb09bd65532b651c9f66..84fb2092ba4e5720b0683615386e384a6886cf46 100644 (file)
@@ -42,7 +42,7 @@ MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
 %include _log.i
 %include _process.i
 %include _joystick.i
-%include _wave.i
+%include _sound.i
 %include _mimetype.i
 %include _artprov.i
 %include _config.i
index cf6f122a52e1be62c1aa581849436e40ff448819..9276110bfb5f17f4a951b5bf50640d94e6787e23 100644 (file)
@@ -355,9 +355,13 @@ wxEVT_JOY_MOVE = wx.misc.wxEVT_JOY_MOVE
 wxEVT_JOY_ZMOVE = wx.misc.wxEVT_JOY_ZMOVE
 wxJoystickEvent = wx.misc.JoystickEvent
 wxJoystickEventPtr = wx.misc.JoystickEventPtr
-wxWave = wx.misc.Wave
-wxWavePtr = wx.misc.WavePtr
-wxWaveData = wx.misc.WaveData
+wxSOUND_SYNC = wx.misc.SOUND_SYNC
+wxSOUND_ASYNC = wx.misc.SOUND_ASYNC
+wxSOUND_LOOP = wx.misc.SOUND_LOOP
+wxSound = wx.misc.Sound
+wxSoundPtr = wx.misc.SoundPtr
+wxSound_PlaySound = wx.misc.Sound_PlaySound
+wxSound_Stop = wx.misc.Sound_Stop
 wxMAILCAP_STANDARD = wx.misc.MAILCAP_STANDARD
 wxMAILCAP_NETSCAPE = wx.misc.MAILCAP_NETSCAPE
 wxMAILCAP_KDE = wx.misc.MAILCAP_KDE