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

Go to the source code of this file.

Classes

struct  style_item
 
struct  IDirectMusicStyleTrack
 

Typedefs

typedef struct IDirectMusicStyleTrack IDirectMusicStyleTrack
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (dmstyle)
 
static IDirectMusicStyleTrack * impl_from_IDirectMusicTrack8 (IDirectMusicTrack8 *iface)
 
static HRESULT WINAPI style_track_QueryInterface (IDirectMusicTrack8 *iface, REFIID riid, void **ret_iface)
 
static ULONG WINAPI style_track_AddRef (IDirectMusicTrack8 *iface)
 
static ULONG WINAPI style_track_Release (IDirectMusicTrack8 *iface)
 
static HRESULT WINAPI style_track_Init (IDirectMusicTrack8 *iface, IDirectMusicSegment *pSegment)
 
static HRESULT WINAPI style_track_InitPlay (IDirectMusicTrack8 *iface, IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags)
 
static HRESULT WINAPI style_track_EndPlay (IDirectMusicTrack8 *iface, void *pStateData)
 
static HRESULT WINAPI style_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 style_track_GetParam (IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, MUSIC_TIME *next, void *param)
 
static HRESULT WINAPI style_track_SetParam (IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, void *param)
 
static HRESULT WINAPI style_track_IsParamSupported (IDirectMusicTrack8 *iface, REFGUID rguidType)
 
static HRESULT WINAPI style_track_AddNotificationType (IDirectMusicTrack8 *iface, REFGUID rguidNotificationType)
 
static HRESULT WINAPI style_track_RemoveNotificationType (IDirectMusicTrack8 *iface, REFGUID rguidNotificationType)
 
