windows-nt/Source/XPSP1/NT/multimedia/directx/dxvb/dx7vb/dmcomposerobj.h
2020-09-26 16:20:57 +08:00

104 lines
3.7 KiB
C++

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1998 - 1998
//
// File: dmcomposerobj.h
//
//--------------------------------------------------------------------------
// d3drmLightObj.h : Declaration of the C_dxj_DirectMusicComposerObject
#include "resource.h" // main symbols
#define typedef__dxj_DirectMusicComposer IDirectMusicComposer*
/////////////////////////////////////////////////////////////////////////////
// Direct
//REVIEW -- using pointers to ID's is necessary because some compilers don't like
//references as template arguments.
class C_dxj_DirectMusicComposerObject :
public I_dxj_DirectMusicComposer,
//public CComCoClass<C_dxj_DirectMusicComposerObject, &CLSID__dxj_DirectMusicComposer>,
public CComObjectRoot
{
public:
C_dxj_DirectMusicComposerObject();
virtual ~C_dxj_DirectMusicComposerObject();
BEGIN_COM_MAP(C_dxj_DirectMusicComposerObject)
COM_INTERFACE_ENTRY(I_dxj_DirectMusicComposer)
END_COM_MAP()
//DECLARE_REGISTRY(CLSID__dxj_DirectMusicComposer, "DIRECT.DirectMusicComposer.1", "DIRECT.Direct3dRMLight.3", IDS_D3DRMLIGHT_DESC, THREADFLAGS_BOTH)
DECLARE_AGGREGATABLE(C_dxj_DirectMusicComposerObject)
public:
STDMETHOD(InternalSetObject)(IUnknown *lpdd);
STDMETHOD(InternalGetObject)(IUnknown **lpdd);
HRESULT STDMETHODCALLTYPE autoTransition(
/* [in] */ I_dxj_DirectMusicPerformance __RPC_FAR *Performance,
/* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *ToSeg,
/* [in] */ long lCommand,
/* [in] */ long lFlags,
/* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
/* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *ppTransSeg);
HRESULT STDMETHODCALLTYPE composeSegmentFromTemplate(
/* [in] */ I_dxj_DirectMusicStyle __RPC_FAR *style,
/* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *TemplateSeg,
/* [in] */ short Activity,
/* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
/* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *SectionSeg);
HRESULT STDMETHODCALLTYPE composeSegmentFromShape(
/* [in] */ I_dxj_DirectMusicStyle __RPC_FAR *style,
/* [in] */ short numberOfMeasures,
/* [in] */ short shape,
/* [in] */ short activity,
/* [in] */ VARIANT_BOOL bIntro,
/* [in] */ VARIANT_BOOL bEnd,
/* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
/* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *SectionSeg);
HRESULT STDMETHODCALLTYPE composeTransition(
/* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *pFromSeg,
/* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *ToSeg,
/* [in] */ long mtTime,
/* [in] */ long lCommand,
/* [in] */ long lFlags,
/* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
/* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *SectionSeg);
HRESULT STDMETHODCALLTYPE composeTemplateFromShape(
/* [in] */ short numMeasures,
/* [in] */ short shape,
/* [in] */ VARIANT_BOOL bIntro,
/* [in] */ VARIANT_BOOL bEnd,
/* [in] */ short endLength,
/* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *TempSeg);
HRESULT STDMETHODCALLTYPE changeChordMap(
/* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *segment,
/* [in] */ VARIANT_BOOL trackScale,
/* [retval][out] */ I_dxj_DirectMusicChordMap *ChordMap);
////////////////////////////////////////////////////////////////////////////////////
//
private:
DECL_VARIABLE(_dxj_DirectMusicComposer);
public:
DX3J_GLOBAL_LINKS( _dxj_DirectMusicComposer)
};