ReactOS 0.4.17-dev-934-g091855f
lyricstrack.c File Reference
#include "dmime_private.h"
Include dependency graph for lyricstrack.c:

Go to the source code of this file.

Classes

struct  IDirectMusicLyricsTrack
 

Typedefs

typedef struct IDirectMusicLyricsTrack IDirectMusicLyricsTrack
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (dmime)
 
static IDirectMusicLyricsTrack * impl_from_IDirectMusicTrack8 (IDirectMusicTrack8 *iface)
 
static IDirectMusicLyricsTrack * impl_from_IPersistStream (IPersistStream *iface)
 
static HRESULT WINAPI lyrics_track_QueryInterface (IDirectMusicTrack8 *iface, REFIID riid, void **ret_iface)
 
static ULONG WINAPI lyrics_track_AddRef (IDirectMusicTrack8 *iface)
 
static ULONG WINAPI lyrics_track_Release (IDirectMusicTrack8 *iface)
 
static HRESULT WINAPI lyrics_track_Init (IDirectMusicTrack8 *iface, IDirectMusicSegment *pSegment)
 
static HRESULT WINAPI lyrics_track_InitPlay (IDirectMusicTrack8 *iface, IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags)
 
static HRESULT WINAPI lyrics_track_EndPlay (IDirectMusicTrack8 *iface, void *pStateData)
 
static HRESULT WINAPI lyrics_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 lyrics_track_GetParam (IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, MUSIC_TIME *next, void *param)
 
static HRESULT WINAPI lyrics_track_SetParam (IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, void *param)
 
static HRESULT WINAPI lyrics_track_IsParamSupported (IDirectMusicTrack8 *iface, REFGUID type)
 
static HRESULT WINAPI lyrics_track_AddNotificationType (IDirectMusicTrack8 *iface, REFGUID notiftype)
 
static HRESULT WINAPI lyrics_track_RemoveNotificationType (IDirectMusicTrack8 *iface, REFGUID notiftype)
 
