ReactOS 0.4.16-dev-122-g325d74c
dmplugin.h File Reference
#include <windows.h>
#include <objbase.h>
#include <mmsystem.h>
#include <dmusici.h>
#include <pshpack8.h>
#include <poppack.h>
Include dependency graph for dmplugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define COM_NO_WINDOWS_H
 
#define DMUS_REGSTR_PATH_TOOLS   "Software\\Microsoft\\DirectMusic\\Tools"
 
#define DMUS_TRACK_PARAMF_CLOCK   0x1
 
#define INTERFACE   IDirectMusicTool
 
#define IDirectMusicTool_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
 
#define IDirectMusicTool_AddRef(p)   (p)->lpVtbl->AddRef(p)
 
#define IDirectMusicTool_Release(p)   (p)->lpVtbl->Release(p)
 
#define IDirectMusicTool_Init(p, a)   (p)->lpVtbl->Init(p,a)
 
#define IDirectMusicTool_GetMsgDeliveryType(p, a)   (p)->lpVtbl->GetMsgDeliveryType(p,a)
 
#define IDirectMusicTool_GetMediaTypeArraySize(p, a)   (p)->lpVtbl->GetMediaTypeArraySize(p,a)
 
#define IDirectMusicTool_GetMediaTypes(p, a, b)   (p)->lpVtbl->GetMediaTypes(p,a,b)
 
#define IDirectMusicTool_ProcessPMsg(p, a, b)   (p)->lpVtbl->ProcessPMsg(p,a,b)
 
#define IDirectMusicTool_Flush(p, a, b, c)   (p)->lpVtbl->Flush(p,a,b,c)
 
#define INTERFACE   IDirectMusicTool8
 
#define IDirectMusicTool8_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
 
#define IDirectMusicTool8_AddRef(p)   (p)->lpVtbl->AddRef(p)
 
#define IDirectMusicTool8_Release(p)   (p)->lpVtbl->Release(p)
 
#define IDirectMusicTool8_Init(p, a)   (p)->lpVtbl->Init(p,a)
 
#define IDirectMusicTool8_GetMsgDeliveryType(p, a)   (p)->lpVtbl->GetMsgDeliveryType(p,a)
 
#define IDirectMusicTool8_GetMediaTypeArraySize(p, a)   (p)->lpVtbl->GetMediaTypeArraySize(p,a)
 
#define IDirectMusicTool8_GetMediaTypes(p, a, b)   (p)->lpVtbl->GetMediaTypes(p,a,b)
 
#define IDirectMusicTool8_ProcessPMsg(p, a, b)   (p)->lpVtbl->ProcessPMsg(p,a,b)
 
#define IDirectMusicTool8_Flush(p, a, b)   (p)->lpVtbl->Flush(p,a,b)
 
#define IDirectMusicTool8_Clone(p, a)   (p)->lpVtbl->Clone(p,a)
 
#define INTERFACE   IDirectMusicTrack
 
#define IDirectMusicTrack_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
 
#define IDirectMusicTrack_AddRef(p)   (p)->lpVtbl->AddRef(p)
 
#define IDirectMusicTrack_Release(p)   (p)->lpVtbl->Release(p)
 
#define IDirectMusicTrack_Init(p, a)   (p)->lpVtbl->Init(p,a)
 
#define IDirectMusicTrack_InitPlay(p, a, b, c, d, e)   (p)->lpVtbl->InitPlay(p,a,b,c,d,e)
 
#define IDirectMusicTrack_EndPlay(p, a)   (p)->lpVtbl->EndPlay(p,a)
 
#define IDirectMusicTrack_Play(p, a, b, c, d, e, f, g, h)   (p)->lpVtbl->Play(p,a,b,c,d,e,f,g,h)
 
#define IDirectMusicTrack_GetParam(p, a, b, c, d)   (p)->lpVtbl->GetParam(p,a,b,c,d)
 
#define IDirectMusicTrack_SetParam(p, a, b, c)   (p)->lpVtbl->SetParam(p,a,b,c)
 
#define IDirectMusicTrack_IsParamSupported(p, a)   (p)->lpVtbl->IsParamSupported(p,a)
 
#define IDirectMusicTrack_AddNotificationType(p, a)   (p)->lpVtbl->AddNotificationType(p,a)
 
#define IDirectMusicTrack_RemoveNotificationType(p, a)   (p)->lpVtbl->RemoveNotificationType(p,a)
 
#define IDirectMusicTrack_Clone(p, a, b, c)   (p)->lpVtbl->Clone(p,a,b,c)
 
#define INTERFACE   IDirectMusicTrack8
 
#define IDirectMusicTrack8_QueryInterface(p, a, b)   (p)->lpVtbl->QueryInterface(p,a,b)
 
#define IDirectMusicTrack8_AddRef(p)   (p)->lpVtbl->AddRef(p)
 
#define IDirectMusicTrack8_Release(p)   (p)->lpVtbl->Release(p)
 
#define IDirectMusicTrack8_Init(p, a)   (p)->lpVtbl->Init(p,a)
 
