Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.7 KiB

  1. #ifndef _TRANSPOSE_TOOL_
  2. #define _TRANSPOSE_TOOL_
  3. #include "basetool.h"
  4. #include "tools.h"
  5. #include "param.h"
  6. #include "toolhelp.h"
  7. #include "..\dmtoolprp\toolprops.h"
  8. class CTransposeTool :
  9. public CBaseTool ,
  10. public CParamsManager,
  11. public CToolHelper,
  12. public IPersistStream,
  13. public ISpecifyPropertyPages,
  14. public IDirectMusicTransposeTool
  15. {
  16. public:
  17. CTransposeTool();
  18. public:
  19. // IUnknown
  20. STDMETHODIMP QueryInterface(const IID &iid, void **ppv) ;
  21. STDMETHODIMP_(ULONG) AddRef() ;
  22. STDMETHODIMP_(ULONG) Release() ;
  23. // IPersist functions
  24. virtual STDMETHODIMP GetClassID(CLSID* pClassID);
  25. // IPersistStream functions
  26. STDMETHODIMP IsDirty();
  27. STDMETHODIMP Load(IStream* pStream);
  28. STDMETHODIMP Save(IStream* pStream, BOOL fClearDirty);
  29. STDMETHODIMP GetSizeMax(ULARGE_INTEGER* pcbSize);
  30. // ISpecifyPropertyPages
  31. STDMETHODIMP GetPages(CAUUID *pPages);
  32. // IDirectMusicTool
  33. // STDMETHODIMP Init(IDirectMusicGraph* pGraph) ;
  34. // STDMETHODIMP GetMsgDeliveryType(DWORD* pdwDeliveryType ) ;
  35. // STDMETHODIMP GetMediaTypeArraySize(DWORD* pdwNumElements ) ;
  36. // STDMETHODIMP GetMediaTypes(DWORD** padwMediaTypes, DWORD dwNumElements) ;
  37. STDMETHODIMP ProcessPMsg(IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG) ;
  38. // STDMETHODIMP Flush(IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG, REFERENCE_TIME rt) ;
  39. // IDirectMusicTool8
  40. STDMETHODIMP Clone( IDirectMusicTool ** ppTool) ;
  41. // IDirectMusicTransposeTool
  42. STDMETHODIMP SetTranspose(long lTranspose) ;
  43. STDMETHODIMP SetType(DWORD dwType) ;
  44. STDMETHODIMP GetTranspose(long * plTranspose) ;
  45. STDMETHODIMP GetType(DWORD * pdwType) ;
  46. private:
  47. static DMUS_CHORD_KEY m_gDefaultChord;
  48. };
  49. #endif // _TRANSPOSE_TOOL_