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:
Václav Slavík
2004-02-02 13:16:31 +00:00
parent bae90c4cd5
commit cad1a197e5
4 changed files with 74 additions and 38 deletions

View File

@@ -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."

View File

@@ -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
enum wxSoundFlags #if WXWIN_COMPATIBILITY_2_4
{ // NB: we can't use enum because there would be ambiguity between the
wxSOUND_SYNC = 0, // two Play() prototypes when called without explicit parameters
wxSOUND_ASYNC = 1, #define wxSOUND_SYNC ((unsigned)0)
wxSOUND_LOOP = 2 #define wxSOUND_ASYNC ((unsigned)1)
}; #define wxSOUND_LOOP ((unsigned)2)
#else
enum wxSoundFlags
{
wxSOUND_SYNC = 0,
wxSOUND_ASYNC = 1,
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
protected: // Plays sound from filename:
virtual bool DoPlay(unsigned flags) = 0; static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
};
protected:
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_

View File

@@ -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

View File

@@ -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