#define IDirectMusicTrack8_InitPlay(p, a, b, c, d, e)   (p)->lpVtbl->InitPlay(p,a,b,c,d,e)
 
#define IDirectMusicTrack8_EndPlay(p, a)   (p)->lpVtbl->EndPlay(p,a)
 
#define IDirectMusicTrack8_Play(p, a, b, c, d, e, f, g, h)   (p)->lpVtbl->Play(p,a,b,c,d,e,f,g,h)
 
#define IDirectMusicTrack8_GetParam(p, a, b, c, d)   (p)->lpVtbl->GetParam(p,a,b,c,d)
 
#define IDirectMusicTrack8_SetParam(p, a, b, c)   (p)->lpVtbl->SetParam(p,a,b,c)
 
#define IDirectMusicTrack8_IsParamSupported(p, a)   (p)->lpVtbl->IsParamSupported(p,a)
 
#define IDirectMusicTrack8_AddNotificationType(p, a)   (p)->lpVtbl->AddNotificationType(p,a)
 
#define IDirectMusicTrack8_RemoveNotificationType(p, a)   (p)->lpVtbl->RemoveNotificationType(p,a)
 
#define IDirectMusicTrack8_Clone(p, a, b, c)   (p)->lpVtbl->Clone(p,a,b,c)
 
#define IDirectMusicTrack8_PlayEx(p, a, b, c, d, e, f, g, h)   (p)->lpVtbl->PlayEx(p,a,b,c,d,e,f,g,h)
 
#define IDirectMusicTrack8_GetParamEx(p, a, b, c, d, e, f)   (p)->lpVtbl->GetParamEx(p,a,b,c,d,e,f)
 
#define IDirectMusicTrack8_SetParamEx(p, a, b, c, d, e)   (p)->lpVtbl->SetParamEx(p,a,b,c,d,e)
 
#define IDirectMusicTrack8_Compose(p, a, b, c)   (p)->lpVtbl->Compose(p,a,b,c)
 
#define IDirectMusicTrack8_Join(p, a, b, c, d, e)   (p)->lpVtbl->Join(p,a,b,c,d,e)
 

Typedefs

typedef struct IDirectMusicTrack * LPDIRECTMUSICTRACK
 
typedef struct IDirectMusicTrack8 * LPDIRECTMUSICTRACK8
 
typedef struct IDirectMusicTool * LPDIRECTMUSICTOOL
 
typedef struct IDirectMusicTool8 * LPDIRECTMUSICTOOL8
 
typedef struct IDirectMusicPerformance * LPDIRECTMUSICPERFORMANCE
 
typedef struct IDirectMusicPerformance8 * LPDIRECTMUSICPERFORMANCE8
 
typedef struct IDirectMusicSegment * LPDIRECTMUSICSEGMENT
 
typedef struct IDirectMusicSegment8 * LPDIRECTMUSICSEGMENT8
 
typedef struct IDirectMusicSegmentState * LPDIRECTMUSICSEGMENTSTATE
 
typedef struct IDirectMusicSegmentState8 * LPDIRECTMUSICSEGMENTSTATE8
 
typedef struct IDirectMusicGraph * LPDIRECTMUSICGRAPH
 
typedef struct IDirectMusicGraph IDirectMusicGraph8
 
typedef struct IDirectMusicGraph * LPDIRECTMUSICGRAPH8
 
typedef struct _DMUS_PMSG DMUS_PMSG
 
typedef LONG MUSIC_TIME
 
typedef enum enumDMUS_TRACKF_FLAGS DMUS_TRACKF_FLAGS
 

Enumerations

enum  enumDMUS_TRACKF_FLAGS {
  DMUS_TRACKF_SEEK = 0x001 , DMUS_TRACKF_LOOP = 0x002 , DMUS_TRACKF_START = 0x004 , DMUS_TRACKF_FLUSH = 0x008 ,
  DMUS_TRACKF_DIRTY = 0x010 , DMUS_TRACKF_NOTIFY_OFF = 0x020 , DMUS_TRACKF_PLAY_OFF = 0x040 , DMUS_TRACKF_LOOPEND = 0x080 ,
  DMUS_TRACKF_STOP = 0x100 , DMUS_TRACKF_RECOMPOSE = 0x200 , DMUS_TRACKF_CLOCK = 0x400
}
 

