]> 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',
         'OGL',
         'PrintFramework',
         'ShapedWindow',
+        'Sound',
         'Unicode',
         'Unicode',
-        'Wave',
         ]),
 
     # need libs not coming with the demo
         ]),
 
     # 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.
 
 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.
 
 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/_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',
                           '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(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;
 %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 _log.i
 %include _process.i
 %include _joystick.i
-%include _wave.i
+%include _sound.i
 %include _mimetype.i
 %include _artprov.i
 %include _config.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
 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
 wxMAILCAP_STANDARD = wx.misc.MAILCAP_STANDARD
 wxMAILCAP_NETSCAPE = wx.misc.MAILCAP_NETSCAPE
 wxMAILCAP_KDE = wx.misc.MAILCAP_KDE