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',
|
||||
'PrintFramework',
|
||||
'ShapedWindow',
|
||||
'Sound',
|
||||
'Unicode',
|
||||
'Wave',
|
||||
]),
|
||||
|
||||
# need libs not coming with the demo
|
||||
|
@@ -18,16 +18,16 @@ class TestPanel(wx.Panel):
|
||||
|
||||
def OnButton1(self, evt):
|
||||
try:
|
||||
wave = wx.Wave(opj('data/anykey.wav'))
|
||||
wave.Play()
|
||||
sound = wx.Sound(opj('data/anykey.wav'))
|
||||
sound.Play()
|
||||
except NotImplementedError, v:
|
||||
wx.MessageBox(str(v), "Exception Message")
|
||||
|
||||
|
||||
def OnButton2(self, evt):
|
||||
try:
|
||||
wave = wx.Wave(opj('data/plan.wav'))
|
||||
wave.Play()
|
||||
sound = wx.Sound(opj('data/plan.wav'))
|
||||
sound.Play()
|
||||
except NotImplementedError, v:
|
||||
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
|
||||
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>
|
||||
"""
|
||||
|
||||
|
@@ -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.
|
||||
|
||||
|
||||
|
||||
|
@@ -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.
|
||||
|
@@ -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',
|
||||
|
@@ -259,7 +259,10 @@
|
||||
%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;
|
||||
|
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 _process.i
|
||||
%include _joystick.i
|
||||
%include _wave.i
|
||||
%include _sound.i
|
||||
%include _mimetype.i
|
||||
%include _artprov.i
|
||||
%include _config.i
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user