wxWave --> wxSound
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -209,8 +209,8 @@ _treeList = [
|
|||||||
'OGL',
|
'OGL',
|
||||||
'PrintFramework',
|
'PrintFramework',
|
||||||
'ShapedWindow',
|
'ShapedWindow',
|
||||||
|
'Sound',
|
||||||
'Unicode',
|
'Unicode',
|
||||||
'Wave',
|
|
||||||
]),
|
]),
|
||||||
|
|
||||||
# need libs not coming with the demo
|
# need libs not coming with the demo
|
||||||
|
@@ -18,16 +18,16 @@ class TestPanel(wx.Panel):
|
|||||||
|
|
||||||
def OnButton1(self, evt):
|
def OnButton1(self, evt):
|
||||||
try:
|
try:
|
||||||
wave = wx.Wave(opj('data/anykey.wav'))
|
sound = wx.Sound(opj('data/anykey.wav'))
|
||||||
wave.Play()
|
sound.Play()
|
||||||
except NotImplementedError, v:
|
except NotImplementedError, v:
|
||||||
wx.MessageBox(str(v), "Exception Message")
|
wx.MessageBox(str(v), "Exception Message")
|
||||||
|
|
||||||
|
|
||||||
def OnButton2(self, evt):
|
def OnButton2(self, evt):
|
||||||
try:
|
try:
|
||||||
wave = wx.Wave(opj('data/plan.wav'))
|
sound = wx.Sound(opj('data/plan.wav'))
|
||||||
wave.Play()
|
sound.Play()
|
||||||
except NotImplementedError, v:
|
except NotImplementedError, v:
|
||||||
wx.MessageBox(str(v), "Exception Message")
|
wx.MessageBox(str(v), "Exception Message")
|
||||||
|
|
||||||
@@ -40,14 +40,16 @@ def runTest(frame, nb, log):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
overview = """\
|
overview = """<html><body>
|
||||||
|
<h2>Sound</h2>
|
||||||
This class represents a short wave file, in Windows WAV format, that can
|
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
|
be stored in memory and played. Currently this class is implemented on Windows
|
||||||
and GTK (Linux) only.
|
and GTK (Linux) only.
|
||||||
|
<p>
|
||||||
This demo offers two examples, both driven by buttons, but obviously the event
|
This demo offers two examples, both driven by buttons, but obviously the event
|
||||||
that drives the playing of the sound can come from anywhere.
|
that drives the playing of the sound can come from anywhere.
|
||||||
|
|
||||||
|
</body></html>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@@ -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
|
image (.dmg file) that users can just drag and drop to wherever they
|
||||||
want to put them.
|
want to put them.
|
||||||
|
|
||||||
|
The wxWave class has been renamed to wxSound, and now has a slightly
|
||||||
|
different API.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -414,3 +414,6 @@ wxPyTypeCast at all.
|
|||||||
|
|
||||||
If you use the old wxPython package and wxPython.wx namespace then
|
If you use the old wxPython package and wxPython.wx namespace then
|
||||||
there are compatibility aliases for much of the above items.
|
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.
|
||||||
|
@@ -830,7 +830,7 @@ swig_sources = run_swig(['misc.i'], 'src', GENDIR, PKGDIR,
|
|||||||
'src/_misc.i', 'src/_tipdlg.i',
|
'src/_misc.i', 'src/_tipdlg.i',
|
||||||
'src/_timer.i', 'src/_log.i',
|
'src/_timer.i', 'src/_log.i',
|
||||||
'src/_process.i', 'src/_joystick.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/_artprov.i', 'src/_config.i',
|
||||||
'src/_datetime.i', 'src/_dataobj.i',
|
'src/_datetime.i', 'src/_dataobj.i',
|
||||||
'src/_dnd.i',
|
'src/_dnd.i',
|
||||||
|
@@ -259,7 +259,10 @@
|
|||||||
%rename(JOY_BUTTON4) wxJOY_BUTTON4;
|
%rename(JOY_BUTTON4) wxJOY_BUTTON4;
|
||||||
%rename(Joystick) wxJoystick;
|
%rename(Joystick) wxJoystick;
|
||||||
%rename(JoystickEvent) wxJoystickEvent;
|
%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_STANDARD) wxMAILCAP_STANDARD;
|
||||||
%rename(MAILCAP_NETSCAPE) wxMAILCAP_NETSCAPE;
|
%rename(MAILCAP_NETSCAPE) wxMAILCAP_NETSCAPE;
|
||||||
%rename(MAILCAP_KDE) wxMAILCAP_KDE;
|
%rename(MAILCAP_KDE) wxMAILCAP_KDE;
|
||||||
|
109
wxPython/src/_sound.i
Normal file
109
wxPython/src/_sound.i
Normal file
@@ -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() }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
@@ -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() }
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
|
@@ -42,7 +42,7 @@ MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
|
|||||||
%include _log.i
|
%include _log.i
|
||||||
%include _process.i
|
%include _process.i
|
||||||
%include _joystick.i
|
%include _joystick.i
|
||||||
%include _wave.i
|
%include _sound.i
|
||||||
%include _mimetype.i
|
%include _mimetype.i
|
||||||
%include _artprov.i
|
%include _artprov.i
|
||||||
%include _config.i
|
%include _config.i
|
||||||
|
@@ -355,9 +355,13 @@ wxEVT_JOY_MOVE = wx.misc.wxEVT_JOY_MOVE
|
|||||||
wxEVT_JOY_ZMOVE = wx.misc.wxEVT_JOY_ZMOVE
|
wxEVT_JOY_ZMOVE = wx.misc.wxEVT_JOY_ZMOVE
|
||||||
wxJoystickEvent = wx.misc.JoystickEvent
|
wxJoystickEvent = wx.misc.JoystickEvent
|
||||||
wxJoystickEventPtr = wx.misc.JoystickEventPtr
|
wxJoystickEventPtr = wx.misc.JoystickEventPtr
|
||||||
wxWave = wx.misc.Wave
|
wxSOUND_SYNC = wx.misc.SOUND_SYNC
|
||||||
wxWavePtr = wx.misc.WavePtr
|
wxSOUND_ASYNC = wx.misc.SOUND_ASYNC
|
||||||
wxWaveData = wx.misc.WaveData
|
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_STANDARD = wx.misc.MAILCAP_STANDARD
|
||||||
wxMAILCAP_NETSCAPE = wx.misc.MAILCAP_NETSCAPE
|
wxMAILCAP_NETSCAPE = wx.misc.MAILCAP_NETSCAPE
|
||||||
wxMAILCAP_KDE = wx.misc.MAILCAP_KDE
|
wxMAILCAP_KDE = wx.misc.MAILCAP_KDE
|
||||||
|
Reference in New Issue
Block a user