Functions

 DEFINE_GUID (CLSID_DirectMusicBandTrack, 0xd2ac2894, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicChordTrack, 0xd2ac288b, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicChordMapTrack, 0xd2ac2896, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicCommandTrack, 0xd2ac288c, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicLyricsTrack, 0x995c1cf5, 0x54ff, 0x11d3, 0x8b, 0xda, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xb6)
 
 DEFINE_GUID (CLSID_DirectMusicMarkerTrack, 0x55a8fd00, 0x4288, 0x11d3, 0x9b, 0xd1, 0x8a, 0x0d, 0x61, 0xc8, 0x88, 0x35)
 
 DEFINE_GUID (CLSID_DirectMusicMotifTrack, 0xd2ac288e, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicMuteTrack, 0xd2ac2898, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicParamControlTrack, 0x4be0537b, 0x5c19, 0x11d3, 0x8b, 0xdc, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xb6)
 
 DEFINE_GUID (CLSID_DirectMusicScriptTrack, 0x4108fa85, 0x3586, 0x11d3, 0x8b, 0xd7, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xb6)
 
 DEFINE_GUID (CLSID_DirectMusicSegmentTriggerTrack, 0xbae4d665, 0x4ea1, 0x11d3, 0x8b, 0xda, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xb6)
 
 DEFINE_GUID (CLSID_DirectMusicSeqTrack, 0xd2ac2886, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicSignPostTrack, 0xf17e8672, 0xc3b4, 0x11d1, 0x87, 0x0b, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicStyleTrack, 0xd2ac288d, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicSysExTrack, 0xd2ac2887, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicTempoTrack, 0xd2ac2885, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicTimeSigTrack, 0xd2ac2888, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (CLSID_DirectMusicWaveTrack, 0xeed36461, 0x9ea5, 0x11d3, 0x9b, 0xd1, 0x00, 0x80, 0xc7, 0x15, 0x0a, 0x74)
 
 DEFINE_GUID (CLSID_DirectMusicMelodyFormulationTrack, 0xb0684266, 0xb57f, 0x11d2, 0x97, 0xf9, 0x00, 0xc0, 0x4f, 0xa3, 0x6e, 0x58)
 
 DEFINE_GUID (IID_IDirectMusicTool, 0xd2ac28ba, 0xb39b, 0x11d1, 0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (IID_IDirectMusicTool8, 0x0e674303, 0x3b05, 0x11d3, 0x9b, 0xd1, 0xf9, 0xe7, 0xf0, 0xa0, 0x15, 0x36)
 
 DEFINE_GUID (IID_IDirectMusicTrack, 0xf96029a1, 0x4282, 0x11d2, 0x87, 0x17, 0x00, 0x60, 0x08, 0x93, 0xb1, 0xbd)
 
 DEFINE_GUID (IID_IDirectMusicTrack8, 0x0e674304, 0x3b05, 0x11d3, 0x9b, 0xd1, 0xf9, 0xe7, 0xf0, 0xa0, 0x15, 0x36)
 
 DECLARE_INTERFACE_ (IDirectMusicTool, IUnknown)
 
 DECLARE_INTERFACE_ (IDirectMusicTool8, IDirectMusicTool)
 
 DECLARE_INTERFACE_ (IDirectMusicTrack, IUnknown)
 
 DECLARE_INTERFACE_ (IDirectMusicTrack8, IDirectMusicTrack)
 

Macro Definition Documentation

◆ COM_NO_WINDOWS_H

#define COM_NO_WINDOWS_H

Definition at line 28 of file dmplugin.h.

◆ DMUS_REGSTR_PATH_TOOLS

#define DMUS_REGSTR_PATH_TOOLS   "Software\\Microsoft\\DirectMusic\\Tools"

Definition at line 41 of file dmplugin.h.

◆ DMUS_TRACK_PARAMF_CLOCK

#define DMUS_TRACK_PARAMF_CLOCK   0x1

Definition at line 101 of file dmplugin.h.

◆ IDirectMusicTool8_AddRef

#define IDirectMusicTool8_AddRef (   p)    (p)->lpVtbl->AddRef(p)

Definition at line 184 of file dmplugin.h.

◆ IDirectMusicTool8_Clone

#define IDirectMusicTool8_Clone (   p,
  a 
)    (p)->lpVtbl->Clone(p,a)

Definition at line 194 of file dmplugin.h.

◆ IDirectMusicTool8_Flush

#define IDirectMusicTool8_Flush (   p,
  a,
  b 
)    (p)->lpVtbl->Flush(p,a,b)

Definition at line 192 of file dmplugin.h.

◆ IDirectMusicTool8_GetMediaTypeArraySize

#define IDirectMusicTool8_GetMediaTypeArraySize (   p,
  a 
)    (p)->lpVtbl->GetMediaTypeArraySize(p,a)

Definition at line 189 of file dmplugin.h.

◆ IDirectMusicTool8_GetMediaTypes

#define IDirectMusicTool8_GetMediaTypes (   p,
  a,
  b 
)    (p)->lpVtbl->GetMediaTypes(p,a,b)

Definition at line 190 of file dmplugin.h.

◆ IDirectMusicTool8_GetMsgDeliveryType

#define IDirectMusicTool8_GetMsgDeliveryType (   p,
  a 
)    (p)->lpVtbl->GetMsgDeliveryType(p,a)

Definition at line 188 of file dmplugin.h.

◆ IDirectMusicTool8_Init

#define IDirectMusicTool8_Init (   p,
  a 
)    (p)->lpVtbl->Init(p,a)

Definition at line 187 of file dmplugin.h.

◆ IDirectMusicTool8_ProcessPMsg

#define IDirectMusicTool8_ProcessPMsg (   p,
  a,
  b 
)    (p)->lpVtbl->ProcessPMsg(p,a,b)

