ReactOS 0.4.17-dev-934-g091855f
chordmaptrack.c File Reference
#include "dmcompos_private.h"
#include "dmobject.h"
Include dependency graph for chordmaptrack.c:

Go to the source code of this file.

Classes

struct  IDirectMusicChordMapTrack
 

Typedefs

typedef struct IDirectMusicChordMapTrack IDirectMusicChordMapTrack
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (dmcompos)
 
static IDirectMusicChordMapTrack * impl_from_IDirectMusicTrack8 (IDirectMusicTrack8 *iface)
 
static HRESULT WINAPI chordmap_track_QueryInterface (IDirectMusicTrack8 *iface, REFIID riid, void **ret_iface)
 
static ULONG WINAPI chordmap_track_AddRef (IDirectMusicTrack8 *iface)
 
static ULONG WINAPI chordmap_track_Release (IDirectMusicTrack8 *iface)
 
static HRESULT WINAPI chordmap_track_Init (IDirectMusicTrack8 *iface, IDirectMusicSegment *pSegment)
 
static HRESULT WINAPI chordmap_track_InitPlay (IDirectMusicTrack8 *iface, IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags)
 
static HRESULT WINAPI chordmap_track_EndPlay (IDirectMusicTrack8 *iface, void *pStateData)
 