static HRESULT WINAPI lyrics_track_Clone (IDirectMusicTrack8 *iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
 
static HRESULT WINAPI lyrics_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 lyrics_track_GetParamEx (IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags)
 
static HRESULT WINAPI lyrics_track_SetParamEx (IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags)
 
static HRESULT WINAPI lyrics_track_Compose (IDirectMusicTrack8 *iface, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **track)
 
static HRESULT WINAPI lyrics_track_Join (IDirectMusicTrack8 *iface, IDirectMusicTrack *newtrack, MUSIC_TIME join, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **resulttrack)
 
static HRESULT parse_lyrics_track_events (IDirectMusicLyricsTrack *This, IStream *stream, struct chunk_entry *lyric)
 
static HRESULT parse_lyricstrack_list (IDirectMusicLyricsTrack *This, IStream *stream, struct chunk_entry *lyric)
 
static HRESULT WINAPI lyrics_IPersistStream_Load (IPersistStream *iface, IStream *stream)
 
HRESULT create_dmlyricstrack (REFIID lpcGUID, void **ppobj)
 

Variables

static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
 
static const IPersistStreamVtbl persiststream_vtbl
 

Typedef Documentation

◆ IDirectMusicLyricsTrack

Function Documentation

◆ create_dmlyricstrack()

HRESULT create_dmlyricstrack ( REFIID  lpcGUID,
void **  ppobj 
)

Definition at line 344 of file lyricstrack.c.

345{
347 HRESULT hr;
348
349 *ppobj = NULL;
350 if (!(track = calloc(1, sizeof(*track)))) return E_OUTOFMEMORY;
352 track->ref = 1;
353 dmobject_init(&track->dmobj, &CLSID_DirectMusicLyricsTrack,
355 track->dmobj.IPersistStream_iface.lpVtbl = &persiststream_vtbl;
356
359
360 return hr;
361}
#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
static const IPersistStreamVtbl persiststream_vtbl
Definition: lyricstrack.c:332
static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
Definition: lyricstrack.c:221
#define calloc
Definition: rosglue.h:14
IDirectMusicTrack8 IDirectMusicTrack8_iface
Definition: lyricstrack.c:28
struct dmobject dmobj
Definition: lyricstrack.c:29

◆ impl_from_IDirectMusicTrack8()

◆ impl_from_IPersistStream()

static IDirectMusicLyricsTrack * impl_from_IPersistStream ( IPersistStream *  iface)
inlinestatic

Definition at line 39 of file lyricstrack.c.

40{
41 return CONTAINING_RECORD(iface, IDirectMusicLyricsTrack, dmobj.IPersistStream_iface);
42}

Referenced by lyrics_IPersistStream_Load().

◆ lyrics_IPersistStream_Load()

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

Definition at line 310 of file lyricstrack.c.

311{
313 HRESULT hr;
314 struct chunk_entry chunk = {0};
315
316 TRACE("%p, %p\n", This, stream);
317
318 if (!stream)
319 return E_POINTER;
320
321 if ((hr = stream_get_chunk(stream, &chunk)) != S_OK)
322 return hr;
323
326 else
328
329 return hr;
330}
#define DMUS_E_UNSUPPORTED_STREAM
Definition: dmerror.h:100
HRESULT stream_get_chunk(IStream *stream, struct chunk_entry *chunk)
Definition: dmobject.c:307
#define DMUS_FOURCC_LYRICSTRACK_LIST
Definition: dmusicf.h:162
#define S_OK
Definition: intsafe.h:52
static IDirectMusicLyricsTrack * impl_from_IPersistStream(IPersistStream *iface)
Definition: lyricstrack.c:39
static HRESULT parse_lyricstrack_list(IDirectMusicLyricsTrack *This, IStream *stream, struct chunk_entry *lyric)
Definition: lyricstrack.c:292
#define FOURCC_LIST
Definition: mmsystem.h:565
#define TRACE(s)
Definition: solgame.cpp:4
Definition: dmobject.h:26
Definition: parse.h:23
#define E_POINTER
Definition: winerror.h:3480

◆ lyrics_track_AddNotificationType()

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

Definition at line 149 of file lyricstrack.c.

150{
152
153 TRACE("(%p, %s): method not implemented\n", This, debugstr_dmguid(notiftype));
154 return E_NOTIMPL;
155}
#define E_NOTIMPL
Definition: ddrawi.h:99
const char * debugstr_dmguid(const GUID *id)
Definition: dmobject.c:36
static IDirectMusicLyricsTrack * impl_from_IDirectMusicTrack8(IDirectMusicTrack8 *iface)
Definition: lyricstrack.c:34

◆ lyrics_track_AddRef()

static ULONG WINAPI lyrics_track_AddRef ( IDirectMusicTrack8 *  iface)
static

Definition at line 67 of file lyricstrack.c.

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

◆ lyrics_track_Clone()

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

Definition at line 166 of file lyricstrack.c.

168{
170 FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppTrack);
171 return S_OK;
172}
#define FIXME(fmt,...)
Definition: precomp.h:53

◆ lyrics_track_Compose()

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

Definition at line 203 of file lyricstrack.c.

205{
207
208 TRACE("(%p, %p, %ld, %p): method not implemented\n", This, context, trackgroup, track);
209 return E_NOTIMPL;
210}
Definition: http.c:7252

◆ lyrics_track_EndPlay()

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

Definition at line 107 of file lyricstrack.c.

108{
110 FIXME("(%p, %p): stub\n", This, pStateData);
111 return S_OK;
112}

◆ lyrics_track_GetParam()

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

Definition at line 123 of file lyricstrack.c.

125{
127
128 TRACE("(%p, %s, %ld, %p, %p): not supported\n", This, debugstr_dmguid(type), time, next, param);
130}
#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
static unsigned __int64 next
Definition: rand_nt.c:6

◆ lyrics_track_GetParamEx()

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

Definition at line 184 of file lyricstrack.c.

187{
189 FIXME("(%p, %s, 0x%s, %p, %p, %p, %ld): stub\n", This, debugstr_dmguid(rguidType),
190 wine_dbgstr_longlong(rtTime), prtNext, pParam, pStateData, dwFlags);
191 return S_OK;
192}
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

◆ lyrics_track_Init()

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

Definition at line 91 of file lyricstrack.c.

92{
94 FIXME("(%p, %p): stub\n", This, pSegment);
95 return S_OK;
96}

◆ lyrics_track_InitPlay()

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

Definition at line 98 of file lyricstrack.c.

101{
103 FIXME("(%p, %p, %p, %p, %ld, %ld): stub\n", This, pSegmentState, pPerformance, ppStateData, dwVirtualTrack8ID, dwFlags);
104 return S_OK;
105}

◆ lyrics_track_IsParamSupported()

static HRESULT WINAPI lyrics_track_IsParamSupported ( IDirectMusicTrack8 *  iface,
REFGUID  type 
)
static

Definition at line 141 of file lyricstrack.c.

142{
144
145 TRACE("(%p, %s): param type not supported\n", This, debugstr_dmguid(type));
147}
#define DMUS_E_TYPE_UNSUPPORTED
Definition: dmerror.h:112

◆ lyrics_track_Join()

static HRESULT WINAPI lyrics_track_Join ( IDirectMusicTrack8 *  iface,
IDirectMusicTrack *  newtrack,
MUSIC_TIME  join,
IUnknown *  context,
DWORD  trackgroup,
IDirectMusicTrack **  resulttrack 
)
static

Definition at line 212 of file lyricstrack.c.

214{
216 TRACE("(%p, %p, %ld, %p, %ld, %p): method not implemented\n", This, newtrack, join, context,
217 trackgroup, resulttrack);
218 return E_NOTIMPL;
219}
LOCAL int join(int *aux, int a, int b)
Definition: match.c:560

◆ lyrics_track_Play()

static HRESULT WINAPI lyrics_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 114 of file lyricstrack.c.

117{
119 FIXME("(%p, %p, %ld, %ld, %ld, %ld, %p, %p, %ld): stub\n", This, pStateData, mtStart, mtEnd, mtOffset, dwFlags, pPerf, pSegSt, dwVirtualID);
120 return S_OK;
121}

◆ lyrics_track_PlayEx()

static HRESULT WINAPI lyrics_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 174 of file lyricstrack.c.

177{
179 FIXME("(%p, %p, 0x%s, 0x%s, 0x%s, %ld, %p, %p, %ld): stub\n", This, pStateData, wine_dbgstr_longlong(rtStart),
180 wine_dbgstr_longlong(rtEnd), wine_dbgstr_longlong(rtOffset), dwFlags, pPerf, pSegSt, dwVirtualID);
181 return S_OK;
182}

◆ lyrics_track_QueryInterface()

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

Definition at line 44 of file lyricstrack.c.

46{
48
49 TRACE("(%p, %s, %p)\n", This, debugstr_dmguid(riid), ret_iface);
50
51 *ret_iface = NULL;
52
53 if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDirectMusicTrack) ||
54 IsEqualIID(riid, &IID_IDirectMusicTrack8))
55 *ret_iface = iface;
57 *ret_iface = &This->dmobj.IPersistStream_iface;
58 else {
59 WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ret_iface);
60 return E_NOINTERFACE;
61 }
62
63 IUnknown_AddRef((IUnknown*)*ret_iface);
64 return S_OK;
65}
#define WARN(fmt,...)
Definition: precomp.h:61
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