Definition at line 191 of file dmplugin.h.

◆ IDirectMusicTool8_QueryInterface

#define IDirectMusicTool8_QueryInterface (   p,
  a,
  b 
)    (p)->lpVtbl->QueryInterface(p,a,b)

Definition at line 183 of file dmplugin.h.

◆ IDirectMusicTool8_Release

#define IDirectMusicTool8_Release (   p)    (p)->lpVtbl->Release(p)

Definition at line 185 of file dmplugin.h.

◆ IDirectMusicTool_AddRef

#define IDirectMusicTool_AddRef (   p)    (p)->lpVtbl->AddRef(p)

Definition at line 147 of file dmplugin.h.

◆ IDirectMusicTool_Flush

#define IDirectMusicTool_Flush (   p,
  a,
  b,
  c 
)    (p)->lpVtbl->Flush(p,a,b,c)

Definition at line 155 of file dmplugin.h.

◆ IDirectMusicTool_GetMediaTypeArraySize

#define IDirectMusicTool_GetMediaTypeArraySize (   p,
  a 
)    (p)->lpVtbl->GetMediaTypeArraySize(p,a)

Definition at line 152 of file dmplugin.h.

◆ IDirectMusicTool_GetMediaTypes

#define IDirectMusicTool_GetMediaTypes (   p,
  a,
  b 
)    (p)->lpVtbl->GetMediaTypes(p,a,b)

Definition at line 153 of file dmplugin.h.

◆ IDirectMusicTool_GetMsgDeliveryType

#define IDirectMusicTool_GetMsgDeliveryType (   p,
  a 
)    (p)->lpVtbl->GetMsgDeliveryType(p,a)

Definition at line 151 of file dmplugin.h.

◆ IDirectMusicTool_Init

#define IDirectMusicTool_Init (   p,
  a 
)    (p)->lpVtbl->Init(p,a)

Definition at line 150 of file dmplugin.h.

◆ IDirectMusicTool_ProcessPMsg

#define IDirectMusicTool_ProcessPMsg (   p,
  a,
  b 
)    (p)->lpVtbl->ProcessPMsg(p,a,b)

Definition at line 154 of file dmplugin.h.

◆ IDirectMusicTool_QueryInterface

#define IDirectMusicTool_QueryInterface (   p,
  a,
  b 
)    (p)->lpVtbl->QueryInterface(p,a,b)

Definition at line 146 of file dmplugin.h.

◆ IDirectMusicTool_Release

#define IDirectMusicTool_Release (   p)    (p)->lpVtbl->Release(p)

Definition at line 148 of file dmplugin.h.

◆ IDirectMusicTrack8_AddNotificationType

#define IDirectMusicTrack8_AddNotificationType (   p,
  a 
)    (p)->lpVtbl->AddNotificationType(p,a)

Definition at line 284 of file dmplugin.h.

◆ IDirectMusicTrack8_AddRef

#define IDirectMusicTrack8_AddRef (   p)    (p)->lpVtbl->AddRef(p)

Definition at line 274 of file dmplugin.h.

◆ IDirectMusicTrack8_Clone

#define IDirectMusicTrack8_Clone (   p,
  a,
  b,
  c 
)    (p)->lpVtbl->Clone(p,a,b,c)

Definition at line 286 of file dmplugin.h.

◆ IDirectMusicTrack8_Compose

#define IDirectMusicTrack8_Compose (   p,
  a,
  b,
  c 
)    (p)->lpVtbl->Compose(p,a,b,c)

Definition at line 291 of file dmplugin.h.

◆ IDirectMusicTrack8_EndPlay

#define IDirectMusicTrack8_EndPlay (   p,
  a 
)    (p)->lpVtbl->EndPlay(p,a)

Definition at line 279 of file dmplugin.h.

◆ IDirectMusicTrack8_GetParam

#define IDirectMusicTrack8_GetParam (   p,
  a,
  b,
  c,
  d 
)    (p)->lpVtbl->GetParam(p,a,b,c,d)

Definition at line 281 of file dmplugin.h.

◆ IDirectMusicTrack8_GetParamEx

#define IDirectMusicTrack8_GetParamEx (   p,
  a,
  b,
  c,
  d,
  e,
  f 
)    (p)->lpVtbl->GetParamEx(p,a,b,c,d,e,f)

Definition at line 289 of file dmplugin.h.

◆ IDirectMusicTrack8_Init

#define IDirectMusicTrack8_Init (   p,
  a 
)    (p)->lpVtbl->Init(p,a)

Definition at line 277 of file dmplugin.h.

◆ IDirectMusicTrack8_InitPlay

#define IDirectMusicTrack8_InitPlay (   p,
  a,
  b,
  c,
  d,
  e 
)    (p)->lpVtbl->InitPlay(p,a,b,c,d,e)

Definition at line 278 of file dmplugin.h.

◆ IDirectMusicTrack8_IsParamSupported

#define IDirectMusicTrack8_IsParamSupported (   p,
  a 
)    (p)->lpVtbl->IsParamSupported(p,a)