static HRESULT WINAPI chordmap_track_Play (IDirectMusicTrack8 *iface, void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
 
static HRESULT WINAPI chordmap_track_GetParam (IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, MUSIC_TIME *next, void *param)
 
static HRESULT WINAPI chordmap_track_SetParam (IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, void *param)
 
static HRESULT WINAPI chordmap_track_IsParamSupported (IDirectMusicTrack8 *iface, REFGUID rguidType)
 
static HRESULT WINAPI chordmap_track_AddNotificationType (IDirectMusicTrack8 *iface, REFGUID notiftype)
 
static HRESULT WINAPI chordmap_track_RemoveNotificationType (IDirectMusicTrack8 *iface, REFGUID notiftype)
 
static HRESULT WINAPI chordmap_track_Clone (IDirectMusicTrack8 *iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
 
static HRESULT WINAPI chordmap_track_PlayEx (IDirectMusicTrack8 *iface, void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
 
static HRESULT WINAPI chordmap_track_GetParamEx (IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags)
 
static HRESULT WINAPI chordmap_track_SetParamEx (IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags)
 
static HRESULT WINAPI chordmap_track_Compose (IDirectMusicTrack8 *iface, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **track)
 
static HRESULT WINAPI chordmap_track_Join (IDirectMusicTrack8 *iface, IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack)
 
static IDirectMusicChordMapTrack * impl_from_IPersistStream (IPersistStream *iface)
 
static HRESULT WINAPI IPersistStreamImpl_Load (IPersistStream *iface, IStream *pStm)
 
HRESULT create_dmchordmaptrack (REFIID lpcGUID, void **ppobj)
 

Variables

static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
 
static const IPersistStreamVtbl persiststream_vtbl
 

Typedef Documentation

◆ IDirectMusicChordMapTrack

Function Documentation

◆ chordmap_track_AddNotificationType()

static HRESULT WINAPI chordmap_track_AddNotificationType ( IDirectMusicTrack8 *  iface,
REFGUID  notiftype 
)
static

Definition at line 167 of file chordmaptrack.c.

169{
171
172 TRACE("(%p, %s): method not implemented\n", This, debugstr_dmguid(notiftype));
173 return E_NOTIMPL;
174}
static IDirectMusicChordMapTrack * impl_from_IDirectMusicTrack8(IDirectMusicTrack8 *iface)
Definition: chordmaptrack.c:35
#define E_NOTIMPL
Definition: ddrawi.h:99
const char * debugstr_dmguid(const GUID *id)
Definition: dmobject.c:36
#define TRACE(s)
Definition: solgame.cpp:4

◆ chordmap_track_AddRef()

static ULONG WINAPI chordmap_track_AddRef ( IDirectMusicTrack8 *  iface)
static

Definition at line 63 of file chordmaptrack.c.

64{
67
68 TRACE("(%p) ref=%ld\n", This, ref);
69
70 return ref;
71}
#define InterlockedIncrement
Definition: armddk.h:53
long LONG
Definition: pedump.c:60
Definition: send.c:48

◆ chordmap_track_Clone()

static HRESULT WINAPI chordmap_track_Clone ( IDirectMusicTrack8 *  iface,
MUSIC_TIME  mtStart,
MUSIC_TIME  mtEnd,
IDirectMusicTrack **  ppTrack 
)
static

Definition at line 185 of file chordmaptrack.c.

187{
189 FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppTrack);
190 return S_OK;
191}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define S_OK
Definition: intsafe.h:52

◆ chordmap_track_Compose()

static HRESULT WINAPI chordmap_track_Compose ( IDirectMusicTrack8 *  iface,
IUnknown *  context,
DWORD  trackgroup,
IDirectMusicTrack **  track 
)
static

Definition at line 222 of file chordmaptrack.c.

224{
226
227 TRACE("(%p, %p, %ld, %p): method not implemented\n", This, context, trackgroup, track);
228 return E_NOTIMPL;
229}
Definition: http.c:7252

◆ chordmap_track_EndPlay()

static HRESULT WINAPI chordmap_track_EndPlay ( IDirectMusicTrack8 *  iface,
void *  pStateData 
)
static

Definition at line 101 of file chordmaptrack.c.

102{
104 FIXME("(%p, %p): stub\n", This, pStateData);
105 return S_OK;
106}

◆ chordmap_track_GetParam()

static HRESULT WINAPI chordmap_track_GetParam ( IDirectMusicTrack8 *  iface,
REFGUID  type,
MUSIC_TIME  time,
MUSIC_TIME *  next,
void *  param 
)
static

Definition at line 117 of file chordmaptrack.c.

119{
121
122 TRACE("(%p, %s, %ld, %p, %p)\n", This, debugstr_dmguid(type), time, next, param);
123
124 if (!type)
125 return E_POINTER;
126 if (!IsEqualGUID(type, &GUID_IDirectMusicChordMap))
128
129 FIXME("GUID_IDirectMusicChordMap not handled yet\n");
130
131 return S_OK;
132}
#define DMUS_E_GET_UNSUPPORTED
Definition: dmerror.h:72
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLfloat param
Definition: glext.h:5796
__u16 time
Definition: mkdosfs.c:8
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
static unsigned __int64 next
Definition: rand_nt.c:6
#define E_POINTER
Definition: winerror.h:3480

◆ chordmap_track_GetParamEx()

static HRESULT WINAPI chordmap_track_GetParamEx ( IDirectMusicTrack8 *  iface,
REFGUID  rguidType,
REFERENCE_TIME  rtTime,
REFERENCE_TIME *  prtNext,
void *  pParam,
void *  pStateData,
DWORD  dwFlags 
)
static

Definition at line 203 of file chordmaptrack.c.

206{
208 FIXME("(%p, %s, 0x%s, %p, %p, %p, %ld): stub\n", This, debugstr_dmguid(rguidType),
209 wine_dbgstr_longlong(rtTime), prtNext, pParam, pStateData, dwFlags);
210 return S_OK;
211}
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:49
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

◆ chordmap_track_Init()

static HRESULT WINAPI chordmap_track_Init ( IDirectMusicTrack8 *  iface,
IDirectMusicSegment *  pSegment 
)
static

Definition at line 85 of file chordmaptrack.c.

86{
88 FIXME("(%p, %p): stub\n", This, pSegment);
89 return S_OK;
90}

◆ chordmap_track_InitPlay()

static HRESULT WINAPI chordmap_track_InitPlay ( IDirectMusicTrack8 *  iface,
IDirectMusicSegmentState *  pSegmentState,
IDirectMusicPerformance *  pPerformance,
void **  ppStateData,
DWORD  dwVirtualTrack8ID,
DWORD  dwFlags 
)
static

Definition at line 92 of file chordmaptrack.c.

95{
97 FIXME("(%p, %p, %p, %p, %ld, %ld): stub\n", This, pSegmentState, pPerformance, ppStateData, dwVirtualTrack8ID, dwFlags);
98 return S_OK;
99}

◆ chordmap_track_IsParamSupported()

static HRESULT WINAPI chordmap_track_IsParamSupported ( IDirectMusicTrack8 *  iface,
REFGUID  rguidType 
)
static

Definition at line 151 of file chordmaptrack.c.

152{
154 TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType));
155
156 if (!rguidType)
157 return E_POINTER;
158
159 if (IsEqualGUID (rguidType, &GUID_IDirectMusicChordMap)) {
160 TRACE("param supported\n");
161 return S_OK;
162 }
163 TRACE("param unsupported\n");
165}
#define DMUS_E_TYPE_UNSUPPORTED
Definition: dmerror.h:112

