Software Objects Source Code

Source Code

« SoundManager.h

WaveMixer.h

 
// WaveMixer.h : Declaration of the CWaveMixer
 
#ifndef __WAVEMIXER_H_
#define __WAVEMIXER_H_
 
#include "resource.h"       // main symbols
#include "SoundManager.h"
 
/////////////////////////////////////////////////////////////////////////////
// CWaveMixer
class ATL_NO_VTABLE CWaveMixer :
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CWaveMixer, &CLSID_WaveMixer>,
	public IConnectionPointContainerImpl<CWaveMixer>,
	public IDispatchImpl<IWaveMixer, &IID_IWaveMixer, &LIBID_DLSMEDIALib>
{
public:
	CWaveMixer()
	{
		m_pSndMan = new CSoundManager();
	}
 
	~CWaveMixer()
	{
		if( m_pSndMan ) delete m_pSndMan;
	}
 
DECLARE_REGISTRY_RESOURCEID(IDR_WAVEMIXER)
 
DECLARE_PROTECT_FINAL_CONSTRUCT()
 
BEGIN_COM_MAP(CWaveMixer)
	COM_INTERFACE_ENTRY(IWaveMixer)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IConnectionPointContainer)
END_COM_MAP()
BEGIN_CONNECTION_POINT_MAP(CWaveMixer)
END_CONNECTION_POINT_MAP()
 
 
// IWaveMixer
public:
	STDMETHOD(StopAll)();
	STDMETHOD(GetName)(/*[in]*/ long nID, /*[out]*/ BSTR* pbstrName);
	STDMETHOD(get_MaxMemory)(/*[out, retval]*/ long *pVal);
	STDMETHOD(put_MaxMemory)(/*[in]*/ long newVal);
	STDMETHOD(get_UsedMemory)(/*[out, retval]*/ long *pVal);
	STDMETHOD(GetVolume)(/*[in]*/ long nID, /*[out]*/ long* pnVolume);
	STDMETHOD(GetPan)(/*[in]*/ long nID, /*[out]*/ long* pnPan);
	STDMETHOD(GetFrequency)(/*[in]*/ long nID, /*[out]*/ long* pnFrequency);
	STDMETHOD(ResetFrequency)(/*[in]*/ long nID);
	STDMETHOD(SetFrequency)(/*[in]*/ long nID, /*[in]*/ long nFrequency);
	STDMETHOD(Stop)(/*[in]*/ long nID);
	STDMETHOD(SetPan)(/*[in]*/ long nID, /*[in]*/ long nPan);
	STDMETHOD(SetVolume)(/*[in]*/ long nID, /*[in]*/ long nVolume);
	STDMETHOD(Remove)(/*[in]*/ long nID);
	STDMETHOD(Play)(/*[in]*/ long nID, /*[in]*/ BOOL bLoop);
	STDMETHOD(Initialize)(/*[in]*/ long hWnd);
	STDMETHOD(GetSoundInfo)(/*[in]*/ int nIndex, /*[out]*/ long* pnID, /*[out]*/ BSTR* pbstrFileName, /*[out]*/ long* pnOriginalFrequency, /*[out]*/ long* pnChannels, /*[out]*/ long* pnBits, /*[out]*/ long* pnSize);
	STDMETHOD(get_LoadedWaves)(/*[out, retval]*/ long *pVal);
	STDMETHOD(Clear)();
	STDMETHOD(Add)(/*[in]*/ BSTR bstrFileName, /*[out]*/ long* pnID);
 
// Private Member Variables
private:
	CSoundManager*	m_pSndMan;
};
 
#endif //__WAVEMIXER_H_
, , , , , , , , , , ,
February 22, 2010 at 3:25 pm
Leave a Reply or trackback