Definition at line 283 of file dmplugin.h.

◆ IDirectMusicTrack8_Join

#define IDirectMusicTrack8_Join (   p,
  a,
  b,
  c,
  d,
  e 
)    (p)->lpVtbl->Join(p,a,b,c,d,e)

Definition at line 292 of file dmplugin.h.

◆ IDirectMusicTrack8_Play

#define IDirectMusicTrack8_Play (   p,
  a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    (p)->lpVtbl->Play(p,a,b,c,d,e,f,g,h)

Definition at line 280 of file dmplugin.h.

◆ IDirectMusicTrack8_PlayEx

#define IDirectMusicTrack8_PlayEx (   p,
  a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    (p)->lpVtbl->PlayEx(p,a,b,c,d,e,f,g,h)

Definition at line 288 of file dmplugin.h.

◆ IDirectMusicTrack8_QueryInterface

#define IDirectMusicTrack8_QueryInterface (   p,
  a,
  b 
)    (p)->lpVtbl->QueryInterface(p,a,b)

Definition at line 273 of file dmplugin.h.

◆ IDirectMusicTrack8_Release

#define IDirectMusicTrack8_Release (   p)    (p)->lpVtbl->Release(p)

Definition at line 275 of file dmplugin.h.

◆ IDirectMusicTrack8_RemoveNotificationType

#define IDirectMusicTrack8_RemoveNotificationType (   p,
  a 
)    (p)->lpVtbl->RemoveNotificationType(p,a)

Definition at line 285 of file dmplugin.h.

◆ IDirectMusicTrack8_SetParam

#define IDirectMusicTrack8_SetParam (   p,
  a,
  b,
  c 
)    (p)->lpVtbl->SetParam(p,a,b,c)

Definition at line 282 of file dmplugin.h.

◆ IDirectMusicTrack8_SetParamEx

#define IDirectMusicTrack8_SetParamEx (   p,
  a,
  b,
  c,
  d,
  e 
)    (p)->lpVtbl->SetParamEx(p,a,b,c,d,e)

Definition at line 290 of file dmplugin.h.

◆ IDirectMusicTrack_AddNotificationType

#define IDirectMusicTrack_AddNotificationType (   p,
  a 
)    (p)->lpVtbl->AddNotificationType(p,a)

Definition at line 235 of file dmplugin.h.

◆ IDirectMusicTrack_AddRef

#define IDirectMusicTrack_AddRef (   p)    (p)->lpVtbl->AddRef(p)

Definition at line 225 of file dmplugin.h.

◆ IDirectMusicTrack_Clone

#define IDirectMusicTrack_Clone (   p,
  a,
  b,
  c 
)    (p)->lpVtbl->Clone(p,a,b,c)

Definition at line 237 of file dmplugin.h.

◆ IDirectMusicTrack_EndPlay

#define IDirectMusicTrack_EndPlay (   p,
  a 
)    (p)->lpVtbl->EndPlay(p,a)

Definition at line 230 of file dmplugin.h.

◆ IDirectMusicTrack_GetParam

#define IDirectMusicTrack_GetParam (   p,
  a,
  b,
  c,
  d 
)    (p)->lpVtbl->GetParam(p,a,b,c,d)

Definition at line 232 of file dmplugin.h.

◆ IDirectMusicTrack_Init

#define IDirectMusicTrack_Init (   p,
  a 
)    (p)->lpVtbl->Init(p,a)

Definition at line 228 of file dmplugin.h.

◆ IDirectMusicTrack_InitPlay

#define IDirectMusicTrack_InitPlay (   p,
  a,
  b,
  c,
  d,
  e 
)    (p)->lpVtbl->InitPlay(p,a,b,c,d,e)

Definition at line 229 of file dmplugin.h.

◆ IDirectMusicTrack_IsParamSupported

#define IDirectMusicTrack_IsParamSupported (   p,
  a 
)    (p)->lpVtbl->IsParamSupported(p,a)

Definition at line 234 of file dmplugin.h.

◆ IDirectMusicTrack_Play

#define IDirectMusicTrack_Play (   p,
  a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    (p)->lpVtbl->Play(p,a,b,c,d,e,f,g,h)

Definition at line 231 of file dmplugin.h.

◆ IDirectMusicTrack_QueryInterface

#define IDirectMusicTrack_QueryInterface (   p,
  a,
  b 
)    (p)->lpVtbl->QueryInterface(p,a,b)

Definition at line 224 of file dmplugin.h.

◆ IDirectMusicTrack_Release

#define IDirectMusicTrack_Release (   p)    (p)->lpVtbl->Release(p)

Definition at line 226 of file dmplugin.h.

◆ IDirectMusicTrack_RemoveNotificationType

#define IDirectMusicTrack_RemoveNotificationType (   p,
  a 
)    (p)->lpVtbl->RemoveNotificationType(p,a)

Definition at line 236 of file dmplugin.h.

◆ IDirectMusicTrack_SetParam

#define IDirectMusicTrack_SetParam (   p,
  a,
  b,
  c 
)    (p)->lpVtbl->SetParam(p,a,b,c)