◆ lyrics_track_Release()

static ULONG WINAPI lyrics_track_Release ( IDirectMusicTrack8 *  iface)
static

Definition at line 77 of file lyricstrack.c.

78{
81
82 TRACE("(%p) ref=%ld\n", This, ref);
83
84 if (!ref) {
85 free(This);
86 }
87
88 return ref;
89}
#define InterlockedDecrement
Definition: armddk.h:52
#define free
Definition: debug_ros.c:5

◆ lyrics_track_RemoveNotificationType()

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

Definition at line 157 of file lyricstrack.c.

159{
161
162 TRACE("(%p, %s): method not implemented\n", This, debugstr_dmguid(notiftype));
163 return E_NOTIMPL;
164}

◆ lyrics_track_SetParam()

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

Definition at line 132 of file lyricstrack.c.

134{
136
137 TRACE("(%p, %s, %ld, %p): not supported\n", This, debugstr_dmguid(type), time, param);
139}
#define DMUS_E_SET_UNSUPPORTED
Definition: dmerror.h:71

◆ lyrics_track_SetParamEx()

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

Definition at line 194 of file lyricstrack.c.

196{
198 FIXME("(%p, %s, 0x%s, %p, %p, %ld): stub\n", This, debugstr_dmguid(rguidType),
199 wine_dbgstr_longlong(rtTime), pParam, pStateData, dwFlags);
200 return S_OK;
201}