static HRESULT WINAPI style_track_Clone (IDirectMusicTrack8 *iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
 
static HRESULT WINAPI style_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 style_track_GetParamEx (IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags)
 
static HRESULT WINAPI style_track_SetParamEx (IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags)
 
static HRESULT WINAPI style_track_Compose (IDirectMusicTrack8 *iface, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **track)
 
static HRESULT WINAPI style_track_Join (IDirectMusicTrack8 *iface, IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack)
 
static HRESULT parse_style_ref (IDirectMusicStyleTrack *This, IStream *stream, const struct chunk_entry *strf)
 
static IDirectMusicStyleTrack * impl_from_IPersistStream (IPersistStream *iface)
 
static HRESULT WINAPI IPersistStreamImpl_Load (IPersistStream *iface, IStream *stream)
 
HRESULT create_dmstyletrack (REFIID lpcGUID, void **ppobj)
 

Variables

static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
 
static const IPersistStreamVtbl persiststream_vtbl
 

Typedef Documentation

◆ IDirectMusicStyleTrack

Function Documentation

◆ create_dmstyletrack()

HRESULT create_dmstyletrack ( REFIID  lpcGUID,
void **  ppobj 
)

Definition at line 386 of file styletrack.c.

387{
389 HRESULT hr;
390
391 *ppobj = NULL;
392 if (!(track = calloc(1, sizeof(*track)))) return E_OUTOFMEMORY;
394 track->ref = 1;
395 dmobject_init(&track->dmobj, &CLSID_DirectMusicStyleTrack,
397 track->dmobj.IPersistStream_iface.lpVtbl = &persiststream_vtbl;
398 list_init (&track->Items);
399
402
403 return hr;
404}
static void list_init(struct list_entry *head)
Definition: list.h:51
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HRESULT hr
Definition: delayimp.cpp:582
#define NULL
Definition: types.h:112
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: styletrack.c:35
struct dmobject dmobj
Definition: styletrack.c:36
static const IPersistStreamVtbl persiststream_vtbl
Definition: styletrack.c:374
static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
Definition: styletrack.c:281

◆ impl_from_IDirectMusicTrack8()

◆ impl_from_IPersistStream()

static IDirectMusicStyleTrack * impl_from_IPersistStream ( IPersistStream *  iface)
inlinestatic

Definition at line 345 of file styletrack.c.

346{
347 return CONTAINING_RECORD(iface, IDirectMusicStyleTrack, dmobj.IPersistStream_iface);
348}

Referenced by IPersistStreamImpl_Load().

◆ IPersistStreamImpl_Load()

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

Definition at line 350 of file styletrack.c.

351{
353 struct chunk_entry track = {0};
354 struct chunk_entry chunk = {.parent = &track};
355 HRESULT hr;
356
357 TRACE("(%p, %p): Loading\n", This, stream);
358
359 if (!stream)
360 return E_POINTER;
361
362 if (stream_get_chunk(stream, &track) != S_OK || track.id != FOURCC_LIST ||
365
366 while ((hr = stream_next_chunk(stream, &chunk)) == S_OK)
369 break;
370
371 return SUCCEEDED(hr) ? S_OK : hr;
372}
#define DMUS_E_TRACK_NOT_FOUND
Definition: dmerror.h:114
HRESULT stream_next_chunk(IStream *stream, struct chunk_entry *chunk)
Definition: dmobject.c:360
HRESULT stream_get_chunk(IStream *stream, struct chunk_entry *chunk)
Definition: dmobject.c:307
#define DMUS_FOURCC_STYLE_REF_LIST
Definition: dmusicf.h:203
#define DMUS_FOURCC_STYLE_TRACK_LIST
Definition: dmusicf.h:202
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
#define FOURCC_LIST
Definition: mmsystem.h:565
#define TRACE(s)
Definition: solgame.cpp:4
Definition: dmobject.h:26
FOURCC id
Definition: dmobject.h:27
FOURCC type
Definition: dmobject.h:29
Definition: parse.h:23
static IDirectMusicStyleTrack * impl_from_IPersistStream(IPersistStream *iface)
Definition: styletrack.c:345
static HRESULT parse_style_ref(IDirectMusicStyleTrack *This, IStream *stream, const struct chunk_entry *strf)
Definition: styletrack.c:302
#define E_POINTER
Definition: winerror.h:3480

◆ parse_style_ref()

static HRESULT parse_style_ref ( IDirectMusicStyleTrack *  This,
IStream *  stream,
const struct chunk_entry *  strf 
)
static

Definition at line 302 of file styletrack.c.

303{
304 struct chunk_entry chunk = {.parent = strf};
305 IDirectMusicObject *dmobj;
306 struct style_item *item;
307 HRESULT hr;
308
309 /* First chunk is a timestamp */
312 if (!(item = malloc(sizeof(*item))))
313 return E_OUTOFMEMORY;
314 hr = stream_chunk_get_data(stream, &chunk, &item->timestamp, sizeof(item->timestamp));
315 if (FAILED(hr))
316 goto error;
317
318 /* Second chunk is a reference list */
319 if (stream_next_chunk(stream, &chunk) != S_OK || chunk.id != FOURCC_LIST ||
320 chunk.type != DMUS_FOURCC_REF_LIST) {
322 goto error;
323 }
324 if (FAILED(hr = dmobj_parsereference(stream, &chunk, &dmobj))) {
325 WARN("Failed to load reference: %#lx\n", hr);
326 goto error;
327 }
328 hr = IDirectMusicObject_QueryInterface(dmobj, &IID_IDirectMusicStyle8, (void **)&item->dmstyle);
329 if (FAILED(hr)) {
330 WARN("Reference not an IDirectMusicStyle8\n");
332 goto error;
333 }
334
335 list_add_tail(&This->Items, &item->entry);
336 TRACE("Found reference to style %p with timestamp %lu\n", item->dmstyle, item->timestamp);
337
338 return S_OK;
339
340error:
341 free(item);
342 return hr;
343}
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
Definition: list.h:83
#define WARN(fmt,...)
Definition: precomp.h:61
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
#define DMUS_E_INVALID_SEGMENTTRIGGERTRACK
Definition: dmerror.h:146
#define DMUS_E_CHUNKNOTFOUND
Definition: dmerror.h:66
HRESULT stream_chunk_get_data(IStream *stream, const struct chunk_entry *chunk, void *data, ULONG size)
Definition: dmobject.c:417
HRESULT dmobj_parsereference(IStream *stream, const struct chunk_entry *list, IDirectMusicObject **dmobj)
Definition: dmobject.c:654
#define DMUS_FOURCC_REF_LIST
Definition: dmusicf.h:102
#define DMUS_FOURCC_TIME_STAMP_CHUNK
Definition: dmusicf.h:158
#define IDirectMusicObject_QueryInterface(p, a, b)
Definition: dmusici.h:842
#define IDirectMusicObject_Release(p)
Definition: dmusici.h:844
#define error(str)
Definition: mkdosfs.c:1605

Referenced by IPersistStreamImpl_Load().

◆ style_track_AddNotificationType()

static HRESULT WINAPI style_track_AddNotificationType ( IDirectMusicTrack8 *  iface,
REFGUID  rguidNotificationType 
)
static

Definition at line 210 of file styletrack.c.

212{
214 FIXME("(%p, %s): stub\n", This, debugstr_dmguid(rguidNotificationType));
215 return S_OK;
216}
#define FIXME(fmt,...)
Definition: precomp.h:53
const char * debugstr_dmguid(const GUID *id)
Definition: dmobject.c:36
static IDirectMusicStyleTrack * impl_from_IDirectMusicTrack8(IDirectMusicTrack8 *iface)
Definition: styletrack.c:42

◆ style_track_AddRef()

static ULONG WINAPI style_track_AddRef ( IDirectMusicTrack8 *  iface)
static

Definition at line 70 of file styletrack.c.

71{
74
75 TRACE("(%p) ref=%ld\n", This, ref);
76
77 return ref;
78}
#define InterlockedIncrement
Definition: armddk.h:53
long LONG
Definition: pedump.c:60
Definition: send.c:48

◆ style_track_Clone()

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

Definition at line 226 of file styletrack.c.

228{
230 FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppTrack);
231 return S_OK;
232}

◆ style_track_Compose()

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

Definition at line 263 of file styletrack.c.

265{
267
268 TRACE("(%p, %p, %ld, %p): method not implemented\n", This, context, trackgroup, track);
269 return E_NOTIMPL;
270}
#define E_NOTIMPL
Definition: ddrawi.h:99
Definition: http.c:7252

◆ style_track_EndPlay()

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

Definition at line 118 of file styletrack.c.

119{
121 FIXME("(%p, %p): stub\n", This, pStateData);
122 return S_OK;
123}

◆ style_track_GetParam()

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

Definition at line 134 of file styletrack.c.

136{
138 struct style_item *item;
139
140 TRACE("(%p, %s, %ld, %p, %p):\n", This, debugstr_dmguid(type), time, next, param);
141
142 if (!type)
143 return E_POINTER;
144
145 if (IsEqualGUID(&GUID_IDirectMusicStyle, type)) {
146 LIST_FOR_EACH_ENTRY(item, &This->Items, struct style_item, entry) {
148 *((IDirectMusicStyle8 **)param) = item->dmstyle;
149
150 return S_OK;
151 }
152
153 return DMUS_E_NOT_FOUND;
154 } else if (IsEqualGUID(&GUID_TimeSignature, type)) {
155 FIXME("GUID_TimeSignature not handled yet\n");
156 return S_OK;
157 }
158
160}
#define DMUS_E_GET_UNSUPPORTED
Definition: dmerror.h:72
#define DMUS_E_NOT_FOUND
Definition: dmerror.h:109
#define IDirectMusicStyle8_AddRef(p)
Definition: dmusici.h:1556
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLfloat param
Definition: glext.h:5796
uint32_t entry
Definition: isohybrid.c:63
__u16 time
Definition: mkdosfs.c:8
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
static unsigned __int64 next
Definition: rand_nt.c:6
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:236

◆ style_track_GetParamEx()

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

Definition at line 244 of file styletrack.c.

247{
249 FIXME("(%p, %s, 0x%s, %p, %p, %p, %ld): stub\n", This, debugstr_dmguid(rguidType),
250 wine_dbgstr_longlong(rtTime), prtNext, pParam, pStateData, dwFlags);
251 return S_OK;
252}
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

◆ style_track_Init()

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

Definition at line 102 of file styletrack.c.

103{
105 FIXME("(%p, %p): stub\n", This, pSegment);
106 return S_OK;
107}

◆ style_track_InitPlay()

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

Definition at line 109 of file styletrack.c.

112{
114 FIXME("(%p, %p, %p, %p, %ld, %ld): stub\n", This, pSegmentState, pPerformance, ppStateData, dwVirtualTrack8ID, dwFlags);
115 return S_OK;
116}

◆ style_track_IsParamSupported()

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

Definition at line 189 of file styletrack.c.

190{
192
193 TRACE("(%p, %s)\n", This, debugstr_dmguid(rguidType));
194
195 if (!rguidType)
196 return E_POINTER;
197
198 if (IsEqualGUID (rguidType, &GUID_DisableTimeSig)
199 || IsEqualGUID (rguidType, &GUID_EnableTimeSig)
200 || IsEqualGUID (rguidType, &GUID_IDirectMusicStyle)
201 || IsEqualGUID (rguidType, &GUID_SeedVariations)
202 || IsEqualGUID (rguidType, &GUID_TimeSignature)) {
203 TRACE("param supported\n");
204 return S_OK;
205 }
206 TRACE("param unsupported\n");
208}
#define DMUS_E_TYPE_UNSUPPORTED
Definition: dmerror.h:112

◆ style_track_Join()

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

Definition at line 272 of file styletrack.c.

275{
277 FIXME("(%p, %p, %ld, %p, %ld, %p): stub\n", This, pNewTrack, mtJoin, pContext, dwTrackGroup, ppResultTrack);
278 return S_OK;
279}

◆ style_track_Play()

static HRESULT WINAPI style_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 125 of file styletrack.c.

128{
130 FIXME("(%p, %p, %ld, %ld, %ld, %ld, %p, %p, %ld): stub\n", This, pStateData, mtStart, mtEnd, mtOffset, dwFlags, pPerf, pSegSt, dwVirtualID);
131 return S_OK;
132}

◆ style_track_PlayEx()

static HRESULT WINAPI style_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 234 of file styletrack.c.

237{
239 FIXME("(%p, %p, 0x%s, 0x%s, 0x%s, %ld, %p, %p, %ld): stub\n", This, pStateData, wine_dbgstr_longlong(rtStart),
240 wine_dbgstr_longlong(rtEnd), wine_dbgstr_longlong(rtOffset), dwFlags, pPerf, pSegSt, dwVirtualID);
241 return S_OK;
242}

◆ style_track_QueryInterface()

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

Definition at line 47 of file styletrack.c.

49{
51
52 TRACE("(%p, %s, %p)\n", This, debugstr_dmguid(riid), ret_iface);
53
54 *ret_iface = NULL;
55
56 if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDirectMusicTrack) ||
57 IsEqualIID(riid, &IID_IDirectMusicTrack8))
58 *ret_iface = iface;
60 *ret_iface = &This->dmobj.IPersistStream_iface;
61 else {
62 WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ret_iface);
63 return E_NOINTERFACE;
64 }
65
66 IUnknown_AddRef((IUnknown*)*ret_iface);
67 return S_OK;
68}
const GUID IID_IUnknown
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