Definition at line 233 of file dmplugin.h.

◆ INTERFACE [1/4]

#define INTERFACE   IDirectMusicTool

Definition at line 244 of file dmplugin.h.

◆ INTERFACE [2/4]

#define INTERFACE   IDirectMusicTool8

Definition at line 244 of file dmplugin.h.

◆ INTERFACE [3/4]

#define INTERFACE   IDirectMusicTrack

Definition at line 244 of file dmplugin.h.

◆ INTERFACE [4/4]

#define INTERFACE   IDirectMusicTrack8

Definition at line 244 of file dmplugin.h.

Typedef Documentation

◆ DMUS_PMSG

Definition at line 94 of file dmplugin.h.

◆ DMUS_TRACKF_FLAGS

Definition at line 107 of file dmplugin.h.

◆ IDirectMusicGraph8

typedef struct IDirectMusicGraph IDirectMusicGraph8

Definition at line 88 of file dmplugin.h.

◆ LPDIRECTMUSICGRAPH

typedef struct IDirectMusicGraph* LPDIRECTMUSICGRAPH

Definition at line 87 of file dmplugin.h.

◆ LPDIRECTMUSICGRAPH8

typedef struct IDirectMusicGraph * LPDIRECTMUSICGRAPH8

Definition at line 88 of file dmplugin.h.

◆ LPDIRECTMUSICPERFORMANCE

typedef struct IDirectMusicPerformance* LPDIRECTMUSICPERFORMANCE

Definition at line 81 of file dmplugin.h.

◆ LPDIRECTMUSICPERFORMANCE8

typedef struct IDirectMusicPerformance8* LPDIRECTMUSICPERFORMANCE8

Definition at line 82 of file dmplugin.h.

◆ LPDIRECTMUSICSEGMENT

typedef struct IDirectMusicSegment* LPDIRECTMUSICSEGMENT

Definition at line 83 of file dmplugin.h.

◆ LPDIRECTMUSICSEGMENT8

typedef struct IDirectMusicSegment8* LPDIRECTMUSICSEGMENT8

Definition at line 84 of file dmplugin.h.

◆ LPDIRECTMUSICSEGMENTSTATE

typedef struct IDirectMusicSegmentState* LPDIRECTMUSICSEGMENTSTATE

Definition at line 85 of file dmplugin.h.

◆ LPDIRECTMUSICSEGMENTSTATE8

typedef struct IDirectMusicSegmentState8* LPDIRECTMUSICSEGMENTSTATE8

Definition at line 86 of file dmplugin.h.

◆ LPDIRECTMUSICTOOL

typedef struct IDirectMusicTool* LPDIRECTMUSICTOOL

Definition at line 78 of file dmplugin.h.

◆ LPDIRECTMUSICTOOL8

typedef struct IDirectMusicTool8* LPDIRECTMUSICTOOL8

Definition at line 79 of file dmplugin.h.

◆ LPDIRECTMUSICTRACK

typedef struct IDirectMusicTrack* LPDIRECTMUSICTRACK

Definition at line 76 of file dmplugin.h.

◆ LPDIRECTMUSICTRACK8

typedef struct IDirectMusicTrack8* LPDIRECTMUSICTRACK8

Definition at line 77 of file dmplugin.h.

◆ MUSIC_TIME

typedef LONG MUSIC_TIME

Definition at line 95 of file dmplugin.h.

Enumeration Type Documentation

◆ enumDMUS_TRACKF_FLAGS

Enumerator
DMUS_TRACKF_SEEK 
DMUS_TRACKF_LOOP 
DMUS_TRACKF_START 
DMUS_TRACKF_FLUSH 
DMUS_TRACKF_DIRTY 
DMUS_TRACKF_NOTIFY_OFF 
DMUS_TRACKF_PLAY_OFF 
DMUS_TRACKF_LOOPEND 
DMUS_TRACKF_STOP 
DMUS_TRACKF_RECOMPOSE 
DMUS_TRACKF_CLOCK 

Definition at line 110 of file dmplugin.h.

110 {
111 DMUS_TRACKF_SEEK = 0x001,
112 DMUS_TRACKF_LOOP = 0x002,
113 DMUS_TRACKF_START = 0x004,
114 DMUS_TRACKF_FLUSH = 0x008,
115 DMUS_TRACKF_DIRTY = 0x010,
117 DMUS_TRACKF_PLAY_OFF = 0x040,
118 DMUS_TRACKF_LOOPEND = 0x080,
119 DMUS_TRACKF_STOP = 0x100,
120 DMUS_TRACKF_RECOMPOSE = 0x200,
121 DMUS_TRACKF_CLOCK = 0x400,
122};
@ DMUS_TRACKF_SEEK
Definition: dmplugin.h:111
@ DMUS_TRACKF_NOTIFY_OFF
Definition: dmplugin.h:116
@ DMUS_TRACKF_CLOCK
Definition: dmplugin.h:121
@ DMUS_TRACKF_PLAY_OFF
Definition: dmplugin.h:117
@ DMUS_TRACKF_START
Definition: dmplugin.h:113
@ DMUS_TRACKF_FLUSH
Definition: dmplugin.h:114
@ DMUS_TRACKF_DIRTY
Definition: dmplugin.h:115
@ DMUS_TRACKF_RECOMPOSE
Definition: dmplugin.h:120
@ DMUS_TRACKF_LOOPEND
Definition: dmplugin.h:118
@ DMUS_TRACKF_LOOP
Definition: dmplugin.h:112
@ DMUS_TRACKF_STOP
Definition: dmplugin.h:119

