X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/deb0a11e9907e4834247d7cddebe9edbb71dd34b..8e77fd8bca165aab9709649d79a7cbc6a172d4e1:/include/wx/osx/sound.h diff --git a/include/wx/osx/sound.h b/include/wx/osx/sound.h index 8f9f3edd37..fd3978f616 100644 --- a/include/wx/osx/sound.h +++ b/include/wx/osx/sound.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: sound.h +// Name: wx/osx/sound.h // Purpose: wxSound class (loads and plays short Windows .wav files). // Optional on non-Windows platforms. // Author: Ryan Norton, Stefan Csomor @@ -17,53 +17,57 @@ #include "wx/object.h" -class WXDLLIMPEXP_ADV wxSoundTimer; +class WXDLLIMPEXP_FWD_ADV wxSoundTimer; class WXDLLIMPEXP_ADV wxSoundData { public : wxSoundData(); virtual ~wxSoundData(); - + virtual bool Play(unsigned int flags) = 0; // stops the sound and deletes the optional timer virtual void Stop(); // can be called by a timer for repeated tasks during playback virtual void SoundTask(); - + // mark this to be deleted + virtual void MarkForDeletion(); + virtual bool IsMarkedForDeletion() const { return m_markedForDeletion; } + // does the true work of stopping and cleaning up virtual void DoStop() = 0; protected : void CreateAndStartTimer(); - + unsigned int m_flags; wxSoundTimer* m_pTimer; + bool m_markedForDeletion; } ; class WXDLLIMPEXP_ADV wxSound : public wxSoundBase { public: wxSound(); - wxSound(const wxString& fileName, bool isResource = FALSE); - wxSound(int size, const wxByte* data); + wxSound(const wxString& fileName, bool isResource = false); + wxSound(size_t size, const void* data); virtual ~wxSound(); // Create from resource or file - bool Create(const wxString& fileName, bool isResource = FALSE); + bool Create(const wxString& fileName, bool isResource = false); // Create from data - bool Create(int size, const wxByte* data); + bool Create(size_t size, const void* data); bool IsOk() const { return m_data != NULL; } - + // Stop playing any sound static void Stop(); - + // Returns true if a sound is being played static bool IsPlaying(); - + // Notification when a sound has stopped static void SoundStopped(const wxSoundData* data); - + protected: bool DoPlay(unsigned flags) const; void Init(); @@ -71,7 +75,7 @@ protected: private: // data of this object class wxSoundData *m_data; - + wxDECLARE_NO_COPY_CLASS(wxSound); };