◆ parse_lyrics_track_events()

static HRESULT parse_lyrics_track_events ( IDirectMusicLyricsTrack *  This,
IStream *  stream,
struct chunk_entry *  lyric 
)
static

Definition at line 242 of file lyricstrack.c.

244{
245 struct chunk_entry chunk = {.parent = lyric};
246 HRESULT hr;
248 WCHAR name[256];
249
250 TRACE("Parsing segment form in %p: %s\n", stream, debugstr_chunk(lyric));
251
252 while ((hr = stream_next_chunk(stream, &chunk)) == S_OK) {
254 struct chunk_entry child = {.parent = &chunk};
255
257 return hr;
258
261
263 WARN("Failed to read data of %s\n", debugstr_chunk(&child));
264 return hr;
265 }
266
267 TRACE("Found DMUS_IO_LYRICSTRACK_EVENTHEADER\n");
268 TRACE(" - dwFlags %#lx\n", header.dwFlags);
269 TRACE(" - dwTimingFlags %#lx\n", header.dwTimingFlags);
270 TRACE(" - lTimeLogical %ld\n", header.lTimeLogical);
271 TRACE(" - lTimePhysical %ld\n", header.lTimePhysical);
272
274 return hr;
275
278
280 WARN("Failed to read data of %s\n", debugstr_chunk(&child));
281 return hr;
282 }
283
284 TRACE("Found DMUS_FOURCC_LYRICSTRACKEVENTTEXT_CHUNK\n");
285 TRACE(" - name %s\n", debugstr_w(name));
286 }
287 }
288
289 return SUCCEEDED(hr) ? S_OK : hr;
290}
HRESULT stream_chunk_get_data(IStream *stream, const struct chunk_entry *chunk, void *data, ULONG size)
Definition: dmobject.c:417
HRESULT stream_next_chunk(IStream *stream, struct chunk_entry *chunk)
Definition: dmobject.c:360
const char * debugstr_chunk(const struct chunk_entry *chunk)
Definition: dmobject.c:279
#define DMUS_FOURCC_LYRICSTRACKEVENTTEXT_CHUNK
Definition: dmusicf.h:166
#define DMUS_FOURCC_LYRICSTRACKEVENTHEADER_CHUNK
Definition: dmusicf.h:165
#define DMUS_FOURCC_LYRICSTRACKEVENT_LIST
Definition: dmusicf.h:164
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_w
Definition: kernel32.h:32
static HWND child
Definition: cursoricon.c:298
short WCHAR
Definition: pedump.c:58
Definition: name.c:39

Referenced by parse_lyricstrack_list().

◆ parse_lyricstrack_list()

static HRESULT parse_lyricstrack_list ( IDirectMusicLyricsTrack *  This,
IStream *  stream,
struct chunk_entry *  lyric 
)
static

Definition at line 292 of file lyricstrack.c.

