X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dcb68102796280b3e54979ae95738089914ce842..2d6dd9c09e7084d402fc923d2f09d8b7158a1a04:/include/wx/cocoa/sound.h diff --git a/include/wx/cocoa/sound.h b/include/wx/cocoa/sound.h index 8b13789179..d764e8bfea 100644 --- a/include/wx/cocoa/sound.h +++ b/include/wx/cocoa/sound.h @@ -1 +1,52 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: sound.h +// Purpose: wxSound class (loads and plays short Windows .wav files). +// Optional on non-Windows platforms. +// Authors: David Elliott, Ryan Norton +// Modified by: +// Created: 2004-10-02 +// RCS-ID: $Id$ +// Copyright: (c) 2004 David Elliott, Ryan Norton +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// +#ifndef _WX_COCOA_SOUND_H_ +#define _WX_COCOA_SOUND_H_ + +#include "wx/object.h" +#include "wx/cocoa/ObjcRef.h" + +class WXDLLEXPORT wxSound : public wxSoundBase +{ +public: + 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? + virtual ~wxSound(); + +public: + 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 wxUint8 *data, size_t length, bool copyData); +private: + WX_NSSound m_cocoaNSSound; + static const wxObjcAutoRefFromAlloc sm_cocoaDelegate; +}; + +#endif //ndef _WX_COCOA_SOUND_H_