◆ style_track_Release()

static ULONG WINAPI style_track_Release ( IDirectMusicTrack8 *  iface)
static

Definition at line 80 of file styletrack.c.

81{
84
85 TRACE("(%p) ref=%ld\n", This, ref);
86
87 if (!ref) {
88 struct style_item *item, *item2;
89
91 list_remove(&item->entry);
93 free(item);
94 }
95
96 free(This);
97 }
98
99 return ref;
100}
#define InterlockedDecrement
Definition: armddk.h:52
static void list_remove(struct list_entry *entry)
Definition: list.h:90
#define IDirectMusicStyle8_Release(p)
Definition: dmusici.h:1557
static const struct metadata_item item2[]
Definition: metadata.c:3608
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
Definition: list.h:242

◆ style_track_RemoveNotificationType()

static HRESULT WINAPI style_track_RemoveNotificationType ( IDirectMusicTrack8 *  iface,
REFGUID  rguidNotificationType 
)
static

Definition at line 218 of file styletrack.c.

220{
222 FIXME("(%p, %s): stub\n", This, debugstr_dmguid(rguidNotificationType));
223 return S_OK;
224}

◆ style_track_SetParam()

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

Definition at line 162 of file styletrack.c.

164{
166
167 TRACE("(%p, %s, %ld, %p)\n", This, debugstr_dmguid(type), time, param);
168
169 if (!type)
170 return E_POINTER;
171
172 if (IsEqualGUID(type, &GUID_DisableTimeSig)) {
173 FIXME("GUID_DisableTimeSig not handled yet\n");
174 return S_OK;
175 } else if (IsEqualGUID(type, &GUID_EnableTimeSig)) {
176 FIXME("GUID_EnableTimeSig not handled yet\n");
177 return S_OK;
178 } else if (IsEqualGUID(type, &GUID_IDirectMusicStyle)) {
179 FIXME("GUID_IDirectMusicStyle not handled yet\n");
180 return S_OK;
181 } else if (IsEqualGUID(type, &GUID_SeedVariations)) {
182 FIXME("GUID_SeedVariations not handled yet\n");
183 return S_OK;
184 }
185
187}
#define DMUS_E_SET_UNSUPPORTED
Definition: dmerror.h:71

