1// -------------------------------------------------------------------------- 2// Name: sndpcm.h 3// Purpose: 4// Date: 08/11/1999 5// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999 6// CVSID: $Id: sndpcm.h 35650 2005-09-23 12:56:45Z MR $ 7// License: wxWindows license 8// -------------------------------------------------------------------------- 9#ifndef _WX_SNDPCM_H 10#define _WX_SNDPCM_H 11 12#include "wx/defs.h" 13#include "wx/mmedia/defs.h" 14#include "wx/mmedia/sndbase.h" 15 16// 17// PCM specification class 18// 19 20class wxSoundFormatPcm : public wxSoundFormatBase { 21public: 22 wxSoundFormatPcm(wxUint32 srate = 22500, wxUint8 bps = 8, 23 wxUint16 channels = 2, bool sign = true, 24 int order = wxLITTLE_ENDIAN); 25 ~wxSoundFormatPcm(); 26 27 void SetSampleRate(wxUint32 srate); 28 void SetBPS(wxUint8 bps); 29 void SetChannels(wxUint16 nchannels); 30 void SetOrder(int order); 31 void Signed(bool sign); 32 33 wxUint32 GetSampleRate() const { return m_srate; } 34 wxUint8 GetBPS() const { return m_bps; } 35 wxUint16 GetChannels() const { return m_nchan; } 36 int GetOrder() const { return m_order; } 37 bool Signed() const { return m_signed; } 38 39 wxSoundFormatType GetType() const { return wxSOUND_PCM; } 40 wxSoundFormatBase *Clone() const; 41 42 wxUint32 GetTimeFromBytes(wxUint32 bytes) const; 43 wxUint32 GetBytesFromTime(wxUint32 time) const; 44 45 bool operator!=(const wxSoundFormatBase& frmt2) const; 46 47protected: 48 wxUint32 m_srate; 49 wxUint8 m_bps; 50 wxUint16 m_nchan; 51 int m_order; 52 bool m_signed; 53}; 54 55#endif 56