◆ chordmap_track_Join()

static HRESULT WINAPI chordmap_track_Join ( IDirectMusicTrack8 *  iface,
IDirectMusicTrack *  pNewTrack,
MUSIC_TIME  mtJoin,
IUnknown *  pContext,
DWORD  dwTrackGroup,
IDirectMusicTrack **  ppResultTrack 
)
static

Definition at line 231 of file chordmaptrack.c.

234{
236 FIXME("(%p, %p, %ld, %p, %ld, %p): stub\n", This, pNewTrack, mtJoin, pContext, dwTrackGroup, ppResultTrack);
237 return S_OK;
238}

◆ chordmap_track_Play()

static HRESULT WINAPI chordmap_track_Play ( IDirectMusicTrack8 *  iface,
void *  pStateData,
MUSIC_TIME  mtStart,
MUSIC_TIME  mtEnd,
MUSIC_TIME  mtOffset,
DWORD  dwFlags,
IDirectMusicPerformance *  pPerf,
IDirectMusicSegmentState *  pSegSt,
DWORD  dwVirtualID 
)
static

Definition at line 108 of file chordmaptrack.c.

111{
113 FIXME("(%p, %p, %ld, %ld, %ld, %ld, %p, %p, %ld): stub\n", This, pStateData, mtStart, mtEnd, mtOffset, dwFlags, pPerf, pSegSt, dwVirtualID);
114 return S_OK;
115}

◆ chordmap_track_PlayEx()

static HRESULT WINAPI chordmap_track_PlayEx ( IDirectMusicTrack8 *  iface,
void *  pStateData,
REFERENCE_TIME  rtStart,
REFERENCE_TIME  rtEnd,
REFERENCE_TIME  rtOffset,
DWORD  dwFlags,
IDirectMusicPerformance *  pPerf,
IDirectMusicSegmentState *  pSegSt,
DWORD  dwVirtualID 
)
static

Definition at line 193 of file chordmaptrack.c.

196{
198 FIXME("(%p, %p, 0x%s, 0x%s, 0x%s, %ld, %p, %p, %ld): stub\n", This, pStateData, wine_dbgstr_longlong(rtStart),
199 wine_dbgstr_longlong(rtEnd), wine_dbgstr_longlong(rtOffset), dwFlags, pPerf, pSegSt, dwVirtualID);
200 return S_OK;
201}

◆ chordmap_track_QueryInterface()

static HRESULT WINAPI chordmap_track_QueryInterface ( IDirectMusicTrack8 *  iface,
REFIID  riid,
void **  ret_iface 
)
static

Definition at line 40 of file chordmaptrack.c.

42{
44
45 TRACE("(%p, %s, %p)\n", This, debugstr_dmguid(riid), ret_iface);
46
47 *ret_iface = NULL;
48
49 if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDirectMusicTrack) ||
50 IsEqualIID(riid, &IID_IDirectMusicTrack8))
51 *ret_iface = iface;
53 *ret_iface = &This->dmobj.IPersistStream_iface;
54 else {
55 WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ret_iface);
56 return E_NOINTERFACE;
57 }
58
59 IUnknown_AddRef((IUnknown*)*ret_iface);
60 return S_OK;
61}
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
#define NULL
Definition: types.h:112
REFIID riid
Definition: atlbase.h:39
const GUID IID_IPersistStream
Definition: proxy.cpp:13
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ chordmap_track_Release()

