X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a2c1097b8aad5df0ad1bd238ca23daec0a413da0..616c0d1f3ac084bb92f0a75dc48812e8647f1b22:/include/wx/cocoa/sound.h?ds=sidebyside diff --git a/include/wx/cocoa/sound.h b/include/wx/cocoa/sound.h index 86a2ca9a73..75ded5c136 100644 --- a/include/wx/cocoa/sound.h +++ b/include/wx/cocoa/sound.h @@ -1,34 +1,35 @@ ///////////////////////////////////////////////////////////////////////////// -// 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); @@ -37,18 +38,15 @@ public: static void Stop(); static bool IsPlaying(); + void SetNSSound(WX_NSSound cocoaNSSound); inline WX_NSSound GetNSSound() { return m_cocoaNSSound; } -protected: +protected: bool DoPlay(unsigned flags) const; - + bool LoadWAV(const void* data, size_t length, bool copyData); private: - WX_NSSound m_cocoaNSSound; //NSSound handle - wxString m_sndname; //file path - int m_waveLength; //size of file in memory mode + WX_NSSound m_cocoaNSSound; static const wxObjcAutoRefFromAlloc sm_cocoaDelegate; }; -#endif -#endif - // _WX_COCOA_SOUND_H_ +#endif //ndef _WX_COCOA_SOUND_H_