◆ style_track_SetParamEx()

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

Definition at line 254 of file styletrack.c.

256{
258 FIXME("(%p, %s, 0x%s, %p, %p, %ld): stub\n", This, debugstr_dmguid(rguidType),
259 wine_dbgstr_longlong(rtTime), pParam, pStateData, dwFlags);
260 return S_OK;
261}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( dmstyle  )

Variable Documentation

◆ dmtrack8_vtbl

const IDirectMusicTrack8Vtbl dmtrack8_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI style_track_GetParamEx(IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags)
Definition: styletrack.c:244
static HRESULT WINAPI style_track_Join(IDirectMusicTrack8 *iface, IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack)
Definition: styletrack.c:272
static HRESULT WINAPI style_track_Play(IDirectMusicTrack8 *iface, void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
Definition: styletrack.c:125
static HRESULT WINAPI style_track_GetParam(IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, MUSIC_TIME *next, void *param)
Definition: styletrack.c:134
static HRESULT WINAPI style_track_SetParamEx(IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags)
Definition: styletrack.c:254
static HRESULT WINAPI style_track_AddNotificationType(IDirectMusicTrack8 *iface, REFGUID rguidNotificationType)
Definition: styletrack.c:210
static HRESULT WINAPI style_track_IsParamSupported(IDirectMusicTrack8 *iface, REFGUID rguidType)
Definition: styletrack.c:189
static HRESULT WINAPI style_track_SetParam(IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, void *param)
Definition: styletrack.c:162
static HRESULT WINAPI style_track_Compose(IDirectMusicTrack8 *iface, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **track)
Definition: styletrack.c:263
static HRESULT WINAPI style_track_Clone(IDirectMusicTrack8 *iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
Definition: styletrack.c:226
static HRESULT WINAPI style_track_QueryInterface(IDirectMusicTrack8 *iface, REFIID riid, void **ret_iface)
Definition: styletrack.c:47
static HRESULT WINAPI style_track_EndPlay(IDirectMusicTrack8 *iface, void *pStateData)
Definition: styletrack.c:118
static ULONG WINAPI style_track_AddRef(IDirectMusicTrack8 *iface)
Definition: styletrack.c:70
static HRESULT WINAPI style_track_PlayEx(IDirectMusicTrack8 *iface, void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
Definition: styletrack.c:234
static HRESULT WINAPI style_track_InitPlay(IDirectMusicTrack8 *iface, IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags)
Definition: styletrack.c:109
static HRESULT WINAPI style_track_RemoveNotificationType(IDirectMusicTrack8 *iface, REFGUID rguidNotificationType)
Definition: styletrack.c:218
static HRESULT WINAPI style_track_Init(IDirectMusicTrack8 *iface, IDirectMusicSegment *pSegment)
Definition: styletrack.c:102
static ULONG WINAPI style_track_Release(IDirectMusicTrack8 *iface)
Definition: styletrack.c:80

Definition at line 281 of file styletrack.c.

Referenced by create_dmstyletrack().

◆ persiststream_vtbl

const IPersistStreamVtbl persiststream_vtbl
static
Initial value:
= {
}
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
static HRESULT WINAPI IPersistStreamImpl_Load(IPersistStream *iface, IStream *stream)
Definition: styletrack.c:350

Definition at line 374 of file styletrack.c.

Referenced by create_dmstyletrack().