// Created: 2004/02/01
// RCS-ID: $Id$
// Copyright: (c) 2004, Vaclav Slavik
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_SOUND_H_BASE_
#define _WX_SOUND_H_BASE_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "soundbase.h"
-#endif
-
#include "wx/defs.h"
#if wxUSE_SOUND
// ----------------------------------------------------------------------------
// 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
- {
- wxSOUND_SYNC = 0,
- wxSOUND_ASYNC = 1,
- wxSOUND_LOOP = 2
- };
-#endif
+
+// NB: We can't use enum because there would be ambiguity between the
+// two Play() prototypes when called without explicit parameters
+// if WXWIN_COMPATIBILITY_2_4.
+// We can't use enum with some compilers either, because they
+// keep reporting nonexistent ambiguities between
+// Play(unsigned) and static Play(const wxString&, unsigned).
+#define wxSOUND_SYNC ((unsigned)0)
+#define wxSOUND_ASYNC ((unsigned)1)
+#define wxSOUND_LOOP ((unsigned)2)
// Base class for wxSound implementations
-class wxSoundBase : public wxObject
+class WXDLLIMPEXP_ADV wxSoundBase : public wxObject
{
public:
// Play the sound:
// Plays sound from filename:
static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
-
+
protected:
virtual bool DoPlay(unsigned flags) const = 0;
};
#if defined(__WXMSW__)
#include "wx/msw/sound.h"
-#elif defined(__UNIX__)
- #include "wx/unix/sound.h"
+#elif defined(__WXCOCOA__)
+ #include "wx/cocoa/sound.h"
#elif defined(__WXMAC__)
#include "wx/mac/sound.h"
#elif defined(__WXPM__)
#include "wx/os2/sound.h"
+#elif defined(__UNIX__)
+ #include "wx/unix/sound.h"
#endif
// ----------------------------------------------------------------------------