/////////////////////////////////////////////////////////////////////////////
-// Name: sound.h
+// Name: wx/msw/sound.h
// Purpose: wxSound class
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_SOUND_H_
#define _WX_SOUND_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "sound.h"
-#endif
-
#if wxUSE_SOUND
-#include "wx/object.h"
-
class WXDLLIMPEXP_ADV wxSound : public wxSoundBase
{
public:
- wxSound();
- wxSound(const wxString& fileName, bool isResource = false);
- wxSound(int size, const wxByte* data);
- ~wxSound();
+ wxSound();
+ wxSound(const wxString& fileName, bool isResource = false);
+ wxSound(size_t size, const void* data);
+ virtual ~wxSound();
-public:
- // Create from resource or file
- bool Create(const wxString& fileName, bool isResource = false);
- // Create from data
- bool Create(int size, const wxByte* data);
+ // Create from resource or file
+ bool Create(const wxString& fileName, bool isResource = false);
+
+ // Create from data
+ bool Create(size_t size, const void* data);
- bool IsOk() const { return (m_waveData ? true : false); };
-
- static void Stop();
+ bool IsOk() const { return m_data != NULL; }
+
+ static void Stop();
protected:
- bool Free();
-
- bool DoPlay(unsigned flags) const;
+ void Init() { m_data = NULL; }
+ bool CheckCreatedOk();
+ void Free();
+
+ virtual bool DoPlay(unsigned flags) const;
private:
- wxByte* m_waveData;
- int m_waveLength;
- bool m_isResource;
+ // data of this object
+ class wxSoundData *m_data;
- DECLARE_NO_COPY_CLASS(wxSound)
+ wxDECLARE_NO_COPY_CLASS(wxSound);
};
-#endif
-#endif
+
+#endif // wxUSE_SOUND
+
+#endif // _WX_SOUND_H_