Function Documentation

◆ DECLARE_INTERFACE_() [1/4]

DECLARE_INTERFACE_ ( IDirectMusicTool  ,
IUnknown   
)

Definition at line 128 of file dmplugin.h.

129{
130 /*** IUnknown methods ***/
134 /*** IDirectMusicTool methods ***/
135 STDMETHOD(Init)(THIS_ struct IDirectMusicGraph *pGraph) PURE;
136 STDMETHOD(GetMsgDeliveryType)(THIS_ DWORD *pdwDeliveryType) PURE;
137 STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD *pdwNumElements) PURE;
138 STDMETHOD(GetMediaTypes)(THIS_ DWORD **padwMediaTypes, DWORD dwNumElements) PURE;
139 STDMETHOD(ProcessPMsg)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG) PURE;
140 STDMETHOD(Flush)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG, REFERENCE_TIME rtTime) PURE;
141};
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
@ Flush
Definition: fatprocs.h:1055
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
#define REFIID
Definition: guiddef.h:118
uint32_t ULONG
Definition: typedefs.h:59
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082

◆ DECLARE_INTERFACE_() [2/4]

DECLARE_INTERFACE_ ( IDirectMusicTool8  ,
IDirectMusicTool   
)

Definition at line 163 of file dmplugin.h.

164{
165 /*** IUnknown methods ***/
169 /*** IDirectMusicTool methods ***/
170 STDMETHOD(Init)(THIS_ struct IDirectMusicGraph *pGraph) PURE;
171 STDMETHOD(GetMsgDeliveryType)(THIS_ DWORD *pdwDeliveryType) PURE;
172 STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD *pdwNumElements) PURE;
173 STDMETHOD(GetMediaTypes)(THIS_ DWORD **padwMediaTypes, DWORD dwNumElements) PURE;
174 STDMETHOD(ProcessPMsg)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG) PURE;
175 STDMETHOD(Flush)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG, REFERENCE_TIME rtTime) PURE;
176 /*** IDirectMusicTool8 methods ***/
177 STDMETHOD(Clone)(THIS_ IDirectMusicTool **ppTool) PURE;
178};

◆ DECLARE_INTERFACE_() [3/4]

DECLARE_INTERFACE_ ( IDirectMusicTrack  ,
IUnknown   
)

Definition at line 202 of file dmplugin.h.

