X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4fca6ee1a6af3953687a9508f134aef0b7243cb3..6b73af793f5236c8ad47b8df55166811f4fb042f:/include/wx/cocoa/sound.h diff --git a/include/wx/cocoa/sound.h b/include/wx/cocoa/sound.h index e9f71ccfe4..c85e7d3978 100644 --- a/include/wx/cocoa/sound.h +++ b/include/wx/cocoa/sound.h @@ -2,51 +2,51 @@ // Name: sound.h // Purpose: wxSound class (loads and plays short Windows .wav files). // Optional on non-Windows platforms. -// Author: Ryan Norton -// Modified by: +// Authors: David Elliott, Ryan Norton +// Modified by: // Created: 2004-10-02 // RCS-ID: $Id$ -// Copyright: (c) Ryan Norton +// Copyright: (c) 2004 David Elliott, Ryan Norton // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_COCOA_SOUND_H_ #define _WX_COCOA_SOUND_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "sound.h" -#endif - -#if wxUSE_SOUND - #include "wx/object.h" +#include "wx/cocoa/ObjcRef.h" class WXDLLEXPORT wxSound : public wxSoundBase { public: - wxSound(); - wxSound(const wxString& fileName, bool isResource = false); - wxSound(int size, const wxByte* data); + wxSound() + : m_cocoaNSSound(NULL) + {} + wxSound(const wxString& fileName, bool isResource = false) + : m_cocoaNSSound(NULL) + { Create(fileName, isResource); } + wxSound(int size, const wxByte* data) + : m_cocoaNSSound(NULL) + { LoadWAV(data,size,true); } + wxSound(const wxSound& sound); // why not? ~wxSound(); public: bool Create(const wxString& fileName, bool isResource = false); - bool IsOk() const { return m_hSnd != NULL; } + bool IsOk() const + { return m_cocoaNSSound; } static void Stop(); static bool IsPlaying(); + void SetNSSound(WX_NSSound cocoaNSSound); inline WX_NSSound GetNSSound() - { return m_hSnd; } + { return m_cocoaNSSound; } protected: bool DoPlay(unsigned flags) const; - + bool LoadWAV(const wxUint8 *data, size_t length, bool copyData); private: - WX_NSSound m_hSnd; //NSSound handle - wxString m_sndname; //file path - int m_waveLength; //size of file in memory mode - struct objc_object * m_cocoaSoundDelegate; + WX_NSSound m_cocoaNSSound; + static const wxObjcAutoRefFromAlloc sm_cocoaDelegate; }; -#endif -#endif - // _WX_COCOA_SOUND_H_ +#endif //ndef _WX_COCOA_SOUND_H_