Leaked source code of windows server 2003
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.

103 lines
3.8 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1998 - 1998
  6. //
  7. // File: dmcomposerobj.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // d3drmLightObj.h : Declaration of the C_dxj_DirectMusicComposerObject
  11. #include "resource.h" // main symbols
  12. #define typedef__dxj_DirectMusicComposer IDirectMusicComposer8*
  13. /////////////////////////////////////////////////////////////////////////////
  14. // Direct
  15. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  16. //references as template arguments.
  17. class C_dxj_DirectMusicComposerObject :
  18. public I_dxj_DirectMusicComposer,
  19. //public CComCoClass<C_dxj_DirectMusicComposerObject, &CLSID__dxj_DirectMusicComposer>,
  20. public CComObjectRoot
  21. {
  22. public:
  23. C_dxj_DirectMusicComposerObject();
  24. virtual ~C_dxj_DirectMusicComposerObject();
  25. BEGIN_COM_MAP(C_dxj_DirectMusicComposerObject)
  26. COM_INTERFACE_ENTRY(I_dxj_DirectMusicComposer)
  27. END_COM_MAP()
  28. //DECLARE_REGISTRY(CLSID__dxj_DirectMusicComposer, "DIRECT.DirectMusicComposer.1", "DIRECT.Direct3dRMLight.3", IDS_D3DRMLIGHT_DESC, THREADFLAGS_BOTH)
  29. DECLARE_AGGREGATABLE(C_dxj_DirectMusicComposerObject)
  30. public:
  31. STDMETHOD(InternalSetObject)(IUnknown *lpdd);
  32. STDMETHOD(InternalGetObject)(IUnknown **lpdd);
  33. HRESULT STDMETHODCALLTYPE autoTransition(
  34. /* [in] */ I_dxj_DirectMusicPerformance __RPC_FAR *Performance,
  35. /* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *ToSeg,
  36. /* [in] */ long lCommand,
  37. /* [in] */ long lFlags,
  38. /* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
  39. /* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *ppTransSeg);
  40. HRESULT STDMETHODCALLTYPE composeSegmentFromTemplate(
  41. /* [in] */ I_dxj_DirectMusicStyle __RPC_FAR *style,
  42. /* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *TemplateSeg,
  43. /* [in] */ short Activity,
  44. /* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
  45. /* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *SectionSeg);
  46. HRESULT STDMETHODCALLTYPE composeSegmentFromShape(
  47. /* [in] */ I_dxj_DirectMusicStyle __RPC_FAR *style,
  48. /* [in] */ short numberOfMeasures,
  49. /* [in] */ short shape,
  50. /* [in] */ short activity,
  51. /* [in] */ VARIANT_BOOL bIntro,
  52. /* [in] */ VARIANT_BOOL bEnd,
  53. /* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
  54. /* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *SectionSeg);
  55. HRESULT STDMETHODCALLTYPE composeTransition(
  56. /* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *pFromSeg,
  57. /* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *ToSeg,
  58. /* [in] */ long mtTime,
  59. /* [in] */ long lCommand,
  60. /* [in] */ long lFlags,
  61. /* [in] */ I_dxj_DirectMusicChordMap __RPC_FAR *chordmap,
  62. /* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *SectionSeg);
  63. HRESULT STDMETHODCALLTYPE composeTemplateFromShape(
  64. /* [in] */ short numMeasures,
  65. /* [in] */ short shape,
  66. /* [in] */ VARIANT_BOOL bIntro,
  67. /* [in] */ VARIANT_BOOL bEnd,
  68. /* [in] */ short endLength,
  69. /* [retval][out] */ I_dxj_DirectMusicSegment __RPC_FAR *__RPC_FAR *TempSeg);
  70. HRESULT STDMETHODCALLTYPE changeChordMap(
  71. /* [in] */ I_dxj_DirectMusicSegment __RPC_FAR *segment,
  72. /* [in] */ VARIANT_BOOL trackScale,
  73. /* [retval][out] */ I_dxj_DirectMusicChordMap *ChordMap);
  74. ////////////////////////////////////////////////////////////////////////////////////
  75. //
  76. private:
  77. DECL_VARIABLE(_dxj_DirectMusicComposer);
  78. public:
  79. DX3J_GLOBAL_LINKS( _dxj_DirectMusicComposer)
  80. };