static ULONG WINAPI chordmap_track_Release ( IDirectMusicTrack8 *  iface)
static

Definition at line 73 of file chordmaptrack.c.

74{
77
78 TRACE("(%p) ref=%ld\n", This, ref);
79
80 if (!ref) free(This);
81
82 return ref;
83}
#define InterlockedDecrement
Definition: armddk.h:52
#define free
Definition: debug_ros.c:5

◆ chordmap_track_RemoveNotificationType()

static HRESULT WINAPI chordmap_track_RemoveNotificationType ( IDirectMusicTrack8 *  iface,
REFGUID  notiftype 
)
static

Definition at line 176 of file chordmaptrack.c.

178{
180
181 TRACE("(%p, %s): method not implemented\n", This, debugstr_dmguid(notiftype));
182 return E_NOTIMPL;
183}

◆ chordmap_track_SetParam()

static HRESULT WINAPI chordmap_track_SetParam ( IDirectMusicTrack8 *  iface,
REFGUID  type,
MUSIC_TIME  time,
void *  param 
)
static

Definition at line 134 of file chordmaptrack.c.

136{
138
139 TRACE("(%p, %s, %ld, %p)\n", This, debugstr_dmguid(type), time, param);
140
141 if (!type)
142 return E_POINTER;
143 if (!IsEqualGUID(type, &GUID_IDirectMusicChordMap))
145
146 FIXME("GUID_IDirectMusicChordMap not handled yet\n");
147
148 return S_OK;
149}
#define DMUS_E_SET_UNSUPPORTED
Definition: dmerror.h:71

◆ chordmap_track_SetParamEx()

static HRESULT WINAPI chordmap_track_SetParamEx ( IDirectMusicTrack8 *  iface,
REFGUID  rguidType,
REFERENCE_TIME  rtTime,
void *  pParam,
void *  pStateData,
DWORD  dwFlags 
)
static

Definition at line 213 of file chordmaptrack.c.

215{
217 FIXME("(%p, %s, 0x%s, %p, %p, %ld): stub\n", This, debugstr_dmguid(rguidType),
218 wine_dbgstr_longlong(rtTime), pParam, pStateData, dwFlags);
219 return S_OK;
220}

◆ create_dmchordmaptrack()

HRESULT create_dmchordmaptrack ( REFIID  lpcGUID,
void **  ppobj 
)

Definition at line 285 of file chordmaptrack.c.

