wxWidgets/include/wx/mac/wave.h
2003-08-09 12:38:21 +00:00

53 lines
1.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wave.h
// Purpose: wxWave class (loads and plays short Windows .wav files).
// Optional on non-Windows platforms.
// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WAVE_H_
#define _WX_WAVE_H_
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "wave.h"
#endif
#if wxUSE_WAVE
#include "wx/object.h"
class WXDLLEXPORT wxWave : public wxObject
{
public:
wxWave();
wxWave(const wxString& fileName, bool isResource = FALSE);
wxWave(int size, const wxByte* data);
~wxWave();
public:
bool Create(const wxString& fileName, bool isResource = FALSE);
bool IsOk() const { return !m_sndname.IsEmpty(); }
bool Play(bool async = TRUE, bool looped = FALSE) const;
protected:
// prevent collision with some BSD definitions of macro Free()
bool FreeData();
private:
void* m_sndChan;
wxString m_sndname;
void* m_hSnd;
int m_waveLength;
bool m_isResource;
};
#endif
#endif
// _WX_WAVE_H_