From 5bd335668d75ed3aa2b272744237d4bb481404bb Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Mon, 2 Apr 2012 00:03:00 +0200 Subject: [PATCH] dmime: COM cleanup for IDirectMusicPerformance8. --- dlls/dmime/dmime_private.h | 2 +- dlls/dmime/performance.c | 411 +++++++++++++++++++++++++------------ 2 files changed, 279 insertions(+), 134 deletions(-) diff --git a/dlls/dmime/dmime_private.h b/dlls/dmime/dmime_private.h index 15889fba385..95c33246d1d 100644 --- a/dlls/dmime/dmime_private.h +++ b/dlls/dmime/dmime_private.h @@ -128,7 +128,7 @@ typedef struct DMUSIC_PRIVATE_PCHANNEL_ { */ struct IDirectMusicPerformance8Impl { /* IUnknown fields */ - const IDirectMusicPerformance8Vtbl *lpVtbl; + IDirectMusicPerformance8 IDirectMusicPerformance8_iface; LONG ref; /* IDirectMusicPerformanceImpl fields */ diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c index d847d8eba67..0b4bf4c6094 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -83,7 +83,7 @@ static DWORD WINAPI ProcessMsgThread(LPVOID lpParam) { timeOut = INFINITE; EnterCriticalSection(&This->safe); - hr = IDirectMusicPerformance8_GetTime((IDirectMusicPerformance8*) This, &rtCurTime, NULL); + hr = IDirectMusicPerformance8_GetTime(&This->IDirectMusicPerformance8_iface, &rtCurTime, NULL); if (FAILED(hr)) { goto outrefresh; } @@ -161,26 +161,33 @@ static BOOL PostMessageToProcessMsgThread(IDirectMusicPerformance8Impl* This, UI return PostThreadMessageA(This->procThreadId, iMsg, 0, 0); } -/* IDirectMusicPerformance8 IUnknown part: */ -static HRESULT WINAPI IDirectMusicPerformance8Impl_QueryInterface (LPDIRECTMUSICPERFORMANCE8 iface, REFIID riid, LPVOID *ppobj) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; - TRACE("(%p, %s,%p)\n", This, debugstr_dmguid(riid), ppobj); +static inline IDirectMusicPerformance8Impl *impl_from_IDirectMusicPerformance8(IDirectMusicPerformance8 *iface) +{ + return CONTAINING_RECORD(iface, IDirectMusicPerformance8Impl, IDirectMusicPerformance8_iface); +} - if (IsEqualIID (riid, &IID_IUnknown) || +/* IDirectMusicPerformance8 IUnknown part: */ +static HRESULT WINAPI IDirectMusicPerformance8Impl_QueryInterface(IDirectMusicPerformance8 *iface, + REFIID riid, void **ppv) +{ + TRACE("(%p, %s,%p)\n", iface, debugstr_dmguid(riid), ppv); + + if (IsEqualIID (riid, &IID_IUnknown) || IsEqualIID (riid, &IID_IDirectMusicPerformance) || IsEqualIID (riid, &IID_IDirectMusicPerformance2) || IsEqualIID (riid, &IID_IDirectMusicPerformance8)) { + *ppv = iface; IUnknown_AddRef(iface); - *ppobj = This; return S_OK; } - - WARN("(%p, %s,%p): not found\n", This, debugstr_dmguid(riid), ppobj); + + WARN("(%p, %s,%p): not found\n", iface, debugstr_dmguid(riid), ppv); return E_NOINTERFACE; } -static ULONG WINAPI IDirectMusicPerformance8Impl_AddRef (LPDIRECTMUSICPERFORMANCE8 iface) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static ULONG WINAPI IDirectMusicPerformance8Impl_AddRef(IDirectMusicPerformance8 *iface) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p): AddRef from %d\n", This, ref - 1); @@ -190,9 +197,11 @@ static ULONG WINAPI IDirectMusicPerformance8Impl_AddRef (LPDIRECTMUSICPERFORMANC return ref; } -static ULONG WINAPI IDirectMusicPerformance8Impl_Release (LPDIRECTMUSICPERFORMANCE8 iface) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static ULONG WINAPI IDirectMusicPerformance8Impl_Release(IDirectMusicPerformance8 *iface) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); ULONG ref = InterlockedDecrement(&This->ref); + TRACE("(%p): ReleaseRef to %d\n", This, ref); if (ref == 0) { @@ -207,8 +216,10 @@ static ULONG WINAPI IDirectMusicPerformance8Impl_Release (LPDIRECTMUSICPERFORMAN } /* IDirectMusicPerformanceImpl IDirectMusicPerformance Interface part: */ -static HRESULT WINAPI IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_Init(IDirectMusicPerformance8 *iface, + IDirectMusic **ppDirectMusic, IDirectSound *pDirectSound, HWND hWnd) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); FIXME("(iface = %p, dmusic = %p, dsound = %p, hwnd = %p)\n", This, ppDirectMusic, pDirectSound, hWnd); if (This->pDirectMusic || This->pDirectSound) @@ -252,8 +263,12 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANC return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegment (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegment(IDirectMusicPerformance8 *iface, + IDirectMusicSegment *pSegment, DWORD dwFlags, __int64 i64StartTime, + IDirectMusicSegmentState **ppSegmentState) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, %d, 0x%s, %p): stub\n", This, pSegment, dwFlags, wine_dbgstr_longlong(i64StartTime), ppSegmentState); if (ppSegmentState) @@ -261,27 +276,40 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegment (LPDIRECTMUSICPER return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_Stop (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_Stop(IDirectMusicPerformance8 *iface, + IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegmentState, MUSIC_TIME mtTime, + DWORD dwFlags) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, %p, %d, %d): stub\n", This, pSegment, pSegmentState, mtTime, dwFlags); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetSegmentState (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegmentState** ppSegmentState, MUSIC_TIME mtTime) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetSegmentState(IDirectMusicPerformance8 *iface, + IDirectMusicSegmentState **ppSegmentState, MUSIC_TIME mtTime) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p,%p, %d): stub\n", This, ppSegmentState, mtTime); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwMilliSeconds) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_SetPrepareTime(IDirectMusicPerformance8 *iface, + DWORD dwMilliSeconds) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + TRACE("(%p, %d)\n", This, dwMilliSeconds); This->dwPrepareTime = dwMilliSeconds; return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface, DWORD* pdwMilliSeconds) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetPrepareTime(IDirectMusicPerformance8 *iface, + DWORD *pdwMilliSeconds) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + TRACE("(%p, %p)\n", This, pdwMilliSeconds); if (NULL == pdwMilliSeconds) { return E_POINTER; @@ -290,15 +318,21 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_GetPrepareTime (LPDIRECTMUSIC return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwMilliSeconds) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_SetBumperLength(IDirectMusicPerformance8 *iface, + DWORD dwMilliSeconds) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + TRACE("(%p, %d)\n", This, dwMilliSeconds); This->dwBumperLength = dwMilliSeconds; return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface, DWORD* pdwMilliSeconds) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetBumperLength(IDirectMusicPerformance8 *iface, + DWORD *pdwMilliSeconds) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + TRACE("(%p, %p)\n", This, pdwMilliSeconds); if (NULL == pdwMilliSeconds) { return E_POINTER; @@ -307,8 +341,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_GetBumperLength (LPDIRECTMUSI return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SendPMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pPMSG) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_SendPMsg(IDirectMusicPerformance8 *iface, + DMUS_PMSG *pPMSG) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); DMUS_PMSGItem* pItem = NULL; DMUS_PMSGItem* it = NULL; DMUS_PMSGItem* prev_it = NULL; @@ -360,26 +396,37 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_SendPMsg (LPDIRECTMUSICPERFOR return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, REFERENCE_TIME* prtTime) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToReferenceTime(IDirectMusicPerformance8 *iface, + MUSIC_TIME mtTime, REFERENCE_TIME *prtTime) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %d, %p): stub\n", This, mtTime, prtTime); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtTime, MUSIC_TIME* pmtTime) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_ReferenceToMusicTime(IDirectMusicPerformance8 *iface, + REFERENCE_TIME rtTime, MUSIC_TIME *pmtTime) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, 0x%s, %p): stub\n", This, wine_dbgstr_longlong(rtTime), pmtTime); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_IsPlaying (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegState) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_IsPlaying(IDirectMusicPerformance8 *iface, + IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegState) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, %p): stub\n", This, pSegment, pSegState); return S_FALSE; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtNow, MUSIC_TIME* pmtNow) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetTime(IDirectMusicPerformance8 *iface, + REFERENCE_TIME *prtNow, MUSIC_TIME *pmtNow) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); HRESULT hr = S_OK; REFERENCE_TIME rtCur = 0; @@ -398,8 +445,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_GetTime (LPDIRECTMUSICPERFORM return hr; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_AllocPMsg (LPDIRECTMUSICPERFORMANCE8 iface, ULONG cb, DMUS_PMSG** ppPMSG) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_AllocPMsg(IDirectMusicPerformance8 *iface, + ULONG cb, DMUS_PMSG **ppPMSG) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); DMUS_PMSGItem* pItem = NULL; FIXME("(%p, %d, %p): stub\n", This, cb, ppPMSG); @@ -419,8 +468,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_AllocPMsg (LPDIRECTMUSICPERFO return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_FreePMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pPMSG) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_FreePMsg(IDirectMusicPerformance8 *iface, + DMUS_PMSG *pPMSG) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); DMUS_PMSGItem* pItem = NULL; FIXME("(%p, %p): stub\n", This, pPMSG); @@ -446,8 +497,11 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_FreePMsg (LPDIRECTMUSICPERFOR return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph** ppGraph) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetGraph(IDirectMusicPerformance8 *iface, + IDirectMusicGraph **ppGraph) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p): to check\n", This, ppGraph); if (NULL != This->pToolGraph) { *ppGraph = This->pToolGraph; @@ -458,9 +512,11 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_GetGraph (LPDIRECTMUSICPERFOR return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph* pGraph) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; - +static HRESULT WINAPI IDirectMusicPerformance8Impl_SetGraph(IDirectMusicPerformance8 *iface, + IDirectMusicGraph *pGraph) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p): to check\n", This, pGraph); if (NULL != This->pToolGraph) { @@ -474,18 +530,22 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_SetGraph (LPDIRECTMUSICPERFOR return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE8 iface, HANDLE hNotification, REFERENCE_TIME rtMinimum) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_SetNotificationHandle(IDirectMusicPerformance8 *iface, + HANDLE hNotification, REFERENCE_TIME rtMinimum) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, 0x%s): stub\n", This, hNotification, wine_dbgstr_longlong(rtMinimum)); This->hNotification = hNotification; if (rtMinimum) This->rtMinimum = rtMinimum; return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_NOTIFICATION_PMSG** ppNotificationPMsg) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; - - +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetNotificationPMsg(IDirectMusicPerformance8 *iface, + DMUS_NOTIFICATION_PMSG **ppNotificationPMsg) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p): stub\n", This, ppNotificationPMsg); if (NULL == ppNotificationPMsg) { return E_POINTER; @@ -497,21 +557,30 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_GetNotificationPMsg (LPDIRECT /*return S_OK;*/ } -static HRESULT WINAPI IDirectMusicPerformance8Impl_AddNotificationType (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidNotificationType) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_AddNotificationType(IDirectMusicPerformance8 *iface, + REFGUID rguidNotificationType) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %s): stub\n", This, debugstr_dmguid(rguidNotificationType)); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidNotificationType) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_RemoveNotificationType(IDirectMusicPerformance8 *iface, + REFGUID rguidNotificationType) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %s): stub\n", This, debugstr_dmguid(rguidNotificationType)); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_AddPort (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicPort* pPort) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_AddPort(IDirectMusicPerformance8 *iface, + IDirectMusicPort *pPort) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); HRESULT hr = E_FAIL; + FIXME("(%p, %p): stub\n", This, pPort); if (!This->pDirectMusic || !This->pDirectSound) return DMUS_E_NOT_INIT; if (NULL == pPort) { @@ -549,16 +618,21 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_AddPort (LPDIRECTMUSICPERFORM return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_RemovePort (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicPort* pPort) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_RemovePort(IDirectMusicPerformance8 *iface, + IDirectMusicPort *pPort) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p): stub\n", This, pPort); IDirectMusicPort_Release (pPort); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwBlockNum, IDirectMusicPort* pPort, DWORD dwGroup) { +static HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannelBlock(IDirectMusicPerformance8 *iface, + DWORD dwBlockNum, IDirectMusicPort *pPort, DWORD dwGroup) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); int i, j, range /* min value in range */; - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; FIXME("(%p, %d, %p, %d): semi-stub\n", This, dwBlockNum, pPort, dwGroup-1); if (NULL == pPort) return E_POINTER; @@ -577,8 +651,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannelBlock (LPDIRECT return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannel (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwPChannel, IDirectMusicPort* pPort, DWORD dwGroup, DWORD dwMChannel) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannel(IDirectMusicPerformance8 *iface, + DWORD dwPChannel, IDirectMusicPort *pPort, DWORD dwGroup, DWORD dwMChannel) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); TRACE("(%p, %d, %p, %d, %d)\n", This, dwPChannel, pPort, dwGroup, dwMChannel); if (NULL == pPort) return E_POINTER; @@ -589,8 +665,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannel (LPDIRECTMUSIC return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_PChannelInfo (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwPChannel, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_PChannelInfo(IDirectMusicPerformance8 *iface, + DWORD dwPChannel, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); DMUS_PORTPARAMS8 dmusportparams; GUID def; @@ -604,32 +682,49 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_PChannelInfo (LPDIRECTMUSICPE return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicInstrument* pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument** ppDownInst, DMUS_NOTERANGE* pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_DownloadInstrument(IDirectMusicPerformance8 *iface, + IDirectMusicInstrument *pInst, DWORD dwPChannel, + IDirectMusicDownloadedInstrument **ppDownInst, DMUS_NOTERANGE *pNoteRanges, + DWORD dwNumNoteRanges, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, %d, %p, %p, %d, %p, %p, %p): stub\n", This, pInst, dwPChannel, ppDownInst, pNoteRanges, dwNumNoteRanges, ppPort, pdwGroup, pdwMChannel); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_Invalidate (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, DWORD dwFlags) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_Invalidate(IDirectMusicPerformance8 *iface, + MUSIC_TIME mtTime, DWORD dwFlags) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %d, %d): stub\n", This, mtTime, dwFlags); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetParam(IDirectMusicPerformance8 *iface, + REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, + MUSIC_TIME *pmtNext, void *pParam) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %s, %d, %d, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), dwGroupBits, dwIndex, mtTime, pmtNext, pParam); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SetParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_SetParam(IDirectMusicPerformance8 *iface, + REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %s, %d, %d, %d, %p): stub\n", This, debugstr_dmguid(rguidType), dwGroupBits, dwIndex, mtTime, pParam); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, void* pParam, DWORD dwSize) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetGlobalParam(IDirectMusicPerformance8 *iface, + REFGUID rguidType, void *pParam, DWORD dwSize) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); TRACE("(%p, %s, %p, %d): stub\n", This, debugstr_dmguid(rguidType), pParam, dwSize); @@ -645,8 +740,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_GetGlobalParam (LPDIRECTMUSIC return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, void* pParam, DWORD dwSize) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_SetGlobalParam(IDirectMusicPerformance8 *iface, + REFGUID rguidType, void *pParam, DWORD dwSize) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); TRACE("(%p, %s, %p, %d)\n", This, debugstr_dmguid(rguidType), pParam, dwSize); @@ -670,27 +767,39 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_SetGlobalParam (LPDIRECTMUSIC return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtTime) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetLatencyTime(IDirectMusicPerformance8 *iface, + REFERENCE_TIME *prtTime) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + TRACE("(%p, %p): stub\n", This, prtTime); *prtTime = This->rtLatencyTime; return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetQueueTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtTime) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetQueueTime(IDirectMusicPerformance8 *iface, + REFERENCE_TIME *prtTime) + +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p): stub\n", This, prtTime); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_AdjustTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtAmount) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_AdjustTime(IDirectMusicPerformance8 *iface, + REFERENCE_TIME rtAmount) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, 0x%s): stub\n", This, wine_dbgstr_longlong(rtAmount)); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_CloseDown (LPDIRECTMUSICPERFORMANCE8 iface) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_CloseDown(IDirectMusicPerformance8 *iface) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p): stub\n", This); if (PostMessageToProcessMsgThread(This, PROCESSMSG_EXIT)) { WaitForSingleObject(This->procThread, INFINITE); @@ -708,51 +817,65 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_CloseDown (LPDIRECTMUSICPERFO return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtTime, REFERENCE_TIME* prtResolved, DWORD dwTimeResolveFlags) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetResolvedTime(IDirectMusicPerformance8 *iface, + REFERENCE_TIME rtTime, REFERENCE_TIME *prtResolved, DWORD dwTimeResolveFlags) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, 0x%s, %p, %d): stub\n", This, wine_dbgstr_longlong(rtTime), prtResolved, dwTimeResolveFlags); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE8 iface, BYTE bMIDIValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, WORD* pwMusicValue) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_MIDIToMusic(IDirectMusicPerformance8 *iface, + BYTE bMIDIValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, + WORD *pwMusicValue) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %d, %p, %d, %d, %p): stub\n", This, bMIDIValue, pChord, bPlayMode, bChordLevel, pwMusicValue); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE8 iface, WORD wMusicValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE* pbMIDIValue) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToMIDI(IDirectMusicPerformance8 *iface, + WORD wMusicValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, + BYTE *pbMIDIValue) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %d, %p, %d, %d, %p): stub\n", This, wMusicValue, pChord, bPlayMode, bChordLevel, pbMIDIValue); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, DMUS_TIMESIGNATURE* pTimeSig, WORD* pwMeasure, BYTE* pbBeat, BYTE* pbGrid, short* pnOffset) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_TimeToRhythm(IDirectMusicPerformance8 *iface, + MUSIC_TIME mtTime, DMUS_TIMESIGNATURE *pTimeSig, WORD *pwMeasure, BYTE *pbBeat, + BYTE *pbGrid, short *pnOffset) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %d, %p, %p, %p, %p, %p): stub\n", This, mtTime, pTimeSig, pwMeasure, pbBeat, pbGrid, pnOffset); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_RhythmToTime (LPDIRECTMUSICPERFORMANCE8 iface, WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE* pTimeSig, MUSIC_TIME* pmtTime) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_RhythmToTime(IDirectMusicPerformance8 *iface, + WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE *pTimeSig, + MUSIC_TIME *pmtTime) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %d, %d, %d, %i, %p, %p): stub\n", This, wMeasure, bBeat, bGrid, nOffset, pTimeSig, pmtTime); return S_OK; } /* IDirectMusicPerformance8 Interface part follow: */ -static HRESULT WINAPI IDirectMusicPerformance8Impl_InitAudio (LPDIRECTMUSICPERFORMANCE8 iface, - IDirectMusic** ppDirectMusic, - IDirectSound** ppDirectSound, - HWND hWnd, - DWORD dwDefaultPathType, - DWORD dwPChannelCount, - DWORD dwFlags, - DMUS_AUDIOPARAMS* pParams) { - +static HRESULT WINAPI IDirectMusicPerformance8Impl_InitAudio(IDirectMusicPerformance8 *iface, + IDirectMusic **ppDirectMusic, IDirectSound **ppDirectSound, HWND hWnd, + DWORD dwDefaultPathType, DWORD dwPChannelCount, DWORD dwFlags, DMUS_AUDIOPARAMS* pParams) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); IDirectSound* dsound = NULL; HRESULT hr = S_OK; - - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; + FIXME("(%p, %p, %p, %p, %x, %u, %x, %p): to check\n", This, ppDirectMusic, ppDirectSound, hWnd, dwDefaultPathType, dwPChannelCount, dwFlags, pParams); if (This->pDirectMusic || This->pDirectSound) @@ -797,8 +920,13 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_InitAudio (LPDIRECTMUSICPERFO return hr; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegmentEx (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pSource, WCHAR* pwzSegmentName, IUnknown* pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState, IUnknown* pFrom, IUnknown* pAudioPath) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegmentEx(IDirectMusicPerformance8 *iface, + IUnknown *pSource, WCHAR *pwzSegmentName, IUnknown *pTransition, DWORD dwFlags, + __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState, IUnknown *pFrom, + IUnknown *pAudioPath) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, %p, %p, %d, 0x%s, %p, %p, %p): stub\n", This, pSource, pwzSegmentName, pTransition, dwFlags, wine_dbgstr_longlong(i64StartTime), ppSegmentState, pFrom, pAudioPath); if (ppSegmentState) @@ -806,24 +934,32 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegmentEx (LPDIRECTMUSICP return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_StopEx (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pObjectToStop, __int64 i64StopTime, DWORD dwFlags) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_StopEx(IDirectMusicPerformance8 *iface, + IUnknown *pObjectToStop, __int64 i64StopTime, DWORD dwFlags) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, 0x%s, %d): stub\n", This, pObjectToStop, wine_dbgstr_longlong(i64StopTime), dwFlags); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_ClonePMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pSourcePMSG, DMUS_PMSG** ppCopyPMSG) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_ClonePMsg(IDirectMusicPerformance8 *iface, + DMUS_PMSG *pSourcePMSG, DMUS_PMSG **ppCopyPMSG) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); + FIXME("(%p, %p, %p): stub\n", This, pSourcePMSG, ppCopyPMSG); return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pSourceConfig, BOOL fActivate, IDirectMusicAudioPath** ppNewPath) { +static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateAudioPath(IDirectMusicPerformance8 *iface, + IUnknown *pSourceConfig, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); IDirectMusicAudioPathImpl *default_path; IDirectMusicAudioPath *pPath; - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; FIXME("(%p, %p, %d, %p): stub\n", This, pSourceConfig, fActivate, ppNewPath); if (NULL == ppNewPath) { @@ -832,7 +968,7 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateAudioPath (LPDIRECTMUSI DMUSIC_CreateDirectMusicAudioPathImpl (&IID_IDirectMusicAudioPath, (LPVOID*)&pPath, NULL); default_path = (IDirectMusicAudioPathImpl*)((char*)(pPath) - offsetof(IDirectMusicAudioPathImpl,AudioPathVtbl)); - default_path->pPerf = (IDirectMusicPerformance8*) This; + default_path->pPerf = &This->IDirectMusicPerformance8_iface; /** TODO */ @@ -841,7 +977,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateAudioPath (LPDIRECTMUSI return IDirectMusicAudioPath_Activate(*ppNewPath, fActivate); } -static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateStandardAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwType, DWORD dwPChannelCount, BOOL fActivate, IDirectMusicAudioPath** ppNewPath) { +static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateStandardAudioPath(IDirectMusicPerformance8 *iface, + DWORD dwType, DWORD dwPChannelCount, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); IDirectMusicAudioPathImpl *default_path; IDirectMusicAudioPath *pPath; DSBUFFERDESC desc; @@ -849,8 +988,6 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateStandardAudioPath (LPDI LPDIRECTSOUNDBUFFER buffer; HRESULT hr = S_OK; - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; - FIXME("(%p)->(%d, %d, %d, %p): semi-stub\n", This, dwType, dwPChannelCount, fActivate, ppNewPath); if (NULL == ppNewPath) { @@ -859,8 +996,8 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateStandardAudioPath (LPDI DMUSIC_CreateDirectMusicAudioPathImpl (&IID_IDirectMusicAudioPath, (LPVOID*)&pPath, NULL); default_path = (IDirectMusicAudioPathImpl*)((char*)(pPath) - offsetof(IDirectMusicAudioPathImpl,AudioPathVtbl)); - default_path->pPerf = (IDirectMusicPerformance8*) This; - + default_path->pPerf = &This->IDirectMusicPerformance8_iface; + /* Secondary buffer description */ memset(&format, 0, sizeof(format)); format.wFormatTag = WAVE_FORMAT_PCM; @@ -932,8 +1069,10 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_CreateStandardAudioPath (LPDI return IDirectMusicAudioPath_Activate(*ppNewPath, fActivate); } -static HRESULT WINAPI IDirectMusicPerformance8Impl_SetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicAudioPath* pAudioPath) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_SetDefaultAudioPath(IDirectMusicPerformance8 *iface, + IDirectMusicAudioPath *pAudioPath) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); FIXME("(%p, %p): semi-stub\n", This, pAudioPath); if (NULL != This->pDefaultPath) { @@ -944,14 +1083,16 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_SetDefaultAudioPath (LPDIRECT This->pDefaultPath = pAudioPath; if (NULL != This->pDefaultPath) { IDirectMusicAudioPath_AddRef(This->pDefaultPath); - ((IDirectMusicAudioPathImpl*) This->pDefaultPath)->pPerf = (IDirectMusicPerformance8*) This; + ((IDirectMusicAudioPathImpl*)This->pDefaultPath)->pPerf = &This->IDirectMusicPerformance8_iface; } - + return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicAudioPath** ppAudioPath) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetDefaultAudioPath(IDirectMusicPerformance8 *iface, + IDirectMusicAudioPath **ppAudioPath) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); FIXME("(%p, %p): semi-stub (%p)\n", This, ppAudioPath, This->pDefaultPath); @@ -964,8 +1105,11 @@ static HRESULT WINAPI IDirectMusicPerformance8Impl_GetDefaultAudioPath (LPDIRECT return S_OK; } -static HRESULT WINAPI IDirectMusicPerformance8Impl_GetParamEx (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwTrackID, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - IDirectMusicPerformance8Impl *This = (IDirectMusicPerformance8Impl *)iface; +static HRESULT WINAPI IDirectMusicPerformance8Impl_GetParamEx(IDirectMusicPerformance8 *iface, + REFGUID rguidType, DWORD dwTrackID, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, + MUSIC_TIME *pmtNext, void *pParam) +{ + IDirectMusicPerformance8Impl *This = impl_from_IDirectMusicPerformance8(iface); FIXME("(%p, %s, %d, %d, %d, %d, %p, %p): stub\n", This, debugstr_dmguid(rguidType), dwTrackID, dwGroupBits, dwIndex, mtTime, pmtNext, pParam); @@ -1039,7 +1183,7 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicPerformanceImpl (LPCGUID lpcGUID, LPVOID *ppobj = NULL; return E_OUTOFMEMORY; } - obj->lpVtbl = &DirectMusicPerformance8_Vtbl; + obj->IDirectMusicPerformance8_iface.lpVtbl = &DirectMusicPerformance8_Vtbl; obj->ref = 0; /* will be inited by QueryInterface */ obj->pDirectMusic = NULL; obj->pDirectSound = NULL; @@ -1050,5 +1194,6 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicPerformanceImpl (LPCGUID lpcGUID, LPVOID obj->rtLatencyTime = 100; /* 100ms TO FIX */ obj->dwBumperLength = 50; /* 50ms default */ obj->dwPrepareTime = 1000; /* 1000ms default */ - return IDirectMusicPerformance8Impl_QueryInterface ((LPDIRECTMUSICPERFORMANCE8)obj, lpcGUID, ppobj); + return IDirectMusicPerformance8Impl_QueryInterface(&obj->IDirectMusicPerformance8_iface, + lpcGUID, ppobj); }