renamed wxWave to wxSound; compatibility fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -592,6 +592,14 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif /* !defined(wxUSE_SLIDER) */
|
#endif /* !defined(wxUSE_SLIDER) */
|
||||||
|
|
||||||
|
#ifndef wxUSE_SOUND
|
||||||
|
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||||
|
# error "wxUSE_SOUND must be defined."
|
||||||
|
# else
|
||||||
|
# define wxUSE_SOUND 0
|
||||||
|
# endif
|
||||||
|
#endif /* !defined(wxUSE_SOUND) */
|
||||||
|
|
||||||
#ifndef wxUSE_SPINBTN
|
#ifndef wxUSE_SPINBTN
|
||||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||||
# error "wxUSE_SPINBTN must be defined."
|
# error "wxUSE_SPINBTN must be defined."
|
||||||
|
@@ -16,6 +16,10 @@
|
|||||||
#pragma interface "soundbase.h"
|
#pragma interface "soundbase.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
|
||||||
|
#if wxUSE_SOUND
|
||||||
|
|
||||||
#include "wx/object.h"
|
#include "wx/object.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -23,31 +27,70 @@
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
// Flags for wxSound::Play
|
// Flags for wxSound::Play
|
||||||
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
|
// NB: we can't use enum because there would be ambiguity between the
|
||||||
|
// two Play() prototypes when called without explicit parameters
|
||||||
|
#define wxSOUND_SYNC ((unsigned)0)
|
||||||
|
#define wxSOUND_ASYNC ((unsigned)1)
|
||||||
|
#define wxSOUND_LOOP ((unsigned)2)
|
||||||
|
#else
|
||||||
enum wxSoundFlags
|
enum wxSoundFlags
|
||||||
{
|
{
|
||||||
wxSOUND_SYNC = 0,
|
wxSOUND_SYNC = 0,
|
||||||
wxSOUND_ASYNC = 1,
|
wxSOUND_ASYNC = 1,
|
||||||
wxSOUND_LOOP = 2
|
wxSOUND_LOOP = 2
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Base class for wxSound implementations
|
||||||
class wxSoundBase : public wxObject
|
class wxSoundBase : public wxObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// Play the sound:
|
// Play the sound:
|
||||||
bool Play(unsigned flags = wxSOUND_ASYNC)
|
bool Play(unsigned flags = wxSOUND_ASYNC) const
|
||||||
{
|
{
|
||||||
|
wxASSERT_MSG( (flags & wxSOUND_LOOP) == 0 ||
|
||||||
|
(flags & wxSOUND_ASYNC) != 0,
|
||||||
|
_T("sound can only be looped asynchronously") );
|
||||||
return DoPlay(flags);
|
return DoPlay(flags);
|
||||||
}
|
}
|
||||||
#if WXWIN_COMPATIBILITY_2_4
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
wxDEPRECATED( bool Play(bool async = true, bool looped = false) );
|
wxDEPRECATED( bool Play(bool async, bool looped = false) const );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Plays sound from filename:
|
||||||
|
static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool DoPlay(unsigned flags) = 0;
|
virtual bool DoPlay(unsigned flags) const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxSound class implementation
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#if defined(__WXMSW__)
|
||||||
|
#include "wx/msw/sound.h"
|
||||||
|
#elif defined(__UNIX__)
|
||||||
|
#include "wx/unix/sound.h"
|
||||||
|
#elif defined(__WXMAC__)
|
||||||
|
#include "wx/mac/sound.h"
|
||||||
|
#elif defined(__WXPM__)
|
||||||
|
#include "wx/os2/sound.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxSoundBase methods
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
inline bool wxSoundBase::Play(const wxString& filename, unsigned flags)
|
||||||
|
{
|
||||||
|
wxSound snd(filename);
|
||||||
|
return snd.IsOk() ? snd.Play(flags) : false;
|
||||||
|
}
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_2_4
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
inline bool wxSoundBase::Play(bool async, bool looped)
|
inline bool wxSoundBase::Play(bool async, bool looped) const
|
||||||
{
|
{
|
||||||
unsigned flags = 0;
|
unsigned flags = 0;
|
||||||
if (async) flags |= wxSOUND_ASYNC;
|
if (async) flags |= wxSOUND_ASYNC;
|
||||||
@@ -56,27 +99,6 @@ inline bool wxSoundBase::Play(bool async, bool looped)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
#endif // wxUSE_SOUND
|
||||||
// wxSound class implementation
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
|
||||||
#include "wx/msw/wave.h"
|
|
||||||
#elif defined(__UNIX__)
|
|
||||||
#include "wx/unix/sound.h"
|
|
||||||
#elif defined(__WXMAC__)
|
|
||||||
#include "wx/mac/wave.h"
|
|
||||||
#elif defined(__WXPM__)
|
|
||||||
#include "wx/os2/wave.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// wxSound used to be called wxWave before wxWindows 2.5.1:
|
|
||||||
#ifdef __UNIX__ // FIXME: on all platforms when everything is renamed
|
|
||||||
#if WXWIN_COMPATIBILITY_2_4
|
|
||||||
typedef wxSound wxWave;
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
typedef wxWave wxSound;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // _WX_SOUND_H_BASE_
|
#endif // _WX_SOUND_H_BASE_
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: wave.h
|
// Name: sound.h
|
||||||
// Purpose: wxSound class
|
// Purpose: wxSound class
|
||||||
// Author: Julian Smart, Vaclav Slavik
|
// Author: Julian Smart, Vaclav Slavik
|
||||||
// Modified by:
|
// Modified by:
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
|
|
||||||
#if wxUSE_WAVE
|
#if wxUSE_SOUND
|
||||||
|
|
||||||
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
||||||
#pragma interface "sound.h"
|
#pragma interface "sound.h"
|
||||||
@@ -84,7 +84,7 @@ public:
|
|||||||
static void UnloadBackend();
|
static void UnloadBackend();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool DoPlay(unsigned flags);
|
bool DoPlay(unsigned flags) const;
|
||||||
|
|
||||||
static void EnsureBackend();
|
static void EnsureBackend();
|
||||||
void Free();
|
void Free();
|
||||||
@@ -159,6 +159,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif // wxUSE_WAVE
|
#endif // wxUSE_SOUND
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -14,11 +14,17 @@
|
|||||||
|
|
||||||
#include "wx/setup.h"
|
#include "wx/setup.h"
|
||||||
|
|
||||||
|
#if wxUSE_SOUND
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_2_4
|
#if WXWIN_COMPATIBILITY_2_4
|
||||||
#warning "wx/wave.h header is deprecated, use wx/sound.h and wxSound"
|
#warning "wx/wave.h header is deprecated, use wx/sound.h and wxSound"
|
||||||
#include "wx/sound.h"
|
#include "wx/sound.h"
|
||||||
|
// wxSound used to be called wxWave before wxWindows 2.5.1:
|
||||||
|
typedef wxSound wxWave;
|
||||||
#else
|
#else
|
||||||
#error "wx/wave.h is only available in compatibility mode"
|
#error "wx/wave.h is only available in compatibility mode"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Reference in New Issue
Block a user