286{
288 HRESULT hr;
289
290 *ppobj = NULL;
291 if (!(track = calloc(1, sizeof(*track)))) return E_OUTOFMEMORY;
293 track->ref = 1;
294 dmobject_init(&track->dmobj, &CLSID_DirectMusicChordMapTrack,
296 track->dmobj.IPersistStream_iface.lpVtbl = &persiststream_vtbl;
297
300
301 return hr;
302}
static const IPersistStreamVtbl persiststream_vtbl
static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HRESULT hr
Definition: delayimp.cpp:582
void dmobject_init(struct dmobject *dmobj, const GUID *class, IUnknown *outer_unk)
Definition: dmobject.c:749
#define IDirectMusicTrack8_Release(p)
Definition: dmplugin.h:275
#define IDirectMusicTrack8_QueryInterface(p, a, b)
Definition: dmplugin.h:273
#define calloc
Definition: rosglue.h:14
IDirectMusicTrack8 IDirectMusicTrack8_iface
Definition: chordmaptrack.c:29

◆ impl_from_IDirectMusicTrack8()

◆ impl_from_IPersistStream()

static IDirectMusicChordMapTrack * impl_from_IPersistStream ( IPersistStream *  iface)
inlinestatic

Definition at line 261 of file chordmaptrack.c.

262{
263 return CONTAINING_RECORD(iface, IDirectMusicChordMapTrack, dmobj.IPersistStream_iface);
264}

Referenced by IPersistStreamImpl_Load().

◆ IPersistStreamImpl_Load()

static HRESULT WINAPI IPersistStreamImpl_Load ( IPersistStream *  iface,
IStream *  pStm 
)
static

Definition at line 266 of file chordmaptrack.c.

267{
269 FIXME("(%p, %p): Loading not implemented yet\n", This, pStm);
270 return S_OK;
271}
static IDirectMusicChordMapTrack * impl_from_IPersistStream(IPersistStream *iface)

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( dmcompos  )

Variable Documentation

◆ dmtrack8_vtbl

const IDirectMusicTrack8Vtbl dmtrack8_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI chordmap_track_EndPlay(IDirectMusicTrack8 *iface, void *pStateData)
static HRESULT WINAPI chordmap_track_Join(IDirectMusicTrack8 *iface, IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack)
static HRESULT WINAPI chordmap_track_Clone(IDirectMusicTrack8 *iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
static HRESULT WINAPI chordmap_track_PlayEx(IDirectMusicTrack8 *iface, void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
static HRESULT WINAPI chordmap_track_SetParam(IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, void *param)
static ULONG WINAPI chordmap_track_Release(IDirectMusicTrack8 *iface)
Definition: chordmaptrack.c:73
static HRESULT WINAPI chordmap_track_QueryInterface(IDirectMusicTrack8 *iface, REFIID riid, void **ret_iface)
Definition: chordmaptrack.c:40
static HRESULT WINAPI chordmap_track_InitPlay(IDirectMusicTrack8 *iface, IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags)
Definition: chordmaptrack.c:92
static HRESULT WINAPI chordmap_track_Init(IDirectMusicTrack8 *iface, IDirectMusicSegment *pSegment)
Definition: chordmaptrack.c:85
static ULONG WINAPI chordmap_track_AddRef(IDirectMusicTrack8 *iface)
Definition: chordmaptrack.c:63
static HRESULT WINAPI chordmap_track_Compose(IDirectMusicTrack8 *iface, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **track)
static HRESULT WINAPI chordmap_track_SetParamEx(IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags)
static HRESULT WINAPI chordmap_track_GetParamEx(IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags)
static HRESULT WINAPI chordmap_track_Play(IDirectMusicTrack8 *iface, void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
static HRESULT WINAPI chordmap_track_IsParamSupported(IDirectMusicTrack8 *iface, REFGUID rguidType)
static HRESULT WINAPI chordmap_track_GetParam(IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, MUSIC_TIME *next, void *param)
static HRESULT WINAPI chordmap_track_RemoveNotificationType(IDirectMusicTrack8 *iface, REFGUID notiftype)
static HRESULT WINAPI chordmap_track_AddNotificationType(IDirectMusicTrack8 *iface, REFGUID notiftype)

Definition at line 240 of file chordmaptrack.c.

Referenced by create_dmchordmaptrack().

◆ persiststream_vtbl

const IPersistStreamVtbl persiststream_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI IPersistStreamImpl_Load(IPersistStream *iface, IStream *pStm)
ULONG WINAPI dmobj_IPersistStream_Release(IPersistStream *iface)
Definition: dmobject.c:702
HRESULT WINAPI unimpl_IPersistStream_GetSizeMax(IPersistStream *iface, ULARGE_INTEGER *size)
Definition: dmobject.c:742
HRESULT WINAPI dmobj_IPersistStream_GetClassID(IPersistStream *iface, CLSID *class)
Definition: dmobject.c:708
ULONG WINAPI dmobj_IPersistStream_AddRef(IPersistStream *iface)
Definition: dmobject.c:696
HRESULT WINAPI dmobj_IPersistStream_QueryInterface(IPersistStream *iface, REFIID riid, void **ret_iface)
Definition: dmobject.c:689
HRESULT WINAPI unimpl_IPersistStream_IsDirty(IPersistStream *iface)
Definition: dmobject.c:729
HRESULT WINAPI unimpl_IPersistStream_Save(IPersistStream *iface, IStream *stream, BOOL clear_dirty)
Definition: dmobject.c:735

Definition at line 273 of file chordmaptrack.c.

Referenced by create_dmchordmaptrack().