293{
294 HRESULT hr;
295 struct chunk_entry chunk = {.parent = lyric};
296
297 TRACE("Parsing segment form in %p: %s\n", stream, debugstr_chunk(lyric));
298
300 return hr;
301
304 else
306
307 return SUCCEEDED(hr) ? S_OK : hr;
308}
#define DMUS_FOURCC_LYRICSTRACKEVENTS_LIST
Definition: dmusicf.h:163
static HRESULT parse_lyrics_track_events(IDirectMusicLyricsTrack *This, IStream *stream, struct chunk_entry *lyric)
Definition: lyricstrack.c:242

Referenced by lyrics_IPersistStream_Load().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( dmime  )

Variable Documentation

◆ dmtrack8_vtbl

const IDirectMusicTrack8Vtbl dmtrack8_vtbl
static
Initial value:
= {
}
static HRESULT WINAPI lyrics_track_GetParam(IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, MUSIC_TIME *next, void *param)
Definition: lyricstrack.c:123
static HRESULT WINAPI lyrics_track_AddNotificationType(IDirectMusicTrack8 *iface, REFGUID notiftype)
Definition: lyricstrack.c:149
static ULONG WINAPI lyrics_track_AddRef(IDirectMusicTrack8 *iface)
Definition: lyricstrack.c:67
static HRESULT WINAPI lyrics_track_SetParam(IDirectMusicTrack8 *iface, REFGUID type, MUSIC_TIME time, void *param)
Definition: lyricstrack.c:132
static HRESULT WINAPI lyrics_track_Join(IDirectMusicTrack8 *iface, IDirectMusicTrack *newtrack, MUSIC_TIME join, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **resulttrack)
Definition: lyricstrack.c:212
static HRESULT WINAPI lyrics_track_PlayEx(IDirectMusicTrack8 *iface, void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
Definition: lyricstrack.c:174
static HRESULT WINAPI lyrics_track_IsParamSupported(IDirectMusicTrack8 *iface, REFGUID type)
Definition: lyricstrack.c:141
static HRESULT WINAPI lyrics_track_Compose(IDirectMusicTrack8 *iface, IUnknown *context, DWORD trackgroup, IDirectMusicTrack **track)
Definition: lyricstrack.c:203
static HRESULT WINAPI lyrics_track_Play(IDirectMusicTrack8 *iface, void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
Definition: lyricstrack.c:114
static HRESULT WINAPI lyrics_track_InitPlay(IDirectMusicTrack8 *iface, IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags)
Definition: lyricstrack.c:98
static HRESULT WINAPI lyrics_track_Init(IDirectMusicTrack8 *iface, IDirectMusicSegment *pSegment)
Definition: lyricstrack.c:91
static HRESULT WINAPI lyrics_track_GetParamEx(IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags)
Definition: lyricstrack.c:184
static HRESULT WINAPI lyrics_track_QueryInterface(IDirectMusicTrack8 *iface, REFIID riid, void **ret_iface)
Definition: lyricstrack.c:44
static HRESULT WINAPI lyrics_track_EndPlay(IDirectMusicTrack8 *iface, void *pStateData)
Definition: lyricstrack.c:107
static HRESULT WINAPI lyrics_track_RemoveNotificationType(IDirectMusicTrack8 *iface, REFGUID notiftype)
Definition: lyricstrack.c:157
static HRESULT WINAPI lyrics_track_Clone(IDirectMusicTrack8 *iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
Definition: lyricstrack.c:166
static HRESULT WINAPI lyrics_track_SetParamEx(IDirectMusicTrack8 *iface, REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags)
Definition: lyricstrack.c:194
static ULONG WINAPI lyrics_track_Release(IDirectMusicTrack8 *iface)
Definition: lyricstrack.c:77

Definition at line 221 of file lyricstrack.c.

Referenced by create_dmlyricstrack().

◆ 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 lyrics_IPersistStream_Load(IPersistStream *iface, IStream *stream)
Definition: lyricstrack.c:310

Definition at line 332 of file lyricstrack.c.

Referenced by create_dmlyricstrack().