X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e6efd1fd2f6cedda23140aff17f56b26ef7c2d2..8e77fd8bca165aab9709649d79a7cbc6a172d4e1:/include/wx/osx/sound.h diff --git a/include/wx/osx/sound.h b/include/wx/osx/sound.h index 10a781caf9..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 @@ -24,20 +24,24 @@ 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 @@ -45,25 +49,25 @@ class WXDLLIMPEXP_ADV wxSound : public wxSoundBase public: wxSound(); wxSound(const wxString& fileName, bool isResource = false); - wxSound(int size, const wxByte* data); + wxSound(size_t size, const void* data); virtual ~wxSound(); // Create from resource or file 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); };