meastool.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:1k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. #ifndef _MEASTOOL_H
  2. #define _MEASTOOL_H
  3. #include <dmusici.h>
  4. typedef enum { eOff, eMeasure, eBeat } EBeatType;
  5. class CMeasureTool : public IDirectMusicTool
  6. {
  7. public:
  8. CMeasureTool(HWND hwndParent);
  9.     ~CMeasureTool();
  10.     HWND        m_hwndParent;
  11. public:
  12.     virtual STDMETHODIMP QueryInterface(const IID &iid, void **ppv);
  13.     virtual STDMETHODIMP_(ULONG) AddRef();
  14.     virtual STDMETHODIMP_(ULONG) Release();
  15. HRESULT STDMETHODCALLTYPE Init( IDirectMusicGraph* pGraph );
  16. HRESULT STDMETHODCALLTYPE GetMsgDeliveryType( DWORD* pdwDeliveryType );
  17. HRESULT STDMETHODCALLTYPE GetMediaTypeArraySize( DWORD* pdwNumElements );
  18. HRESULT STDMETHODCALLTYPE GetMediaTypes( DWORD** padwMediaTypes, DWORD dwNumElements) ;
  19. HRESULT STDMETHODCALLTYPE ProcessPMsg( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG );
  20. HRESULT STDMETHODCALLTYPE Flush( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG, REFERENCE_TIME rt );
  21.     void    Blink(EBeatType);
  22. private:
  23. long    m_cRef;    
  24. };
  25. void CALLBACK Unblink(HWND, UINT, UINT_PTR, DWORD);
  26. #endif // _MEASTOOL_H