X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4fca6ee1a6af3953687a9508f134aef0b7243cb3..60dbc04c461334f22c189fff24c16451e7cae7a5:/include/wx/cocoa/sound.h diff --git a/include/wx/cocoa/sound.h b/include/wx/cocoa/sound.h index e9f71ccfe4..75ded5c136 100644 --- a/include/wx/cocoa/sound.h +++ b/include/wx/cocoa/sound.h @@ -1,52 +1,52 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: sound.h +// Name: wx/cocoa/sound.h // Purpose: wxSound class (loads and plays short Windows .wav files). // Optional on non-Windows platforms. -// Author: Ryan Norton +// 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 +class WXDLLIMPEXP_ADV wxSound : public wxSoundBase { public: - wxSound(); - wxSound(const wxString& fileName, bool isResource = false); - wxSound(int size, const wxByte* data); - ~wxSound(); + wxSound() + : m_cocoaNSSound(NULL) + {} + wxSound(const wxString& fileName, bool isResource = false) + : m_cocoaNSSound(NULL) + { Create(fileName, isResource); } + wxSound(size_t size, const void* data) + : m_cocoaNSSound(NULL) + { LoadWAV(data,size,true); } + wxSound(const wxSound& sound); // why not? + virtual ~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; } -protected: + { return m_cocoaNSSound; } +protected: bool DoPlay(unsigned flags) const; - + bool LoadWAV(const void* 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_