X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0c0be4a31821ac6de698e3b569371d95ff00e4c0..77c8efc8c37da6d6a5e2e8022d21d1cd7d76371d:/include/wx/cocoa/sound.h diff --git a/include/wx/cocoa/sound.h b/include/wx/cocoa/sound.h index 03655103f9..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; } - static void Stop(); - static bool IsPlaying(); - - inline WX_NSSound GetNSSound() - { return m_hSnd; } -protected: - bool DoPlay(unsigned flags) const; - + bool Create(const wxString& fileName, bool isResource = false); + bool IsOk() const + { return m_cocoaNSSound; } + static void Stop(); + static bool IsPlaying(); + + void SetNSSound(WX_NSSound cocoaNSSound); + inline WX_NSSound GetNSSound() + { 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_