X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6f0740beb58234a7a6b6db6f4a0714cfa2177a31..63415ba9f5331b2b96215f8a570e05623ea6ec42:/include/wx/osx/sound.h diff --git a/include/wx/osx/sound.h b/include/wx/osx/sound.h index e41636b1ef..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,46 +24,50 @@ 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); };