61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
#ifndef _TRANSPOSE_TOOL_
|
|
#define _TRANSPOSE_TOOL_
|
|
|
|
#include "basetool.h"
|
|
#include "tools.h"
|
|
#include "param.h"
|
|
#include "toolhelp.h"
|
|
#include "..\dmtoolprp\toolprops.h"
|
|
|
|
class CTransposeTool :
|
|
public CBaseTool ,
|
|
public CParamsManager,
|
|
public CToolHelper,
|
|
public IPersistStream,
|
|
public ISpecifyPropertyPages,
|
|
public IDirectMusicTransposeTool
|
|
|
|
{
|
|
public:
|
|
CTransposeTool();
|
|
|
|
public:
|
|
// IUnknown
|
|
STDMETHODIMP QueryInterface(const IID &iid, void **ppv) ;
|
|
STDMETHODIMP_(ULONG) AddRef() ;
|
|
STDMETHODIMP_(ULONG) Release() ;
|
|
|
|
// IPersist functions
|
|
virtual STDMETHODIMP GetClassID(CLSID* pClassID);
|
|
|
|
// IPersistStream functions
|
|
STDMETHODIMP IsDirty();
|
|
STDMETHODIMP Load(IStream* pStream);
|
|
STDMETHODIMP Save(IStream* pStream, BOOL fClearDirty);
|
|
STDMETHODIMP GetSizeMax(ULARGE_INTEGER* pcbSize);
|
|
|
|
// ISpecifyPropertyPages
|
|
STDMETHODIMP GetPages(CAUUID *pPages);
|
|
|
|
// IDirectMusicTool
|
|
// STDMETHODIMP Init(IDirectMusicGraph* pGraph) ;
|
|
// STDMETHODIMP GetMsgDeliveryType(DWORD* pdwDeliveryType ) ;
|
|
// STDMETHODIMP GetMediaTypeArraySize(DWORD* pdwNumElements ) ;
|
|
// STDMETHODIMP GetMediaTypes(DWORD** padwMediaTypes, DWORD dwNumElements) ;
|
|
STDMETHODIMP ProcessPMsg(IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG) ;
|
|
// STDMETHODIMP Flush(IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG, REFERENCE_TIME rt) ;
|
|
|
|
// IDirectMusicTool8
|
|
STDMETHODIMP Clone( IDirectMusicTool ** ppTool) ;
|
|
|
|
// IDirectMusicTransposeTool
|
|
STDMETHODIMP SetTranspose(long lTranspose) ;
|
|
STDMETHODIMP SetType(DWORD dwType) ;
|
|
STDMETHODIMP GetTranspose(long * plTranspose) ;
|
|
STDMETHODIMP GetType(DWORD * pdwType) ;
|
|
private:
|
|
static DMUS_CHORD_KEY m_gDefaultChord;
|
|
};
|
|
|
|
#endif // _TRANSPOSE_TOOL_
|