203{
204 /*** IUnknown methods ***/
208 /*** IDirectMusicTrack methods ***/
209 STDMETHOD(Init)(THIS_ struct IDirectMusicSegment *pSegment) PURE;
210 STDMETHOD(InitPlay)(THIS_ struct IDirectMusicSegmentState *pSegmentState, struct IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) PURE;
211 STDMETHOD(EndPlay)(THIS_ void *pStateData) PURE;
212 STDMETHOD(Play)(THIS_ void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, struct IDirectMusicPerformance *pPerf, struct IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE;
213 STDMETHOD(GetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE;
214 STDMETHOD(SetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, void *pParam) PURE;
215 STDMETHOD(IsParamSupported)(THIS_ REFGUID rguidType) PURE;
216 STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
217 STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
218 STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack) PURE;
219};
LONG MUSIC_TIME
Definition: dmplugin.h:95
Definition: scsiwmi.h:51
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ DECLARE_INTERFACE_() [4/4]

DECLARE_INTERFACE_ ( IDirectMusicTrack8  ,
IDirectMusicTrack   
)

Definition at line 245 of file dmplugin.h.

246{
247 /*** IUnknown methods ***/
251 /*** IDirectMusicTrack methods ***/
252 STDMETHOD(Init)(THIS_ struct IDirectMusicSegment *pSegment) PURE;
253 STDMETHOD(InitPlay)(THIS_ struct IDirectMusicSegmentState *pSegmentState, struct IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) PURE;
254 STDMETHOD(EndPlay)(THIS_ void *pStateData) PURE;
255 STDMETHOD(Play)(THIS_ void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, struct IDirectMusicPerformance *pPerf, struct IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE;
256 STDMETHOD(GetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE;
257 STDMETHOD(SetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, void *pParam) PURE;
258 STDMETHOD(IsParamSupported)(THIS_ REFGUID rguidType) PURE;
259 STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
260 STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
261 STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack) PURE;
262 /*** IDirectMusicTrack8 methods ***/
263 STDMETHOD(PlayEx)(THIS_ void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, struct IDirectMusicPerformance *pPerf, struct IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE;
264 STDMETHOD(GetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags) PURE;
265 STDMETHOD(SetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags) PURE;
266 STDMETHOD(Compose)(THIS_ IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE;
267 STDMETHOD(Join)(THIS_ IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE;
268};

◆ DEFINE_GUID() [1/23]

DEFINE_GUID ( CLSID_DirectMusicBandTrack  ,
0xd2ac2894  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [2/23]

DEFINE_GUID ( CLSID_DirectMusicChordMapTrack  ,
0xd2ac2896  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [3/23]

DEFINE_GUID ( CLSID_DirectMusicChordTrack  ,
0xd2ac288b  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [4/23]

DEFINE_GUID ( CLSID_DirectMusicCommandTrack  ,
0xd2ac288c  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [5/23]

DEFINE_GUID ( CLSID_DirectMusicLyricsTrack  ,
0x995c1cf5  ,
0x54ff  ,
0x11d3  ,
0x8b  ,
0xda  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xb6   
)

◆ DEFINE_GUID() [6/23]

DEFINE_GUID ( CLSID_DirectMusicMarkerTrack  ,
0x55a8fd00  ,
0x4288  ,
0x11d3  ,
0x9b  ,
0xd1  ,
0x8a  ,
0x0d  ,
0x61  ,
0xc8  ,
0x88  ,
0x35   
)

◆ DEFINE_GUID() [7/23]

DEFINE_GUID ( CLSID_DirectMusicMelodyFormulationTrack  ,
0xb0684266  ,
0xb57f  ,
0x11d2  ,
0x97  ,
0xf9  ,
0x00  ,
0xc0  ,
0x4f  ,
0xa3  ,
0x6e  ,
0x58   
)

◆ DEFINE_GUID() [8/23]

DEFINE_GUID ( CLSID_DirectMusicMotifTrack  ,
0xd2ac288e  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [9/23]

DEFINE_GUID ( CLSID_DirectMusicMuteTrack  ,
0xd2ac2898  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [10/23]

DEFINE_GUID ( CLSID_DirectMusicParamControlTrack  ,
0x4be0537b  ,
0x5c19  ,
0x11d3  ,
0x8b  ,
0xdc  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xb6   
)

◆ DEFINE_GUID() [11/23]

DEFINE_GUID ( CLSID_DirectMusicScriptTrack  ,
0x4108fa85  ,
0x3586  ,
0x11d3  ,
0x8b  ,
0xd7  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xb6   
)

◆ DEFINE_GUID() [12/23]

DEFINE_GUID ( CLSID_DirectMusicSegmentTriggerTrack  ,
0xbae4d665  ,
0x4ea1  ,
0x11d3  ,
0x8b  ,
0xda  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xb6   
)

◆ DEFINE_GUID() [13/23]

DEFINE_GUID ( CLSID_DirectMusicSeqTrack  ,
0xd2ac2886  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [14/23]

DEFINE_GUID ( CLSID_DirectMusicSignPostTrack  ,
0xf17e8672  ,
0xc3b4  ,
0x11d1  ,
0x87  ,
0x0b  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [15/23]

DEFINE_GUID ( CLSID_DirectMusicStyleTrack  ,
0xd2ac288d  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [16/23]

DEFINE_GUID ( CLSID_DirectMusicSysExTrack  ,
0xd2ac2887  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [17/23]

DEFINE_GUID ( CLSID_DirectMusicTempoTrack  ,
0xd2ac2885  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [18/23]

DEFINE_GUID ( CLSID_DirectMusicTimeSigTrack  ,
0xd2ac2888  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [19/23]

DEFINE_GUID ( CLSID_DirectMusicWaveTrack  ,
0xeed36461  ,
0x9ea5  ,
0x11d3  ,
0x9b  ,
0xd1  ,
0x00  ,
0x80  ,
0xc7  ,
0x15  ,
0x0a  ,
0x74   
)

◆ DEFINE_GUID() [20/23]

DEFINE_GUID ( IID_IDirectMusicTool  ,
0xd2ac28ba  ,
0xb39b  ,
0x11d1  ,
0x87  ,
0x04  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [21/23]

DEFINE_GUID ( IID_IDirectMusicTool8  ,
0x0e674303  ,
0x3b05  ,
0x11d3  ,
0x9b  ,
0xd1  ,
0xf9  ,
0xe7  ,
0xf0  ,
0xa0  ,
0x15  ,
0x36   
)

◆ DEFINE_GUID() [22/23]

DEFINE_GUID ( IID_IDirectMusicTrack  ,
0xf96029a1  ,
0x4282  ,
0x11d2  ,
0x87  ,
0x17  ,
0x00  ,
0x60  ,
0x08  ,
0x93  ,
0xb1  ,
0xbd   
)

◆ DEFINE_GUID() [23/23]

DEFINE_GUID ( IID_IDirectMusicTrack8  ,
0x0e674304  ,
0x3b05  ,
0x11d3  ,
0x9b  ,
0xd1  ,
0xf9  ,
0xe7  ,
0xf0  ,
0xa0  ,
0x15  ,
0x36   
)