From a4a5e9ae0142e13e323dcede756d3fde0ea37cc6 Mon Sep 17 00:00:00 2001 From: Rok Mandeljc Date: Sat, 7 Jun 2003 00:39:18 +0000 Subject: [PATCH] - added debug - implemented fake midi & performance channels - implemented some IDirectMusic*8* functions where IDirectMusic* equivalent exists - IDirectMusic*8 interfaces can now be obtained from IDirectMusic interfaces (QueryInterface...) - channel-related performance functions are kinda implemented now --- dlls/dmusic/dmusic.c | 349 ++++++++++++--- dlls/dmusic/dmusic_instrument.c | 36 +- dlls/dmusic/dmusic_loader.c | 157 +++++-- dlls/dmusic/dmusic_main.c | 4 +- dlls/dmusic/dmusic_misc.c | 312 ++++++++++---- dlls/dmusic/dmusic_performance.c | 702 +++++++++++++++++++++++-------- dlls/dmusic/dmusic_plugins.c | 280 ++++++++---- dlls/dmusic/dmusic_port.c | 161 +++++-- dlls/dmusic/dmusic_private.h | 47 +++ dlls/dmusic/dmusic_segment.c | 472 +++++++++++++++------ dlls/dmusic/dmusic_style.c | 165 +++++--- dlls/dmusic/dmusic_synth.c | 335 ++++++++++----- 12 files changed, 2207 insertions(+), 813 deletions(-) diff --git a/dlls/dmusic/dmusic.c b/dlls/dmusic/dmusic.c index ec1a3bdb2fc..59f63c74cc3 100644 --- a/dlls/dmusic/dmusic.c +++ b/dlls/dmusic/dmusic.c @@ -51,9 +51,23 @@ HRESULT WINAPI IDirectMusicImpl_QueryInterface (LPDIRECTMUSIC iface, REFIID riid { IDirectMusicImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } - + + if (IsEqualGUID(riid, &IID_IDirectMusic8)) + { + IDirectMusic8Impl *dmusic8 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusic8Impl)); + if (NULL == dmusic8) + { + *ppobj = (LPDIRECTMUSIC8)NULL; + return E_OUTOFMEMORY; + } + dmusic8->lpVtbl = &DirectMusic8_Vtbl; + dmusic8->ref = 1; + *ppobj = (LPDIRECTMUSIC8)dmusic8; + return S_OK; + } + WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; } @@ -97,7 +111,7 @@ HRESULT WINAPI IDirectMusicImpl_EnumPort (LPDIRECTMUSIC iface, DWORD dwIndex, LP pPortCaps->dwClass = DMUS_PC_OUTPUTCLASS; pPortCaps->dwType = DMUS_PORT_WINMM_DRIVER; pPortCaps->dwMemorySize = DMUS_PC_SYSTEMMEMORY; - pPortCaps->dwMaxChannelGroups = 1000; + pPortCaps->dwMaxChannelGroups = 1; /* FIXME: dxdiag on windows seems to return 1000, but that kills my allocating engine; guess we'll live with 1 group */ pPortCaps->dwMaxVoices = 1000; pPortCaps->dwMaxAudioChannels = -1; pPortCaps->dwEffectFlags = DMUS_EFFECT_REVERB | DMUS_EFFECT_CHORUS | DMUS_EFFECT_DELAY; @@ -126,15 +140,18 @@ HRESULT WINAPI IDirectMusicImpl_EnumPort (LPDIRECTMUSIC iface, DWORD dwIndex, LP } HRESULT WINAPI IDirectMusicImpl_CreateMusicBuffer (LPDIRECTMUSIC iface, LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER** ppBuffer, LPUNKNOWN pUnkOuter) -{ - FIXME("stub\n"); - return DS_OK; +{ + ICOM_THIS(IDirectMusicImpl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, pBufferDesc, ppBuffer, pUnkOuter); + + return S_OK; } HRESULT WINAPI IDirectMusicImpl_CreatePort (LPDIRECTMUSIC iface, REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT* ppPort, LPUNKNOWN pUnkOuter) { ICOM_THIS(IDirectMusicImpl,iface); - int i; + int i, j; DMUS_PORTCAPS PortCaps; TRACE("(%p, %s, %p, %p, %p)\n", This, debugstr_guid(rclsidPort), pPortParams, ppPort, pUnkOuter); @@ -142,7 +159,7 @@ HRESULT WINAPI IDirectMusicImpl_CreatePort (LPDIRECTMUSIC iface, REFCLSID rclsid { if (IsEqualGUID(rclsidPort, &PortCaps.guidPort)) { - This->ports = HeapReAlloc(GetProcessHeap(),0,This->ports,sizeof(LPDIRECTMUSICPORT)*This->nrofports); + This->ports = HeapReAlloc(GetProcessHeap(),0,This->ports,sizeof(LPDIRECTMUSICPORT)*(This->nrofports+1)); if (NULL == This->ports[This->nrofports]) { *ppPort = (LPDIRECTMUSICPORT)NULL; @@ -152,7 +169,36 @@ HRESULT WINAPI IDirectMusicImpl_CreatePort (LPDIRECTMUSIC iface, REFCLSID rclsid This->ports[This->nrofports]->ref = 0; This->ports[This->nrofports]->active = FALSE; This->ports[This->nrofports]->caps = &PortCaps; - This->ports[This->nrofports]->params = pPortParams; + This->ports[This->nrofports]->params = pPortParams; /* this one is here just because there's a funct. which retrieves it back */ + + if (pPortParams->dwValidParams & DMUS_PORTPARAMS_CHANNELGROUPS) + { + This->ports[This->nrofports]->nrofgroups = pPortParams->dwChannelGroups; + /* setting default priorities */ + for (j = 0; j < This->ports[This->nrofports]->nrofgroups; j++) + { + TRACE ("Setting default channel priorities on channel group %i\n", j+1); + This->ports[This->nrofports]->group[j].channel[0].priority = DAUD_CHAN1_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[1].priority = DAUD_CHAN2_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[2].priority = DAUD_CHAN3_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[3].priority = DAUD_CHAN4_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[4].priority = DAUD_CHAN5_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[5].priority = DAUD_CHAN6_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[6].priority = DAUD_CHAN7_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[7].priority = DAUD_CHAN8_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[8].priority = DAUD_CHAN9_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[9].priority = DAUD_CHAN10_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[10].priority = DAUD_CHAN11_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[11].priority = DAUD_CHAN12_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[12].priority = DAUD_CHAN13_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[13].priority = DAUD_CHAN14_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[14].priority = DAUD_CHAN15_DEF_VOICE_PRIORITY; + This->ports[This->nrofports]->group[j].channel[15].priority = DAUD_CHAN16_DEF_VOICE_PRIORITY; + } + } + + + *ppPort = (LPDIRECTMUSICPORT)This->ports[This->nrofports]; IDirectMusicPortImpl_AddRef ((LPDIRECTMUSICPORT)This->ports[This->nrofports]); This->nrofports ++; @@ -176,7 +222,7 @@ HRESULT WINAPI IDirectMusicImpl_GetMasterClock (LPDIRECTMUSIC iface, LPGUID pgui { ICOM_THIS(IDirectMusicImpl,iface); - FIXME("(%p, %s, %p): stub\n", This, debugstr_guid (pguidClock), ppReferenceClock); + FIXME("(%p, %p, %p): stub\n", This, pguidClock, ppReferenceClock); return S_OK; } @@ -288,7 +334,7 @@ HRESULT WINAPI IDirectMusic8Impl_QueryInterface (LPDIRECTMUSIC8 iface, REFIID ri { IDirectMusic8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -316,63 +362,173 @@ ULONG WINAPI IDirectMusic8Impl_Release (LPDIRECTMUSIC8 iface) /* IDirectMusic8 Interface follow: */ HRESULT WINAPI IDirectMusic8Impl_EnumPort (LPDIRECTMUSIC8 iface, DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + int numMIDI = midiOutGetNumDevs(); + int numWAVE = waveOutGetNumDevs(); + int i; + + TRACE("(%p, %ld, %p)\n", This, dwIndex, pPortCaps); + TRACE("1 software synth. + %i WAVE + %i MIDI available\n", numWAVE, numMIDI); + /* i guess the first port shown is always software synthesizer */ + if (dwIndex == 0) + { + TRACE("enumerating 'Microsoft Software Synthesizer' port\n"); + pPortCaps->dwSize = sizeof(DMUS_PORTCAPS); + pPortCaps->dwFlags = DMUS_PC_DLS | DMUS_PC_SOFTWARESYNTH | DMUS_PC_DIRECTSOUND | DMUS_PC_DLS2 | DMUS_PC_AUDIOPATH | DMUS_PC_WAVE; + pPortCaps->guidPort = CLSID_DirectMusicSynth; + pPortCaps->dwClass = DMUS_PC_OUTPUTCLASS; + pPortCaps->dwType = DMUS_PORT_WINMM_DRIVER; + pPortCaps->dwMemorySize = DMUS_PC_SYSTEMMEMORY; + pPortCaps->dwMaxChannelGroups = 1000; + pPortCaps->dwMaxVoices = 1000; + pPortCaps->dwMaxAudioChannels = -1; + pPortCaps->dwEffectFlags = DMUS_EFFECT_REVERB | DMUS_EFFECT_CHORUS | DMUS_EFFECT_DELAY; + MultiByteToWideChar (CP_ACP, 0, "Microsotf Synthesizer", -1, pPortCaps->wszDescription, sizeof(pPortCaps->wszDescription)/sizeof(WCHAR)); + return S_OK; + } + /* then return digital sound ports */ + for (i = 1; i <= numWAVE; i++) + { + TRACE("enumerating 'digital sound' ports\n"); + if (i == dwIndex) + { + DirectSoundEnumerateA((LPDSENUMCALLBACKA)register_waveport, (VOID*)pPortCaps); + return S_OK; + } + } + /* finally, list all *real* MIDI ports*/ + for (i = numWAVE+1; i <= numWAVE + numMIDI; i++) + { + TRACE("enumerating 'real MIDI' ports\n"); + if (i == dwIndex) + FIXME("Found MIDI port, but *real* MIDI ports not supported yet\n"); + } + + return S_FALSE; } HRESULT WINAPI IDirectMusic8Impl_CreateMusicBuffer (LPDIRECTMUSIC8 iface, LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER** ppBuffer, LPUNKNOWN pUnkOuter) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, pBufferDesc, ppBuffer, pUnkOuter); + + return S_OK; } HRESULT WINAPI IDirectMusic8Impl_CreatePort (LPDIRECTMUSIC8 iface, REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT* ppPort, LPUNKNOWN pUnkOuter) { ICOM_THIS(IDirectMusic8Impl,iface); - FIXME("(%p, %s, %p, %p, %p): stub\n", This, debugstr_guid(rclsidPort), pPortParams, ppPort, pUnkOuter); - return S_OK; + int i; + DMUS_PORTCAPS PortCaps; + + TRACE("(%p, %s, %p, %p, %p)\n", This, debugstr_guid(rclsidPort), pPortParams, ppPort, pUnkOuter); + for (i = 0; IDirectMusic8Impl_EnumPort (iface, i, &PortCaps) != S_FALSE; i++) + { + if (IsEqualGUID(rclsidPort, &PortCaps.guidPort)) + { + This->ports = HeapReAlloc(GetProcessHeap(),0,This->ports,sizeof(LPDIRECTMUSICPORT)*This->nrofports); + if (NULL == This->ports[This->nrofports]) + { + *ppPort = (LPDIRECTMUSICPORT)NULL; + return E_OUTOFMEMORY; + } + This->ports[This->nrofports]->lpVtbl = &DirectMusicPort_Vtbl; + This->ports[This->nrofports]->ref = 0; + This->ports[This->nrofports]->active = FALSE; + This->ports[This->nrofports]->caps = &PortCaps; + This->ports[This->nrofports]->params = pPortParams; + *ppPort = (LPDIRECTMUSICPORT)This->ports[This->nrofports]; + IDirectMusicPortImpl_AddRef ((LPDIRECTMUSICPORT)This->ports[This->nrofports]); + This->nrofports ++; + return S_OK; + } + } + /* FIXME: place correct error here */ + return E_NOINTERFACE; } HRESULT WINAPI IDirectMusic8Impl_EnumMasterClock (LPDIRECTMUSIC8 iface, DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, lpClockInfo); + + return S_OK; } HRESULT WINAPI IDirectMusic8Impl_GetMasterClock (LPDIRECTMUSIC8 iface, LPGUID pguidClock, IReferenceClock** ppReferenceClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pguidClock, ppReferenceClock); + + return S_OK; } HRESULT WINAPI IDirectMusic8Impl_SetMasterClock (LPDIRECTMUSIC8 iface, REFGUID rguidClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidClock)); + + return S_OK; } HRESULT WINAPI IDirectMusic8Impl_Activate (LPDIRECTMUSIC8 iface, BOOL fEnable) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + int i; + + FIXME("(%p, %d): stub\n", This, fEnable); + for (i = 0; i < This->nrofports; i++) + { + This->ports[i]->active = fEnable; + } + + return S_OK; } HRESULT WINAPI IDirectMusic8Impl_GetDefaultPort (LPDIRECTMUSIC8 iface, LPGUID pguidPort) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + HKEY hkGUID; + DWORD returnTypeGUID, sizeOfReturnBuffer = 50; + char returnBuffer[51]; + GUID defaultPortGUID; + WCHAR buff[51]; + + TRACE("(%p, %p)\n", This, pguidPort); + if ((RegOpenKeyExA (HKEY_LOCAL_MACHINE, "Software\\Microsoft\\DirectMusic\\Defaults" , 0, KEY_READ, &hkGUID) != ERROR_SUCCESS) || (RegQueryValueExA (hkGUID, "DefaultOutputPort", NULL, &returnTypeGUID, returnBuffer, &sizeOfReturnBuffer) != ERROR_SUCCESS)) + { + WARN(": registry entry missing\n" ); + *pguidPort = CLSID_DirectMusicSynth; + return S_OK; + } + /* FIXME: Check return types to ensure we're interpreting data right */ + MultiByteToWideChar (CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff)/sizeof(WCHAR)); + CLSIDFromString ((LPCOLESTR)buff, &defaultPortGUID); + *pguidPort = defaultPortGUID; + + return S_OK; } HRESULT WINAPI IDirectMusic8Impl_SetDirectSound (LPDIRECTMUSIC8 iface, LPDIRECTSOUND pDirectSound, HWND hWnd) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pDirectSound, hWnd); + + return S_OK; } HRESULT WINAPI IDirectMusic8Impl_SetExternalMasterClock (LPDIRECTMUSIC8 iface, IReferenceClock* pClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusic8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pClock); + + return S_OK; } ICOM_VTABLE(IDirectMusic8) DirectMusic8_Vtbl = @@ -403,7 +559,7 @@ HRESULT WINAPI IDirectMusicDownloadImpl_QueryInterface (LPDIRECTMUSICDOWNLOAD if { IDirectMusicDownloadImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -431,8 +587,11 @@ ULONG WINAPI IDirectMusicDownloadImpl_Release (LPDIRECTMUSICDOWNLOAD iface) /* IDirectMusicDownload Interface follow: */ HRESULT WINAPI IDirectMusicDownloadImpl_GetBuffer (LPDIRECTMUSICDOWNLOAD iface, void** ppvBuffer, DWORD* pdwSize) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicDownloadImpl,iface); + + FIXME("(%p,%p, %p): stub\n", This, ppvBuffer, pdwSize); + + return S_OK; } ICOM_VTABLE(IDirectMusicDownload) DirectMusicDownload_Vtbl = @@ -454,7 +613,7 @@ HRESULT WINAPI IDirectMusicBufferImpl_QueryInterface (LPDIRECTMUSICBUFFER iface, { IDirectMusicBufferImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -482,80 +641,119 @@ ULONG WINAPI IDirectMusicBufferImpl_Release (LPDIRECTMUSICBUFFER iface) /* IDirectMusicBuffer Interface follow: */ HRESULT WINAPI IDirectMusicBufferImpl_Flush (LPDIRECTMUSICBUFFER iface) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p): stub\n", This); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_TotalTime (LPDIRECTMUSICBUFFER iface, LPREFERENCE_TIME prtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %p): stub\n", This, prtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_PackStructured (LPDIRECTMUSICBUFFER iface, REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD dwChannelMessage) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, FIXME, %ld, %ld): stub\n", This,/* rt,*/ dwChannelGroup, dwChannelMessage); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_PackUnstructured (LPDIRECTMUSICBUFFER iface, REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD cb, LPBYTE lpb) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, FIXME, %ld, %ld, %p): stub\n", This,/* rt,*/ dwChannelGroup, cb, lpb); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_ResetReadPtr (LPDIRECTMUSICBUFFER iface) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p): stub\n", This); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_GetNextEvent (LPDIRECTMUSICBUFFER iface, LPREFERENCE_TIME prt, LPDWORD pdwChannelGroup, LPDWORD pdwLength, LPBYTE* ppData) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %p, %p, %p, %p): stub\n", This, prt, pdwChannelGroup, pdwLength, ppData); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_GetRawBufferPtr (LPDIRECTMUSICBUFFER iface, LPBYTE* ppData) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppData); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_GetStartTime (LPDIRECTMUSICBUFFER iface, LPREFERENCE_TIME prt) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %p): stub\n", This, prt); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_GetUsedBytes (LPDIRECTMUSICBUFFER iface, LPDWORD pcb) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %p): stub\n", This, pcb); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_GetMaxBytes (LPDIRECTMUSICBUFFER iface, LPDWORD pcb) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %p): stub\n", This, pcb); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_GetBufferFormat (LPDIRECTMUSICBUFFER iface, LPGUID pGuidFormat) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %p): stub\n", This, pGuidFormat); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_SetStartTime (LPDIRECTMUSICBUFFER iface, REFERENCE_TIME rt) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, FIXME): stub\n", This/*, rt*/); + + return S_OK; } HRESULT WINAPI IDirectMusicBufferImpl_SetUsedBytes (LPDIRECTMUSICBUFFER iface, DWORD cb) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBufferImpl,iface); + + FIXME("(%p, %ld): stub\n", This, cb); + + return S_OK; } ICOM_VTABLE(IDirectMusicBuffer) DirectMusicBuffer_Vtbl = @@ -589,7 +787,7 @@ HRESULT WINAPI IDirectMusicObjectImpl_QueryInterface (LPDIRECTMUSICOBJECT iface, { IDirectMusicObjectImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -617,20 +815,31 @@ ULONG WINAPI IDirectMusicObjectImpl_Release (LPDIRECTMUSICOBJECT iface) /* IDirectMusicObject Interface follow: */ HRESULT WINAPI IDirectMusicObjectImpl_GetDescriptor (LPDIRECTMUSICOBJECT iface, LPDMUS_OBJECTDESC pDesc) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicObjectImpl,iface); + + TRACE("(%p, %p)\n", This, pDesc); + pDesc = This->desc; + + return S_OK; } HRESULT WINAPI IDirectMusicObjectImpl_SetDescriptor (LPDIRECTMUSICOBJECT iface, LPDMUS_OBJECTDESC pDesc) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicObjectImpl,iface); + + TRACE("(%p, %p)\n", This, pDesc); + This->desc = pDesc; + + return S_OK; } HRESULT WINAPI IDirectMusicObjectImpl_ParseDescriptor (LPDIRECTMUSICOBJECT iface, LPSTREAM pStream, LPDMUS_OBJECTDESC pDesc) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicObjectImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pStream, pDesc); + + return S_OK; } ICOM_VTABLE(IDirectMusicObject) DirectMusicObject_Vtbl = @@ -656,8 +865,8 @@ void register_waveport (LPGUID lpGUID, LPCSTR lpszDesc, LPCSTR lpszDrvName, LPVO pPortCaps->dwClass = DMUS_PC_OUTPUTCLASS; pPortCaps->dwType = DMUS_PORT_WINMM_DRIVER; pPortCaps->dwMemorySize = DMUS_PC_SYSTEMMEMORY; - pPortCaps->dwMaxChannelGroups = 1000; - pPortCaps->dwMaxVoices = 1000; + pPortCaps->dwMaxChannelGroups = 2; + pPortCaps->dwMaxVoices = -1; pPortCaps->dwMaxAudioChannels = -1; pPortCaps->dwEffectFlags = DMUS_EFFECT_REVERB | DMUS_EFFECT_CHORUS | DMUS_EFFECT_DELAY; MultiByteToWideChar (CP_ACP, 0, lpszDesc, -1, pPortCaps->wszDescription, sizeof(pPortCaps->wszDescription)/sizeof(WCHAR)); diff --git a/dlls/dmusic/dmusic_instrument.c b/dlls/dmusic/dmusic_instrument.c index dcb030fe25e..65594005e87 100644 --- a/dlls/dmusic/dmusic_instrument.c +++ b/dlls/dmusic/dmusic_instrument.c @@ -38,7 +38,7 @@ HRESULT WINAPI IDirectMusicInstrumentImpl_QueryInterface (LPDIRECTMUSICINSTRUMEN { IDirectMusicInstrumentImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -66,14 +66,22 @@ ULONG WINAPI IDirectMusicInstrumentImpl_Release (LPDIRECTMUSICINSTRUMENT iface) /* IDirectMusicInstrument Interface follow: */ HRESULT WINAPI IDirectMusicInstrumentImpl_GetPatch (LPDIRECTMUSICINSTRUMENT iface, DWORD* pdwPatch) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicInstrumentImpl,iface); + + TRACE("(%p, %p)\n", This, pdwPatch); + *pdwPatch = This->patch; + + return S_OK; } HRESULT WINAPI IDirectMusicInstrumentImpl_SetPatch (LPDIRECTMUSICINSTRUMENT iface, DWORD dwPatch) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicInstrumentImpl,iface); + + TRACE("(%p, %ld)\n", This, dwPatch); + This->patch = dwPatch; + + return S_OK; } ICOM_VTABLE(IDirectMusicInstrument) DirectMusicInstrument_Vtbl = @@ -96,7 +104,7 @@ HRESULT WINAPI IDirectMusicDownloadedInstrumentImpl_QueryInterface (LPDIRECTMUSI { IDirectMusicDownloadedInstrumentImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -142,7 +150,7 @@ HRESULT WINAPI IDirectMusicCollectionImpl_QueryInterface (LPDIRECTMUSICCOLLECTIO { IDirectMusicCollectionImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -170,14 +178,20 @@ ULONG WINAPI IDirectMusicCollectionImpl_Release (LPDIRECTMUSICCOLLECTION iface) /* IDirectMusicCollection Interface follow: */ HRESULT WINAPI IDirectMusicCollectionImpl_GetInstrument (LPDIRECTMUSICCOLLECTION iface, DWORD dwPatch, IDirectMusicInstrument** ppInstrument) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicCollectionImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwPatch, ppInstrument); + + return S_OK; } HRESULT WINAPI IDirectMusicCollectionImpl_EnumInstrument (LPDIRECTMUSICCOLLECTION iface, DWORD dwIndex, DWORD* pdwPatch, LPWSTR pwszName, DWORD dwNameLen) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicCollectionImpl,iface); + + FIXME("(%p, %ld, %p, %p, %ld): stub\n", This, dwIndex, pdwPatch, pwszName, dwNameLen); + + return S_OK; } ICOM_VTABLE(IDirectMusicCollection) DirectMusicCollection_Vtbl = diff --git a/dlls/dmusic/dmusic_loader.c b/dlls/dmusic/dmusic_loader.c index 85bcb1ddd6e..a98c049e2e0 100644 --- a/dlls/dmusic/dmusic_loader.c +++ b/dlls/dmusic/dmusic_loader.c @@ -38,7 +38,7 @@ HRESULT WINAPI IDirectMusicLoaderImpl_QueryInterface (LPDIRECTMUSICLOADER iface, { IDirectMusicLoaderImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -66,56 +66,83 @@ ULONG WINAPI IDirectMusicLoaderImpl_Release (LPDIRECTMUSICLOADER iface) /* IDirectMusicLoader Interface follow: */ HRESULT WINAPI IDirectMusicLoaderImpl_GetObject (LPDIRECTMUSICLOADER iface, LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID*ppv) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %p, %s, %p): stub\n", This, pDesc, debugstr_guid(riid), ppv); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_SetObject (LPDIRECTMUSICLOADER iface, LPDMUS_OBJECTDESC pDesc) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %p): stub\n", This, pDesc); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_SetSearchDirectory (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, WCHAR* pwzPath, BOOL fClear) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %s, %p, %d): stub\n", This, debugstr_guid(rguidClass), pwzPath, fClear); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_ScanDirectory (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, WCHAR* pwzFileExtension, WCHAR* pwzScanFileName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %s, %p, %p): stub\n", This, debugstr_guid(rguidClass), pwzFileExtension, pwzScanFileName); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_CacheObject (LPDIRECTMUSICLOADER iface, IDirectMusicObject* pObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %p): stub\n", This, pObject); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_ReleaseObject (LPDIRECTMUSICLOADER iface, IDirectMusicObject* pObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %p): stub\n", This, pObject); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_ClearCache (LPDIRECTMUSICLOADER iface, REFGUID rguidClass) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p,%s): stub\n", This, debugstr_guid(rguidClass)); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_EnableCache (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, BOOL fEnable) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %s, %d): stub\n", This, debugstr_guid(rguidClass), fEnable); + + return S_OK; } HRESULT WINAPI IDirectMusicLoaderImpl_EnumObject (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoaderImpl,iface); + + FIXME("(%p, %s, %ld, %p): stub\n", This, debugstr_guid(rguidClass), dwIndex, pDesc); + + return S_OK; } ICOM_VTABLE(IDirectMusicLoader) DirectMusicLoader_Vtbl = @@ -145,7 +172,7 @@ HRESULT WINAPI IDirectMusicLoader8Impl_QueryInterface (LPDIRECTMUSICLOADER8 ifac { IDirectMusicLoader8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -173,74 +200,109 @@ ULONG WINAPI IDirectMusicLoader8Impl_Release (LPDIRECTMUSICLOADER8 iface) /* IDirectMusicLoader Interface part follow: */ HRESULT WINAPI IDirectMusicLoader8Impl_GetObject (LPDIRECTMUSICLOADER8 iface, LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID*ppv) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %p, %s, %p): stub\n", This, pDesc, debugstr_guid(riid), ppv); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_SetObject (LPDIRECTMUSICLOADER8 iface, LPDMUS_OBJECTDESC pDesc) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pDesc); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_SetSearchDirectory (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass, WCHAR* pwzPath, BOOL fClear) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %s, %p, %d): stub\n", This, debugstr_guid(rguidClass), pwzPath, fClear); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_ScanDirectory (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass, WCHAR* pwzFileExtension, WCHAR* pwzScanFileName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %s, %p, %p): stub\n", This, debugstr_guid(rguidClass), pwzFileExtension, pwzScanFileName); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_CacheObject (LPDIRECTMUSICLOADER8 iface, IDirectMusicObject* pObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pObject); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_ReleaseObject (LPDIRECTMUSICLOADER8 iface, IDirectMusicObject* pObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pObject); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_ClearCache (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidClass)); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_EnableCache (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass, BOOL fEnable) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %s, %d): stub\n", This, debugstr_guid(rguidClass), fEnable); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_EnumObject (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %s, %ld, %p): stub\n", This, debugstr_guid(rguidClass), dwIndex, pDesc); + + return S_OK; } /* IDirectMusicLoader8 Interface part follow: */ void WINAPI IDirectMusicLoader8Impl_CollectGarbage (LPDIRECTMUSICLOADER8 iface) { - FIXME("stub\n"); + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p): stub\n", This); } HRESULT WINAPI IDirectMusicLoader8Impl_ReleaseObjectByUnknown (LPDIRECTMUSICLOADER8 iface, IUnknown* pObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pObject); + + return S_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_LoadObjectFromFile (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClassID, REFIID iidInterfaceID, WCHAR* pwzFilePath, void** ppObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicLoader8Impl,iface); + + FIXME("(%p, %s, %s, %p, %p): stub\n", This, debugstr_guid(rguidClassID), debugstr_guid(iidInterfaceID), pwzFilePath, ppObject); + + return S_OK; } ICOM_VTABLE(IDirectMusicLoader8) DirectMusicLoader8_Vtbl = @@ -296,7 +358,7 @@ HRESULT WINAPI IDirectMusicGetLoaderImpl_QueryInterface (LPDIRECTMUSICGETLOADER { IDirectMusicGetLoaderImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -324,8 +386,11 @@ ULONG WINAPI IDirectMusicGetLoaderImpl_Release (LPDIRECTMUSICGETLOADER iface) /* IDirectMusicGetLoader Interface follow: */ HRESULT WINAPI IDirectMusicGetLoaderImpl_GetLoader (LPDIRECTMUSICGETLOADER iface, IDirectMusicLoader** ppLoader) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicGetLoaderImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppLoader); + + return S_OK; } ICOM_VTABLE(IDirectMusicGetLoader) DirectMusicGetLoader_Vtbl = diff --git a/dlls/dmusic/dmusic_main.c b/dlls/dmusic/dmusic_main.c index 5133543568d..04a1d14c4b1 100644 --- a/dlls/dmusic/dmusic_main.c +++ b/dlls/dmusic/dmusic_main.c @@ -73,10 +73,10 @@ static HRESULT WINAPI DMCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter { return DMUSIC_CreateDirectMusicPerformance8 (riid, (LPDIRECTMUSICPERFORMANCE8*)ppobj, pOuter); } - if (IsEqualGUID (&IID_IDirectMusicLoader8, riid)) + /*if (IsEqualGUID (&IID_IDirectMusicLoader8, riid)) { return DMUSIC_CreateDirectMusicLoader8 (riid, (LPDIRECTMUSICLOADER8*)ppobj, pOuter); - } + }*/ WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; diff --git a/dlls/dmusic/dmusic_misc.c b/dlls/dmusic/dmusic_misc.c index 8ee3a1ff1c8..cb4b636a006 100644 --- a/dlls/dmusic/dmusic_misc.c +++ b/dlls/dmusic/dmusic_misc.c @@ -45,7 +45,7 @@ HRESULT WINAPI IReferenceClockImpl_QueryInterface (LPREFERENCECLOCK iface, REFII { IReferenceClockImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -73,26 +73,38 @@ ULONG WINAPI IReferenceClockImpl_Release (LPREFERENCECLOCK iface) /* IReferenceClock Interface follow: */ HRESULT WINAPI IReferenceClockImpl_GetTime (LPREFERENCECLOCK iface, REFERENCE_TIME* pTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IReferenceClockImpl,iface); + + FIXME("(%p, %p): stub\n", This, pTime); + + return S_OK; } HRESULT WINAPI IReferenceClockImpl_AdviseTime (LPREFERENCECLOCK iface, REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD* pdwAdviseCookie) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IReferenceClockImpl,iface); + + FIXME("(%p, FIXME, FIXME, %p, %p): stub\n", This,/* baseTime, streamTime,*/ hEvent, pdwAdviseCookie); + + return S_OK; } HRESULT WINAPI IReferenceClockImpl_AdvisePeriodic (LPREFERENCECLOCK iface, REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD* pdwAdviseCookie) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IReferenceClockImpl,iface); + + FIXME("(%p, FIXME, FIXME, %p, %p): stub\n", This,/* startTime, periodTime,*/ hSemaphore, pdwAdviseCookie); + + return S_OK; } HRESULT WINAPI IReferenceClockImpl_Unadvise (LPREFERENCECLOCK iface, DWORD dwAdviseCookie) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IReferenceClockImpl,iface); + + FIXME("(%p, %ld): stub\n", This, dwAdviseCookie); + + return S_OK; } ICOM_VTABLE(IReferenceClock) ReferenceClock_Vtbl = @@ -117,7 +129,7 @@ HRESULT WINAPI IDirectMusicThruImpl_QueryInterface (LPDIRECTMUSICTHRU iface, REF { IDirectMusicThruImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -145,8 +157,11 @@ ULONG WINAPI IDirectMusicThruImpl_Release (LPDIRECTMUSICTHRU iface) /* IDirectMusicThru Interface follow: */ HRESULT WINAPI IDirectMusicThruImpl_ThruChannel (LPDIRECTMUSICTHRU iface, DWORD dwSourceChannelGroup, DWORD dwSourceChannel, DWORD dwDestinationChannelGroup, DWORD dwDestinationChannel, LPDIRECTMUSICPORT pDestinationPort) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicThruImpl,iface); + + FIXME("(%p, %ld, %ld, %ld, %ld, %p): stub\n", This, dwSourceChannelGroup, dwSourceChannel, dwDestinationChannelGroup, dwDestinationChannel, pDestinationPort); + + return S_OK; } ICOM_VTABLE(IDirectMusicThru) DirectMusicThru_Vtbl = @@ -168,7 +183,7 @@ HRESULT WINAPI IDirectMusicAudioPathImpl_QueryInterface (LPDIRECTMUSICAUDIOPATH { IDirectMusicAudioPathImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -196,26 +211,38 @@ ULONG WINAPI IDirectMusicAudioPathImpl_Release (LPDIRECTMUSICAUDIOPATH iface) /* IDirectMusicAudioPath Interface follow: */ HRESULT WINAPI IDirectMusicAudioPathImpl_GetObjectInPath (LPDIRECTMUSICAUDIOPATH iface, DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, WORD dwIndex, REFGUID iidInterface, void** ppObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicAudioPathImpl,iface); + + FIXME("(%p, %ld, %ld, %ld, %s, %d, %s, %p): stub\n", This, dwPChannel, dwStage, dwBuffer, debugstr_guid(guidObject), dwIndex, debugstr_guid(iidInterface), ppObject); + + return S_OK; } HRESULT WINAPI IDirectMusicAudioPathImpl_Activate (LPDIRECTMUSICAUDIOPATH iface, BOOL fActivate) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicAudioPathImpl,iface); + + FIXME("(%p, %d): stub\n", This, fActivate); + + return S_OK; } HRESULT WINAPI IDirectMusicAudioPathImpl_SetVolume (LPDIRECTMUSICAUDIOPATH iface, long lVolume, DWORD dwDuration) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicAudioPathImpl,iface); + + FIXME("(%p, %li, %ld): stub\n", This, lVolume, dwDuration); + + return S_OK; } HRESULT WINAPI IDirectMusicAudioPathImpl_ConvertPChannel (LPDIRECTMUSICAUDIOPATH iface, DWORD dwPChannelIn, DWORD* pdwPChannelOut) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicAudioPathImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwPChannelIn, pdwPChannelOut); + + return S_OK; } ICOM_VTABLE(IDirectMusicAudioPath) DirectMusicAudioPath_Vtbl = @@ -224,7 +251,10 @@ ICOM_VTABLE(IDirectMusicAudioPath) DirectMusicAudioPath_Vtbl = IDirectMusicAudioPathImpl_QueryInterface, IDirectMusicAudioPathImpl_AddRef, IDirectMusicAudioPathImpl_Release, - + IDirectMusicAudioPathImpl_GetObjectInPath, + IDirectMusicAudioPathImpl_Activate, + IDirectMusicAudioPathImpl_SetVolume, + IDirectMusicAudioPathImpl_ConvertPChannel }; @@ -237,7 +267,7 @@ HRESULT WINAPI IDirectMusicBandImpl_QueryInterface (LPDIRECTMUSICBAND iface, REF { IDirectMusicBandImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -265,20 +295,29 @@ ULONG WINAPI IDirectMusicBandImpl_Release (LPDIRECTMUSICBAND iface) /* IDirectMusicBand Interface follow: */ HRESULT WINAPI IDirectMusicBandImpl_CreateSegment (LPDIRECTMUSICBAND iface, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBandImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicBandImpl_Download (LPDIRECTMUSICBAND iface, IDirectMusicPerformance* pPerformance) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBandImpl,iface); + + FIXME("(%p, %p): stub\n", This, pPerformance); + + return S_OK; } HRESULT WINAPI IDirectMusicBandImpl_Unload (LPDIRECTMUSICBAND iface, IDirectMusicPerformance* pPerformance) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicBandImpl,iface); + + FIXME("(%p, %p): stub\n", This, pPerformance); + + return S_OK; } ICOM_VTABLE(IDirectMusicBand) DirectMusicBand_Vtbl = @@ -302,7 +341,7 @@ HRESULT WINAPI IDirectMusicSongImpl_QueryInterface (LPDIRECTMUSICSONG iface, REF { IDirectMusicSongImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -330,44 +369,65 @@ ULONG WINAPI IDirectMusicSongImpl_Release (LPDIRECTMUSICSONG iface) /* IDirectMusicSong Interface follow: */ HRESULT WINAPI IDirectMusicSongImpl_Compose (LPDIRECTMUSICSONG iface) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSongImpl,iface); + + FIXME("(%p): stub\n", This); + + return S_OK; } HRESULT WINAPI IDirectMusicSongImpl_GetParam (LPDIRECTMUSICSONG iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSongImpl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pmtNext, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicSongImpl_GetSegment (LPDIRECTMUSICSONG iface, WCHAR* pwzName, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSongImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwzName, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicSongImpl_GetAudioPathConfig (LPDIRECTMUSICSONG iface, IUnknown** ppAudioPathConfig) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSongImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppAudioPathConfig); + + return S_OK; } HRESULT WINAPI IDirectMusicSongImpl_Download (LPDIRECTMUSICSONG iface, IUnknown* pAudioPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSongImpl,iface); + + FIXME("(%p, %p): stub\n", This, pAudioPath); + + return S_OK; } HRESULT WINAPI IDirectMusicSongImpl_Unload (LPDIRECTMUSICSONG iface, IUnknown* pAudioPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSongImpl,iface); + + FIXME("(%p, %p): stub\n", This, pAudioPath); + + return S_OK; } HRESULT WINAPI IDirectMusicSongImpl_EnumSegment (LPDIRECTMUSICSONG iface, DWORD dwIndex, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSongImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, ppSegment); + + return S_OK; } ICOM_VTABLE(IDirectMusicSong) DirectMusicSong_Vtbl = @@ -395,7 +455,7 @@ HRESULT WINAPI IDirectMusicChordMapImpl_QueryInterface (LPDIRECTMUSICCHORDMAP if { IDirectMusicChordMapImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -423,8 +483,11 @@ ULONG WINAPI IDirectMusicChordMapImpl_Release (LPDIRECTMUSICCHORDMAP iface) /* IDirectMusicChordMap Interface follow: */ HRESULT WINAPI IDirectMusicChordMapImpl_GetScale (LPDIRECTMUSICCHORDMAP iface, DWORD* pdwScale) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicChordMapImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwScale); + + return S_OK; } ICOM_VTABLE(IDirectMusicChordMap) DirectMusicChordMap_Vtbl = @@ -446,7 +509,7 @@ HRESULT WINAPI IDirectMusicComposerImpl_QueryInterface (LPDIRECTMUSICCOMPOSER if { IDirectMusicComposerImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -474,38 +537,56 @@ ULONG WINAPI IDirectMusicComposerImpl_Release (LPDIRECTMUSICCOMPOSER iface) /* IDirectMusicComposer Interface follow: */ HRESULT WINAPI IDirectMusicComposerImpl_ComposeSegmentFromTemplate (LPDIRECTMUSICCOMPOSER iface, IDirectMusicStyle* pStyle, IDirectMusicSegment* pTemplate, WORD wActivity, IDirectMusicChordMap* pChordMap, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicComposerImpl,iface); + + FIXME("(%p, %p, %p, %d, %p, %p): stub\n", This, pStyle, pTemplate, wActivity, pChordMap, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicComposerImpl_ComposeSegmentFromShape (LPDIRECTMUSICCOMPOSER iface, IDirectMusicStyle* pStyle, WORD wNumMeasures, WORD wShape, WORD wActivity, BOOL fIntro, BOOL fEnd, IDirectMusicChordMap* pChordMap, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicComposerImpl,iface); + + FIXME("(%p, %p, %d, %d, %d, %d, %d, %p, %p): stub\n", This, pStyle, wNumMeasures, wShape, wActivity, fIntro, fEnd, pChordMap, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicComposerImpl_ComposeTransition (LPDIRECTMUSICCOMPOSER iface, IDirectMusicSegment* pFromSeg, IDirectMusicSegment* pToSeg, MUSIC_TIME mtTime, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap* pChordMap, IDirectMusicSegment** ppTransSeg) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicComposerImpl,iface); + + FIXME("(%p, %p, %p, %ld, %d, %ld, %p, %p): stub\n", This, pFromSeg, pToSeg, mtTime, wCommand, dwFlags, pChordMap, ppTransSeg); + + return S_OK; } HRESULT WINAPI IDirectMusicComposerImpl_AutoTransition (LPDIRECTMUSICCOMPOSER iface, IDirectMusicPerformance* pPerformance, IDirectMusicSegment* pToSeg, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap* pChordMap, IDirectMusicSegment** ppTransSeg, IDirectMusicSegmentState** ppToSegState, IDirectMusicSegmentState** ppTransSegState) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicComposerImpl,iface); + + FIXME("(%p, %p, %d, %ld, %p, %p, %p, %p): stub\n", This, pPerformance, wCommand, dwFlags, pChordMap, ppTransSeg, ppToSegState, ppTransSegState); + + return S_OK; } HRESULT WINAPI IDirectMusicComposerImpl_ComposeTemplateFromShape (LPDIRECTMUSICCOMPOSER iface, WORD wNumMeasures, WORD wShape, BOOL fIntro, BOOL fEnd, WORD wEndLength, IDirectMusicSegment** ppTemplate) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicComposerImpl,iface); + + FIXME("(%p, %d, %d, %d, %d, %d, %p): stub\n", This, wNumMeasures, wShape, fIntro, fEnd, wEndLength, ppTemplate); + + return S_OK; } HRESULT WINAPI IDirectMusicComposerImpl_ChangeChordMap (LPDIRECTMUSICCOMPOSER iface, IDirectMusicSegment* pSegment, BOOL fTrackScale, IDirectMusicChordMap* pChordMap) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicComposerImpl,iface); + + FIXME("(%p, %p, %d, %p): stub\n", This, pSegment, fTrackScale, pChordMap); + + return S_OK; } ICOM_VTABLE(IDirectMusicComposer) DirectMusicComposer_Vtbl = @@ -532,7 +613,7 @@ HRESULT WINAPI IDirectMusicContainerImpl_QueryInterface (LPDIRECTMUSICCONTAINER { IDirectMusicContainerImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -560,8 +641,11 @@ ULONG WINAPI IDirectMusicContainerImpl_Release (LPDIRECTMUSICCONTAINER iface) /* IDirectMusicContainer Interface follow: */ HRESULT WINAPI IDirectMusicContainerImpl_EnumObject (LPDIRECTMUSICCONTAINER iface, REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc, WCHAR* pwszAlias) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicContainerImpl,iface); + + FIXME("(%p, %s, %ld, %p, %p): stub\n", This, debugstr_guid(rguidClass), dwIndex, pDesc, pwszAlias); + + return S_OK; } ICOM_VTABLE(IDirectMusicContainer) DirectMusicContainer_Vtbl = @@ -583,7 +667,7 @@ HRESULT WINAPI IDirectMusicGraphImpl_QueryInterface (LPDIRECTMUSICGRAPH iface, R { IDirectMusicGraphImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -611,26 +695,38 @@ ULONG WINAPI IDirectMusicGraphImpl_Release (LPDIRECTMUSICGRAPH iface) /* IDirectMusicGraph Interface follow: */ HRESULT WINAPI IDirectMusicGraphImpl_StampPMsg (LPDIRECTMUSICGRAPH iface, DMUS_PMSG* pPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicGraphImpl,iface); + + FIXME("(%p, %p): stub\n", This, pPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicGraphImpl_InsertTool (LPDIRECTMUSICGRAPH iface, IDirectMusicTool* pTool, DWORD* pdwPChannels, DWORD cPChannels, LONG lIndex) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicGraphImpl,iface); + + FIXME("(%p, %p, %p, %ld, %li): stub\n", This, pTool, pdwPChannels, cPChannels, lIndex); + + return S_OK; } HRESULT WINAPI IDirectMusicGraphImpl_GetTool (LPDIRECTMUSICGRAPH iface, DWORD dwIndex, IDirectMusicTool** ppTool) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicGraphImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, ppTool); + + return S_OK; } HRESULT WINAPI IDirectMusicGraphImpl_RemoveTool (LPDIRECTMUSICGRAPH iface, IDirectMusicTool* pTool) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicGraphImpl,iface); + + FIXME("(%p, %p): stub\n", This, pTool); + + return S_OK; } ICOM_VTABLE(IDirectMusicGraph) DirectMusicGraph_Vtbl = @@ -655,7 +751,7 @@ HRESULT WINAPI IDirectMusicScriptImpl_QueryInterface (LPDIRECTMUSICSCRIPT iface, { IDirectMusicScriptImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -683,62 +779,92 @@ ULONG WINAPI IDirectMusicScriptImpl_Release (LPDIRECTMUSICSCRIPT iface) /* IDirectMusicScript Interface follow: */ HRESULT WINAPI IDirectMusicScriptImpl_Init (LPDIRECTMUSICSCRIPT iface, IDirectMusicPerformance* pPerformance, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pPerformance, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_CallRoutine (LPDIRECTMUSICSCRIPT iface, WCHAR* pwszRoutineName, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwszRoutineName, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_SetVariableVariant (LPDIRECTMUSICSCRIPT iface, WCHAR* pwszVariableName, VARIANT varValue, BOOL fSetRef, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, FIXME, %d, %p): stub\n", This, pwszVariableName,/* varValue,*/ fSetRef, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_GetVariableVariant (LPDIRECTMUSICSCRIPT iface, WCHAR* pwszVariableName, VARIANT* pvarValue, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, pwszVariableName, pvarValue, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_SetVariableNumber (LPDIRECTMUSICSCRIPT iface, WCHAR* pwszVariableName, LONG lValue, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, %li, %p): stub\n", This, pwszVariableName, lValue, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_GetVariableNumber (LPDIRECTMUSICSCRIPT iface, WCHAR* pwszVariableName, LONG* plValue, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, pwszVariableName, plValue, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_SetVariableObject (LPDIRECTMUSICSCRIPT iface, WCHAR* pwszVariableName, IUnknown* punkValue, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, pwszVariableName, punkValue, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_GetVariableObject (LPDIRECTMUSICSCRIPT iface, WCHAR* pwszVariableName, REFIID riid, LPVOID* ppv, DMUS_SCRIPT_ERRORINFO* pErrorInfo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %p, %s, %p, %p): stub\n", This, pwszVariableName, debugstr_guid(riid), ppv, pErrorInfo); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_EnumRoutine (LPDIRECTMUSICSCRIPT iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } HRESULT WINAPI IDirectMusicScriptImpl_EnumVariable (LPDIRECTMUSICSCRIPT iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicScriptImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } ICOM_VTABLE(IDirectMusicScript) DirectMusicScript_Vtbl = diff --git a/dlls/dmusic/dmusic_performance.c b/dlls/dmusic/dmusic_performance.c index bbcf69daacc..6a60ea48061 100644 --- a/dlls/dmusic/dmusic_performance.c +++ b/dlls/dmusic/dmusic_performance.c @@ -37,7 +37,11 @@ HRESULT WINAPI IDirectMusicPerformanceImpl_QueryInterface (LPDIRECTMUSICPERFORMA { IDirectMusicPerformanceImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; + } + if (IsEqualGUID(riid, &IID_IDirectMusicPerformance8)) + { + return DMUSIC_CreateDirectMusicPerformance8 (riid, (LPDIRECTMUSICPERFORMANCE8 *)ppobj, NULL); } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -99,249 +103,408 @@ HRESULT WINAPI IDirectMusicPerformanceImpl_Init (LPDIRECTMUSICPERFORMANCE iface, HRESULT WINAPI IDirectMusicPerformanceImpl_PlaySegment (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState) { - FIXME("stub\n"); + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p, %ld, FIXME, %p): stub\n", This, pSegment, dwFlags/*, i64StartTime*/, ppSegmentState); + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_Stop (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p, %p, %ld, %ld): stub\n", This, pSegment, pSegmentState, mtTime, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetSegmentState (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegmentState** ppSegmentState, MUSIC_TIME mtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p,%p, %ld): stub\n", This, ppSegmentState, mtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %ld): stub\n", This, dwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_SetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %ld): stub\n", This, dwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_SendPMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_PMSG* pPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, pPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, REFERENCE_TIME* prtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %ld, FIXME): stub\n", This, mtTime/*,prtTime*/); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtTime, MUSIC_TIME* pmtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, FIXME, %p): stub\n", This/*, rtTime*/, pmtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_IsPlaying (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegState) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pSegment, pSegState); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtNow, MUSIC_TIME* pmtNow) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, FIXME, %p): stub\n", This/*, prtNow*/, pmtNow); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_AllocPMsg (LPDIRECTMUSICPERFORMANCE iface, ULONG cb, DMUS_PMSG** ppPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, cb, ppPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_FreePMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_PMSG* pPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, pPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph** ppGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_SetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph* pGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, pGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE iface, HANDLE hNotification, REFERENCE_TIME rtMinimum) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p, FIXME): stub\n", This, hNotification/*, rtMinimum*/); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_NOTIFICATION_PMSG** ppNotificationPMsg) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppNotificationPMsg); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_AddNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_AddPort (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicPort* pPort) { ICOM_THIS(IDirectMusicPerformanceImpl,iface); - FIXME("(%p, %p): stub\n", This, pPort); + FIXME("(%p, %p): semi-stub\n", This, pPort); + /* just pretend that the port has been added */ - return DMUS_E_CANNOT_OPEN_PORT; + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_RemovePort (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicPort* pPort) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, pPort); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE iface, DWORD dwBlockNum, IDirectMusicPort* pPort, DWORD dwGroup) { ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %ld, %p, %ld): stub\n", This, dwBlockNum, pPort, dwGroup); - - return E_INVALIDARG; + int i, j, range /* min value in range */; + + range = 16 * dwBlockNum; + j = 0; + + FIXME("(%p, %ld, %p, %ld): semi-stub\n", This, dwBlockNum, pPort, dwGroup-1); + for (i = range; i < range+16; i++) + { + /*TRACE("Setting PChannel[%i] to port %p, group %ld, MIDI port %i\n", i, pPort, dwGroup-1, j); */ + This->PChannel[i].port = pPort; + This->PChannel[i].group = dwGroup - 1; /* first index is always zero */ + This->PChannel[i].channel = j; /* FIXME: should this be assigned? */ + j++; + } + + return S_FALSE; } HRESULT WINAPI IDirectMusicPerformanceImpl_AssignPChannel (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, IDirectMusicPort* pPort, DWORD dwGroup, DWORD dwMChannel) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + TRACE("(%p, %ld, %p, %ld, %ld)\n", This, dwPChannel, pPort, dwGroup, dwMChannel); + This->PChannel[dwPChannel].port = pPort; + This->PChannel[dwPChannel].group = dwGroup; + This->PChannel[dwPChannel].channel = dwMChannel; + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_PChannelInfo (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %ld, %p, %p, %p): stub\n", This, dwPChannel, ppPort, pdwGroup, pdwMChannel); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicInstrument* pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument** ppDownInst, DMUS_NOTERANGE* pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p, %ld, %p, %p, %ld, %p, %p, %p): stub\n", This, pInst, dwPChannel, ppDownInst, pNoteRanges, dwNumNoteRanges, ppPort, pdwGroup, pdwMChannel); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_Invalidate (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %ld, %ld): stub\n", This, mtTime, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pmtNext, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_SetParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, void* pParam, DWORD dwSize) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + TRACE("(%p, %s, %p, %ld)\n", This, debugstr_guid(rguidType), pParam, dwSize); + + if (IsEqualGUID(rguidType, &GUID_PerfAutoDownload)) + memcpy(pParam, &This->AutoDownload, sizeof(&This->AutoDownload)); + if (IsEqualGUID(rguidType, &GUID_PerfMasterGrooveLevel)) + memcpy(pParam, &This->MasterGrooveLevel, sizeof(&This->MasterGrooveLevel)); + if (IsEqualGUID(rguidType, &GUID_PerfMasterTempo)) + memcpy(pParam, &This->MasterTempo, sizeof(&This->MasterTempo)); + if (IsEqualGUID(rguidType, &GUID_PerfMasterVolume)) + memcpy(pParam, &This->MasterVolume, sizeof(&This->MasterVolume)); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, void* pParam, DWORD dwSize) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + TRACE("(%p, %s, %p, %ld)\n", This, debugstr_guid(rguidType), pParam, dwSize); + + if (IsEqualGUID(rguidType, &GUID_PerfAutoDownload)) + { + memcpy(&This->AutoDownload, pParam, dwSize); + TRACE("=> AutoDownload set to %d\n", This->AutoDownload); + } + if (IsEqualGUID(rguidType, &GUID_PerfMasterGrooveLevel)) + { + memcpy(&This->MasterGrooveLevel, pParam, dwSize); + TRACE("=> MasterGrooveLevel set to %i\n", This->MasterGrooveLevel); + } + if (IsEqualGUID(rguidType, &GUID_PerfMasterTempo)) + { + memcpy(&This->MasterTempo, pParam, dwSize); + TRACE("=> MasterTempo set to %f\n", This->MasterTempo); + } + if (IsEqualGUID(rguidType, &GUID_PerfMasterVolume)) + { + memcpy(&This->MasterVolume, pParam, dwSize); + TRACE("=> MasterVolume set to %li\n", This->MasterVolume); + } + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, prtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetQueueTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %p): stub\n", This, prtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_AdjustTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtAmount) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, FIXME): stub\n", This/*, rtAmount*/); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_CloseDown (LPDIRECTMUSICPERFORMANCE iface) { ICOM_THIS(IDirectMusicPerformanceImpl,iface); - FIXME("(%p): semi-stub\n", This); + + FIXME("(%p): stub\n", This); + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtTime, REFERENCE_TIME* prtResolved, DWORD dwTimeResolveFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, FIXME, %p, %ld): stub\n", This/*, rtTime*/, prtResolved, dwTimeResolveFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE iface, BYTE bMIDIValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, WORD* pwMusicValue) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %d, %p, %d, %d, %p): stub\n", This, bMIDIValue, pChord, bPlayMode, bChordLevel, pwMusicValue); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE iface, WORD wMusicValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE* pbMIDIValue) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %d, %p, %d, %d, %p): stub\n", This, wMusicValue, pChord, bPlayMode, bChordLevel, pbMIDIValue); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, DMUS_TIMESIGNATURE* pTimeSig, WORD* pwMeasure, BYTE* pbBeat, BYTE* pbGrid, short* pnOffset) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %ld, %p, %p, %p, %p, %p): stub\n", This, mtTime, pTimeSig, pwMeasure, pbBeat, pbGrid, pnOffset); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformanceImpl_RhythmToTime (LPDIRECTMUSICPERFORMANCE iface, WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE* pTimeSig, MUSIC_TIME* pmtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformanceImpl,iface); + + FIXME("(%p, %d, %d, %d, %i, %p, %p): stub\n", This, wMeasure, bBeat, bGrid, nOffset, pTimeSig, pmtTime); + + return S_OK; } ICOM_VTABLE(IDirectMusicPerformance) DirectMusicPerformance_Vtbl = @@ -427,7 +590,7 @@ HRESULT WINAPI IDirectMusicPerformance8Impl_QueryInterface (LPDIRECTMUSICPERFORM { IDirectMusicPerformance8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -455,303 +618,478 @@ ULONG WINAPI IDirectMusicPerformance8Impl_Release (LPDIRECTMUSICPERFORMANCE8 ifa /* IDirectMusicPerformance Interface part follow: */ HRESULT WINAPI IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + FIXME("(iface = %p, dmusic = %p (*dmusic = %p), dsound = %p, hwnd = %p): semi-stub\n", This, ppDirectMusic, *ppDirectMusic, pDirectSound, hWnd); + + /* app creates it's own dmusic object and gives it to performance */ + if (*ppDirectMusic) + { + TRACE("App provides DirectMusic\n"); + /* FIXME: is this correct? */ + memcpy((LPDIRECTMUSIC)This->dmusic, *ppDirectMusic, sizeof(*ppDirectMusic)); + IDirectMusicImpl_AddRef((LPDIRECTMUSIC)This->dmusic); + /* app is supposed to be in charge of everything else */ + return S_OK; + } + /* app allows the performance to initialise itfself and needs a pointer to object*/ + if (!*ppDirectMusic) + { + TRACE("DirectMusic to be created; needed\n"); + if (!This->dmusic) + DMUSIC_CreateDirectMusic(&IID_IDirectMusic, (LPDIRECTMUSIC*)&This->dmusic, NULL); + *ppDirectMusic = (LPDIRECTMUSIC)This->dmusic; + if (*ppDirectMusic) + IDirectMusicImpl_AddRef(*ppDirectMusic); + } + /* app allows the performance to initialise itself and does not need a pointer to object*/ + if (!ppDirectMusic) + { + TRACE("DirectMusic to be created; not needed\n"); + } + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegment (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %ld, FIXME, %p): stub\n", This, pSegment, dwFlags/*, i64StartTime*/, ppSegmentState); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_Stop (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %p, %ld, %ld): stub\n", This, pSegment, pSegmentState, mtTime, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetSegmentState (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegmentState** ppSegmentState, MUSIC_TIME mtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p,%p, %ld): stub\n", This, ppSegmentState, mtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld): stub\n", This, dwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface, DWORD* pdwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_SetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld): stub\n", This, dwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface, DWORD* pdwMilliSeconds) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwMilliSeconds); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_SendPMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, REFERENCE_TIME* prtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, FIXME): stub\n", This, mtTime/*,prtTime*/); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtTime, MUSIC_TIME* pmtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, FIXME, %p): stub\n", This/*, rtTime*/, pmtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_IsPlaying (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegState) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pSegment, pSegState); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtNow, MUSIC_TIME* pmtNow) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, FIXME, %p): stub\n", This/*, prtNow*/, pmtNow); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_AllocPMsg (LPDIRECTMUSICPERFORMANCE8 iface, ULONG cb, DMUS_PMSG** ppPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, cb, ppPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_FreePMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph** ppGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_SetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph* pGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE8 iface, HANDLE hNotification, REFERENCE_TIME rtMinimum) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, FIXME): stub\n", This, hNotification/*, rtMinimum*/); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_NOTIFICATION_PMSG** ppNotificationPMsg) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppNotificationPMsg); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_AddNotificationType (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_AddPort (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicPort* pPort) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pPort); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_RemovePort (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicPort* pPort) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pPort); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwBlockNum, IDirectMusicPort* pPort, DWORD dwGroup) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, %p, %ld): stub\n", This, dwBlockNum, pPort, dwGroup); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannel (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwPChannel, IDirectMusicPort* pPort, DWORD dwGroup, DWORD dwMChannel) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, %p, %ld, %ld): stub\n", This, dwPChannel, pPort, dwGroup, dwMChannel); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_PChannelInfo (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwPChannel, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, %p, %p, %p): stub\n", This, dwPChannel, ppPort, pdwGroup, pdwMChannel); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicInstrument* pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument** ppDownInst, DMUS_NOTERANGE* pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %ld, %p, %p, %ld, %p, %p, %p): stub\n", This, pInst, dwPChannel, ppDownInst, pNoteRanges, dwNumNoteRanges, ppPort, pdwGroup, pdwMChannel); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_Invalidate (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, %ld): stub\n", This, mtTime, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pmtNext, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_SetParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, void* pParam, DWORD dwSize) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %s, %p, %ld): stub\n", This, debugstr_guid(rguidType), pParam, dwSize); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, void* pParam, DWORD dwSize) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %s, %p, %ld): stub\n", This, debugstr_guid(rguidType), pParam, dwSize); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, prtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetQueueTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, prtTime); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_AdjustTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtAmount) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, FIXME): stub\n", This/*, rtAmount*/); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_CloseDown (LPDIRECTMUSICPERFORMANCE8 iface) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p): stub\n", This); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtTime, REFERENCE_TIME* prtResolved, DWORD dwTimeResolveFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, FIXME, %p, %ld): stub\n", This/*, rtTime*/, prtResolved, dwTimeResolveFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE8 iface, BYTE bMIDIValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, WORD* pwMusicValue) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %d, %p, %d, %d, %p): stub\n", This, bMIDIValue, pChord, bPlayMode, bChordLevel, pwMusicValue); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE8 iface, WORD wMusicValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE* pbMIDIValue) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %d, %p, %d, %d, %p): stub\n", This, wMusicValue, pChord, bPlayMode, bChordLevel, pbMIDIValue); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, DMUS_TIMESIGNATURE* pTimeSig, WORD* pwMeasure, BYTE* pbBeat, BYTE* pbGrid, short* pnOffset) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, %p, %p, %p, %p, %p): stub\n", This, mtTime, pTimeSig, pwMeasure, pbBeat, pbGrid, pnOffset); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8Impl_RhythmToTime (LPDIRECTMUSICPERFORMANCE8 iface, WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE* pTimeSig, MUSIC_TIME* pmtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,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: */ HRESULT WINAPI IDirectMusicPerformance8ImplInitAudio (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusic** ppDirectMusic, IDirectSound** ppDirectSound, HWND hWnd, DWORD dwDefaultPathType, DWORD dwPChannelCount, DWORD dwFlags, DMUS_AUDIOPARAMS* pParams) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %p, %p, %ld, %ld, %ld, %p): stub\n", This, ppDirectMusic, ppDirectSound, hWnd, dwDefaultPathType, dwPChannelCount, dwFlags, pParams); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplPlaySegmentEx (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pSource, WCHAR* pwzSegmentName, IUnknown* pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState, IUnknown* pFrom, IUnknown* pAudioPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %p, %p, %ld, FIXME, %p, %p, %p): stub\n", This, pSource, pwzSegmentName, pTransition, dwFlags/*, i64StartTime*/, ppSegmentState, pFrom, pAudioPath); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplStopEx (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pObjectToStop, __int64 i64StopTime, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, FIXME, %ld): stub\n", This, pObjectToStop/*, i64StopTime*/, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplClonePMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pSourcePMSG, DMUS_PMSG** ppCopyPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pSourcePMSG, ppCopyPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplCreateAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pSourceConfig, BOOL fActivate, IDirectMusicAudioPath** ppNewPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p, %d, %p): stub\n", This, pSourceConfig, fActivate, ppNewPath); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplCreateStandardAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwType, DWORD dwPChannelCount, BOOL fActivate, IDirectMusicAudioPath** ppNewPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %ld, %ld, %d, %p): stub\n", This, dwType, dwPChannelCount, fActivate, ppNewPath); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplSetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicAudioPath* pAudioPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pAudioPath); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplGetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicAudioPath** ppAudioPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppAudioPath); + + return S_OK; } HRESULT WINAPI IDirectMusicPerformance8ImplGetParamEx (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwTrackID, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPerformance8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), dwTrackID, dwGroupBits, dwIndex, mtTime, pmtNext, pParam); + + return S_OK; } ICOM_VTABLE(IDirectMusicPerformance8) DirectMusicPerformance8_Vtbl = diff --git a/dlls/dmusic/dmusic_plugins.c b/dlls/dmusic/dmusic_plugins.c index d022c519ea0..8e16df60ece 100644 --- a/dlls/dmusic/dmusic_plugins.c +++ b/dlls/dmusic/dmusic_plugins.c @@ -33,13 +33,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); /* IDirectMusicTool IUnknown parts follow: */ HRESULT WINAPI IDirectMusicToolImpl_QueryInterface (LPDIRECTMUSICTOOL iface, REFIID riid, LPVOID *ppobj) { - ICOM_THIS(IDirectMusicToolImpl,iface); + ICOM_THIS(IDirectMusicToolImpl, iface); if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicTool)) { IDirectMusicToolImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -47,14 +47,14 @@ HRESULT WINAPI IDirectMusicToolImpl_QueryInterface (LPDIRECTMUSICTOOL iface, REF ULONG WINAPI IDirectMusicToolImpl_AddRef (LPDIRECTMUSICTOOL iface) { - ICOM_THIS(IDirectMusicToolImpl,iface); + ICOM_THIS(IDirectMusicToolImpl, iface); TRACE("(%p) : AddRef from %ld\n", This, This->ref); return ++(This->ref); } ULONG WINAPI IDirectMusicToolImpl_Release (LPDIRECTMUSICTOOL iface) { - ICOM_THIS(IDirectMusicToolImpl,iface); + ICOM_THIS(IDirectMusicToolImpl, iface); ULONG ref = --This->ref; TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); if (ref == 0) @@ -67,38 +67,56 @@ ULONG WINAPI IDirectMusicToolImpl_Release (LPDIRECTMUSICTOOL iface) /* IDirectMusicTool Interface follow: */ HRESULT WINAPI IDirectMusicToolImpl_Init (LPDIRECTMUSICTOOL iface, IDirectMusicGraph* pGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicToolImpl, iface); + + FIXME("(%p, %p): stub\n", This, pGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicToolImpl_GetMsgDeliveryType (LPDIRECTMUSICTOOL iface, DWORD* pdwDeliveryType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicToolImpl, iface); + + FIXME("(%p, %p): stub\n", This, pdwDeliveryType); + + return S_OK; } HRESULT WINAPI IDirectMusicToolImpl_GetMediaTypeArraySize (LPDIRECTMUSICTOOL iface, DWORD* pdwNumElements) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicToolImpl, iface); + + FIXME("(%p, %p): stub\n", This, pdwNumElements); + + return S_OK; } HRESULT WINAPI IDirectMusicToolImpl_GetMediaTypes (LPDIRECTMUSICTOOL iface, DWORD** padwMediaTypes, DWORD dwNumElements) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicToolImpl, iface); + + FIXME("(%p, %p, %ld): stub\n", This, padwMediaTypes, dwNumElements); + + return S_OK; } HRESULT WINAPI IDirectMusicToolImpl_ProcessPMsg (LPDIRECTMUSICTOOL iface, IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicToolImpl, iface); + + FIXME("(%p, %p, %p): stub\n", This, pPerf, pPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicToolImpl_Flush (LPDIRECTMUSICTOOL iface, IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG, REFERENCE_TIME rtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicToolImpl, iface); + + FIXME("(%p, %p, %p, FIXME): stub\n", This, pPerf, pPMSG/*, rtTime*/); + + return S_OK; } ICOM_VTABLE(IDirectMusicTool) DirectMusicTool_Vtbl = @@ -125,7 +143,7 @@ HRESULT WINAPI IDirectMusicTool8Impl_QueryInterface (LPDIRECTMUSICTOOL8 iface, R { IDirectMusicTool8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -153,44 +171,65 @@ ULONG WINAPI IDirectMusicTool8Impl_Release (LPDIRECTMUSICTOOL8 iface) /* IDirectMusicTool8 Interface follow: */ HRESULT WINAPI IDirectMusicTool8Impl_Init (LPDIRECTMUSICTOOL8 iface, IDirectMusicGraph* pGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTool8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicTool8Impl_GetMsgDeliveryType (LPDIRECTMUSICTOOL8 iface, DWORD* pdwDeliveryType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTool8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwDeliveryType); + + return S_OK; } HRESULT WINAPI IDirectMusicTool8Impl_GetMediaTypeArraySize (LPDIRECTMUSICTOOL8 iface, DWORD* pdwNumElements) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTool8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwNumElements); + + return S_OK; } HRESULT WINAPI IDirectMusicTool8Impl_GetMediaTypes (LPDIRECTMUSICTOOL8 iface, DWORD** padwMediaTypes, DWORD dwNumElements) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTool8Impl,iface); + + FIXME("(%p, %p, %ld): stub\n", This, padwMediaTypes, dwNumElements); + + return S_OK; } HRESULT WINAPI IDirectMusicTool8Impl_ProcessPMsg (LPDIRECTMUSICTOOL8 iface, IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTool8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pPerf, pPMSG); + + return S_OK; } HRESULT WINAPI IDirectMusicTool8Impl_Flush (LPDIRECTMUSICTOOL8 iface, IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG, REFERENCE_TIME rtTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTool8Impl,iface); + + FIXME("(%p, %p, %p, FIXME): stub\n", This, pPerf, pPMSG/*, rtTime*/); + + return S_OK; } HRESULT WINAPI IDirectMusicTool8Impl_Clone (LPDIRECTMUSICTOOL8 iface, IDirectMusicTool** ppTool) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTool8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppTool); + + return S_OK; } ICOM_VTABLE(IDirectMusicTool8) DirectMusicTool8_Vtbl = @@ -218,7 +257,7 @@ HRESULT WINAPI IDirectMusicTrackImpl_QueryInterface (LPDIRECTMUSICTRACK iface, R { IDirectMusicTrackImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -245,62 +284,92 @@ ULONG WINAPI IDirectMusicTrackImpl_Release (LPDIRECTMUSICTRACK iface) /* IDirectMusicTrack Interface follow: */ HRESULT WINAPI IDirectMusicTrackImpl_Init (LPDIRECTMUSICTRACK iface, IDirectMusicSegment* pSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %p): stub\n", This, pSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_InitPlay (LPDIRECTMUSICTRACK iface, IDirectMusicSegmentState* pSegmentState, IDirectMusicPerformance* pPerformance, void** ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %p, %p, %p, %ld, %ld): stub\n", This, pSegmentState, pPerformance, ppStateData, dwVirtualTrackID, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_EndPlay (LPDIRECTMUSICTRACK iface, void* pStateData) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %p): stub\n", This, pStateData); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_Play (LPDIRECTMUSICTRACK iface, void* pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance* pPerf, IDirectMusicSegmentState* pSegSt, DWORD dwVirtualID) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %p, %ld, %ld, %ld, %ld, %p, %p, %ld): stub\n", This, pStateData, mtStart, mtEnd, mtOffset, dwFlags, pPerf, pSegSt, dwVirtualID); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_GetParam (LPDIRECTMUSICTRACK iface, REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %s, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), mtTime, pmtNext, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_SetParam (LPDIRECTMUSICTRACK iface, REFGUID rguidType, MUSIC_TIME mtTime, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %s, %ld, %p): stub\n", This, debugstr_guid(rguidType), mtTime, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_IsParamSupported (LPDIRECTMUSICTRACK iface, REFGUID rguidType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidType)); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_AddNotificationType (LPDIRECTMUSICTRACK iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_RemoveNotificationType (LPDIRECTMUSICTRACK iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicTrackImpl_Clone (LPDIRECTMUSICTRACK iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack** ppTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrackImpl,iface); + + FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppTrack); + + return S_OK; } ICOM_VTABLE(IDirectMusicTrack) DirectMusicTrack_Vtbl = @@ -330,7 +399,7 @@ HRESULT WINAPI IDirectMusicTrack8Impl_QueryInterface (LPDIRECTMUSICTRACK8 iface, { IDirectMusicTrack8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -357,94 +426,139 @@ ULONG WINAPI IDirectMusicTrack8Impl_Release (LPDIRECTMUSICTRACK8 iface) /* IDirectMusicTrack Interface part follow: */ HRESULT WINAPI IDirectMusicTrack8Impl_Init (LPDIRECTMUSICTRACK8 iface, IDirectMusicSegment* pSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_InitPlay (LPDIRECTMUSICTRACK8 iface, IDirectMusicSegmentState* pSegmentState, IDirectMusicPerformance* pPerformance, void** ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %p, %p, %p, %ld, %ld): stub\n", This, pSegmentState, pPerformance, ppStateData, dwVirtualTrack8ID, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_EndPlay (LPDIRECTMUSICTRACK8 iface, void* pStateData) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pStateData); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_Play (LPDIRECTMUSICTRACK8 iface, void* pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance* pPerf, IDirectMusicSegmentState* pSegSt, DWORD dwVirtualID) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %p, %ld, %ld, %ld, %ld, %p, %p, %ld): stub\n", This, pStateData, mtStart, mtEnd, mtOffset, dwFlags, pPerf, pSegSt, dwVirtualID); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_GetParam (LPDIRECTMUSICTRACK8 iface, REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %s, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), mtTime, pmtNext, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_SetParam (LPDIRECTMUSICTRACK8 iface, REFGUID rguidType, MUSIC_TIME mtTime, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %s, %ld, %p): stub\n", This, debugstr_guid(rguidType), mtTime, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_IsParamSupported (LPDIRECTMUSICTRACK8 iface, REFGUID rguidType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidType)); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_AddNotificationType (LPDIRECTMUSICTRACK8 iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_RemoveNotificationType (LPDIRECTMUSICTRACK8 iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_Clone (LPDIRECTMUSICTRACK8 iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack** ppTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppTrack); + + return S_OK; } /* IDirectMusicTrack8 Interface part follow: */ HRESULT WINAPI IDirectMusicTrack8Impl_PlayEx (LPDIRECTMUSICTRACK8 iface, void* pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance* pPerf, IDirectMusicSegmentState* pSegSt, DWORD dwVirtualID) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %p, FIXME, FIXME, FIXME, %ld, %p, %p, %ld): stub\n", This, pStateData/*, rtStart, rtEnd, rtOffset*/, dwFlags, pPerf, pSegSt, dwVirtualID); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_GetParamEx (LPDIRECTMUSICTRACK8 iface, REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME* prtNext, void* pParam, void* pStateData, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %s, FIXME, %p, %p, %p, %ld): stub\n", This, debugstr_guid(rguidType)/*, rtTime*/, prtNext, pParam, pStateData, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_SetParamEx (LPDIRECTMUSICTRACK8 iface, REFGUID rguidType, REFERENCE_TIME rtTime, void* pParam, void* pStateData, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %s, FIXME, %p, %p, %ld): stub\n", This, debugstr_guid(rguidType)/*, rtTime*/, pParam, pStateData, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_Compose (LPDIRECTMUSICTRACK8 iface, IUnknown* pContext, DWORD dwTrackGroup, IDirectMusicTrack** ppResultTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %p, %ld, %p): stub\n", This, pContext, dwTrackGroup, ppResultTrack); + + return S_OK; } HRESULT WINAPI IDirectMusicTrack8Impl_Join (LPDIRECTMUSICTRACK8 iface, IDirectMusicTrack* pNewTrack, MUSIC_TIME mtJoin, IUnknown* pContext, DWORD dwTrackGroup, IDirectMusicTrack** ppResultTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicTrack8Impl,iface); + + FIXME("(%p, %p, %ld, %p, %ld, %p): stub\n", This, pNewTrack, mtJoin, pContext, dwTrackGroup, ppResultTrack); + + return S_OK; } ICOM_VTABLE(IDirectMusicTrack8) DirectMusicTrack8_Vtbl = diff --git a/dlls/dmusic/dmusic_port.c b/dlls/dmusic/dmusic_port.c index b36ed7695a8..7c0cc77b03e 100644 --- a/dlls/dmusic/dmusic_port.c +++ b/dlls/dmusic/dmusic_port.c @@ -37,7 +37,7 @@ HRESULT WINAPI IDirectMusicPortImpl_QueryInterface (LPDIRECTMUSICPORT iface, REF { IDirectMusicPortImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -65,44 +65,65 @@ ULONG WINAPI IDirectMusicPortImpl_Release (LPDIRECTMUSICPORT iface) /* IDirectMusicPort Interface follow: */ HRESULT WINAPI IDirectMusicPortImpl_PlayBuffer (LPDIRECTMUSICPORT iface, LPDIRECTMUSICBUFFER pBuffer) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p): stub\n", This, pBuffer); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_SetReadNotificationHandle (LPDIRECTMUSICPORT iface, HANDLE hEvent) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p): stub\n", This, hEvent); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_Read (LPDIRECTMUSICPORT iface, LPDIRECTMUSICBUFFER pBuffer) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p): stub\n", This, pBuffer); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_DownloadInstrument (LPDIRECTMUSICPORT iface, IDirectMusicInstrument* pInstrument, IDirectMusicDownloadedInstrument** ppDownloadedInstrument, DMUS_NOTERANGE* pNoteRanges, DWORD dwNumNoteRanges) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p, %p, %p, %ld): stub\n", This, pInstrument, ppDownloadedInstrument, pNoteRanges, dwNumNoteRanges); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_UnloadInstrument (LPDIRECTMUSICPORT iface, IDirectMusicDownloadedInstrument *pDownloadedInstrument) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p): stub\n", This, pDownloadedInstrument); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_GetLatencyClock (LPDIRECTMUSICPORT iface, IReferenceClock** ppClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppClock); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_GetRunningStats (LPDIRECTMUSICPORT iface, LPDMUS_SYNTHSTATS pStats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p): stub\n", This, pStats); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_GetCaps (LPDIRECTMUSICPORT iface, LPDMUS_PORTCAPS pPortCaps) @@ -117,50 +138,84 @@ HRESULT WINAPI IDirectMusicPortImpl_GetCaps (LPDIRECTMUSICPORT iface, LPDMUS_POR HRESULT WINAPI IDirectMusicPortImpl_DeviceIoControl (LPDIRECTMUSICPORT iface, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %ld, %p, %ld, %p, %ld, %p, %p): stub\n", This, dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_SetNumChannelGroups (LPDIRECTMUSICPORT iface, DWORD dwChannelGroups) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %ld): semi-stub\n", This, dwChannelGroups); + This->nrofgroups = dwChannelGroups; + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_GetNumChannelGroups (LPDIRECTMUSICPORT iface, LPDWORD pdwChannelGroups) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + TRACE("(%p, %p)\n", This, pdwChannelGroups); + *pdwChannelGroups = This->nrofgroups; + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_Activate (LPDIRECTMUSICPORT iface, BOOL fActive) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + TRACE("(%p, %d)\n", This, fActive); + This->active = fActive; + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_SetChannelPriority (LPDIRECTMUSICPORT iface, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %ld, %ld, %ld): semi-stub\n", This, dwChannelGroup, dwChannel, dwPriority); + + if (dwChannel > 16) + { + WARN("isn't there supposed to be 16 channels (no. %ld requested)?! (faking as it is ok)\n", dwChannel); + /*return E_INVALIDARG;*/ + } + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_GetChannelPriority (LPDIRECTMUSICPORT iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + TRACE("(%p, %ld, %ld, %p)\n", This, dwChannelGroup, dwChannel, pdwPriority); + *pdwPriority = This->group[dwChannelGroup-1].channel[dwChannel].priority; + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_SetDirectSound (LPDIRECTMUSICPORT iface, LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pDirectSound, pDirectSoundBuffer); + + return S_OK; } HRESULT WINAPI IDirectMusicPortImpl_GetFormat (LPDIRECTMUSICPORT iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize, LPDWORD pdwBufferSize) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortImpl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, pWaveFormatEx, pdwWaveFormatExSize, pdwBufferSize); + + return S_OK; } ICOM_VTABLE(IDirectMusicPort) DirectMusicPort_Vtbl = @@ -197,7 +252,7 @@ HRESULT WINAPI IDirectMusicPortDownloadImpl_QueryInterface (LPDIRECTMUSICPORTDOW { IDirectMusicPortDownloadImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -225,38 +280,56 @@ ULONG WINAPI IDirectMusicPortDownloadImpl_Release (LPDIRECTMUSICPORTDOWNLOAD ifa /* IDirectMusicPortDownload Interface follow: */ HRESULT WINAPI IDirectMusicPortDownloadImpl_GetBuffer (LPDIRECTMUSICPORTDOWNLOAD iface, DWORD dwDLId, IDirectMusicDownload** ppIDMDownload) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortDownloadImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwDLId, ppIDMDownload); + + return S_OK; } HRESULT WINAPI IDirectMusicPortDownloadImpl_AllocateBuffer (LPDIRECTMUSICPORTDOWNLOAD iface, DWORD dwSize, IDirectMusicDownload** ppIDMDownload) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortDownloadImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwSize, ppIDMDownload); + + return S_OK; } HRESULT WINAPI IDirectMusicPortDownloadImpl_GetDLId (LPDIRECTMUSICPORTDOWNLOAD iface, DWORD* pdwStartDLId, DWORD dwCount) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortDownloadImpl,iface); + + FIXME("(%p, %p, %ld): stub\n", This, pdwStartDLId, dwCount); + + return S_OK; } HRESULT WINAPI IDirectMusicPortDownloadImpl_GetAppend (LPDIRECTMUSICPORTDOWNLOAD iface, DWORD* pdwAppend) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortDownloadImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwAppend); + + return S_OK; } HRESULT WINAPI IDirectMusicPortDownloadImpl_Download (LPDIRECTMUSICPORTDOWNLOAD iface, IDirectMusicDownload* pIDMDownload) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortDownloadImpl,iface); + + FIXME("(%p, %p): stub\n", This, pIDMDownload); + + return S_OK; } HRESULT WINAPI IDirectMusicPortDownloadImpl_Unload (LPDIRECTMUSICPORTDOWNLOAD iface, IDirectMusicDownload* pIDMDownload) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPortDownloadImpl,iface); + + FIXME("(%p, %p): stub\n", This, pIDMDownload); + + return S_OK; } ICOM_VTABLE(IDirectMusicPortDownload) DirectMusicPortDownload_Vtbl = diff --git a/dlls/dmusic/dmusic_private.h b/dlls/dmusic/dmusic_private.h index 8db429a954f..b56660cac7d 100644 --- a/dlls/dmusic/dmusic_private.h +++ b/dlls/dmusic/dmusic_private.h @@ -123,6 +123,36 @@ extern ICOM_VTABLE(IDirectMusicScript) DirectMusicScript_Vtbl; extern ICOM_VTABLE(IDirectMusicContainer) DirectMusicContainer_Vtbl; extern ICOM_VTABLE(IDirectMusicSong) DirectMusicSong_Vtbl; + +/***************************************************************************** + * Some stuff to make my life easier :=) + */ + +/* some sort of aux. performance channel: as far as i can understand, these are + used to represent a particular midi channel in particular group at particular + group; so all we need to do is to fill it with parent port, group and midi + channel ? */ +typedef struct DMUSIC_PRIVATE_PCHANNEL_ +{ + DWORD channel; /* map to this channel... */ + DWORD group; /* ... in this group ... */ + IDirectMusicPort *port; /* ... at this port */ +} DMUSIC_PRIVATE_PCHANNEL, *LPDMUSIC_PRIVATE_PCHANNEL; + +/* some sort of aux. midi channel: big fake at the moment; accepts only priority + changes... more coming soon */ +typedef struct DMUSIC_PRIVATE_MCHANNEL_ +{ + DWORD priority; +} DMUSIC_PRIVATE_MCHANNEL, *LPDMUSIC_PRIVATE_MCHANNEL; + +/* some sort of aux. channel group: collection of 16 midi channels */ +typedef struct DMUSIC_PRIVATE_CHANNEL_GROUP_ +{ + DMUSIC_PRIVATE_MCHANNEL channel[16]; /* 16 channels in a group */ +} DMUSIC_PRIVATE_CHANNEL_GROUP, *LPDMUSIC_PRIVATE_CHANNEL_GROUP; + + /***************************************************************************** * IDirectMusicImpl implementation structure */ @@ -165,6 +195,8 @@ struct IDirectMusic8Impl DWORD ref; /* IDirectMusic8Impl fields */ + IDirectMusicPortImpl** ports; + int nrofports; }; /* IUnknown: */ @@ -224,6 +256,7 @@ struct IDirectMusicInstrumentImpl DWORD ref; /* IDirectMusicInstrumentImpl fields */ + DWORD patch; }; /* IUnknown: */ @@ -329,6 +362,8 @@ struct IDirectMusicPortImpl BOOL active; LPDMUS_PORTCAPS caps; LPDMUS_PORTPARAMS params; + int nrofgroups; + DMUSIC_PRIVATE_CHANNEL_GROUP group[1]; }; /* IUnknown: */ @@ -641,6 +676,7 @@ struct IDirectMusicObjectImpl DWORD ref; /* IDirectMusicObjectImpl fields */ + LPDMUS_OBJECTDESC desc; }; /* IUnknown: */ @@ -902,6 +938,15 @@ struct IDirectMusicPerformanceImpl /* IDirectMusicPerformanceImpl fields */ IDirectMusicImpl *dmusic; IDirectSound *dsound; + + /* global parameters */ + BOOL AutoDownload; + char MasterGrooveLevel; + float MasterTempo; + long MasterVolume; + + /* performance channels */ + DMUSIC_PRIVATE_PCHANNEL PChannel[1]; }; /* IUnknown: */ @@ -963,6 +1008,8 @@ struct IDirectMusicPerformance8Impl DWORD ref; /* IDirectMusicPerformance8Impl fields */ + IDirectMusicImpl *dmusic; + IDirectSound *dsound; }; /* IUnknown: */ diff --git a/dlls/dmusic/dmusic_segment.c b/dlls/dmusic/dmusic_segment.c index 2e46679b9b8..ff80e2f2005 100644 --- a/dlls/dmusic/dmusic_segment.c +++ b/dlls/dmusic/dmusic_segment.c @@ -40,7 +40,7 @@ HRESULT WINAPI IDirectMusicSegmentImpl_QueryInterface (LPDIRECTMUSICSEGMENT ifac { IDirectMusicSegmentImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -68,140 +68,209 @@ ULONG WINAPI IDirectMusicSegmentImpl_Release (LPDIRECTMUSICSEGMENT iface) /* IDirectMusicSegment Interface follow: */ HRESULT WINAPI IDirectMusicSegmentImpl_GetLength (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtLength) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p): stub\n", This, pmtLength); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetLength (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtLength) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %ld): stub\n", This, mtLength); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetRepeats (LPDIRECTMUSICSEGMENT iface, DWORD* pdwRepeats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwRepeats); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetRepeats (LPDIRECTMUSICSEGMENT iface, DWORD dwRepeats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %ld): stub\n", This, dwRepeats); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetDefaultResolution (LPDIRECTMUSICSEGMENT iface, DWORD* pdwResolution) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwResolution); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetDefaultResolution (LPDIRECTMUSICSEGMENT iface, DWORD dwResolution) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %ld): stub\n", This, dwResolution); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetTrack (LPDIRECTMUSICSEGMENT iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, IDirectMusicTrack** ppTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %s, %ld, %ld, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, ppTrack); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetTrackGroup (LPDIRECTMUSICSEGMENT iface, IDirectMusicTrack* pTrack, DWORD* pdwGroupBits) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pTrack, pdwGroupBits); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_InsertTrack (LPDIRECTMUSICSEGMENT iface, IDirectMusicTrack* pTrack, DWORD dwGroupBits) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p, %ld): stub\n", This, pTrack, dwGroupBits); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_RemoveTrack (LPDIRECTMUSICSEGMENT iface, IDirectMusicTrack* pTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p): stub\n", This, pTrack); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_InitPlay (LPDIRECTMUSICSEGMENT iface, IDirectMusicSegmentState** ppSegState, IDirectMusicPerformance* pPerformance, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p, %p, %ld): stub\n", This, ppSegState, pPerformance, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetGraph (LPDIRECTMUSICSEGMENT iface, IDirectMusicGraph** ppGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetGraph (LPDIRECTMUSICSEGMENT iface, IDirectMusicGraph* pGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p): stub\n", This, pGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_AddNotificationType (LPDIRECTMUSICSEGMENT iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_RemoveNotificationType (LPDIRECTMUSICSEGMENT iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetParam (LPDIRECTMUSICSEGMENT iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pmtNext, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetParam (LPDIRECTMUSICSEGMENT iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_Clone (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetStartPoint (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %ld): stub\n", This, mtStart); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetStartPoint (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p): stub\n", This, pmtStart); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetLoopPoints (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %ld, %ld): stub\n", This, mtStart, mtEnd); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_GetLoopPoints (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtStart, MUSIC_TIME* pmtEnd) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pmtStart, pmtEnd); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentImpl_SetPChannelsUsed (LPDIRECTMUSICSEGMENT iface, DWORD dwNumPChannels, DWORD* paPChannels) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwNumPChannels, paPChannels); + + return S_OK; } ICOM_VTABLE(IDirectMusicSegment) DirectMusicSegment_Vtbl = @@ -245,7 +314,7 @@ HRESULT WINAPI IDirectMusicSegment8Impl_QueryInterface (LPDIRECTMUSICSEGMENT8 if { IDirectMusicSegment8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -273,171 +342,255 @@ ULONG WINAPI IDirectMusicSegment8Impl_Release (LPDIRECTMUSICSEGMENT8 iface) /* IDirectMusicSegment Interface part follow: */ HRESULT WINAPI IDirectMusicSegment8Impl_GetLength (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME* pmtLength) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pmtLength); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetLength (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME mtLength) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld): stub\n", This, mtLength); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetRepeats (LPDIRECTMUSICSEGMENT8 iface, DWORD* pdwRepeats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwRepeats); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetRepeats (LPDIRECTMUSICSEGMENT8 iface, DWORD dwRepeats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld): stub\n", This, dwRepeats); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetDefaultResolution (LPDIRECTMUSICSEGMENT8 iface, DWORD* pdwResolution) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwResolution); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetDefaultResolution (LPDIRECTMUSICSEGMENT8 iface, DWORD dwResolution) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld): stub\n", This, dwResolution); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetTrack (LPDIRECTMUSICSEGMENT8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, IDirectMusicTrack** ppTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, ppTrack); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetTrackGroup (LPDIRECTMUSICSEGMENT8 iface, IDirectMusicTrack* pTrack, DWORD* pdwGroupBits) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pTrack, pdwGroupBits); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_InsertTrack (LPDIRECTMUSICSEGMENT8 iface, IDirectMusicTrack* pTrack, DWORD dwGroupBits) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p, %ld): stub\n", This, pTrack, dwGroupBits); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_RemoveTrack (LPDIRECTMUSICSEGMENT8 iface, IDirectMusicTrack* pTrack) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pTrack); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_InitPlay (LPDIRECTMUSICSEGMENT8 iface, IDirectMusicSegmentState** ppSegState, IDirectMusicPerformance* pPerformance, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p, %p, %ld): stub\n", This, ppSegState, pPerformance, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetGraph (LPDIRECTMUSICSEGMENT8 iface, IDirectMusicGraph** ppGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetGraph (LPDIRECTMUSICSEGMENT8 iface, IDirectMusicGraph* pGraph) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pGraph); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_AddNotificationType (LPDIRECTMUSICSEGMENT8 iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_RemoveNotificationType (LPDIRECTMUSICSEGMENT8 iface, REFGUID rguidNotificationType) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetParam (LPDIRECTMUSICSEGMENT8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pmtNext, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetParam (LPDIRECTMUSICSEGMENT8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %p): stub\n", This, debugstr_guid(rguidType), dwGroupBits, dwIndex, mtTime, pParam); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_Clone (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetStartPoint (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME mtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld): stub\n", This, mtStart); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetStartPoint (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME* pmtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pmtStart); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetLoopPoints (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld, %ld): stub\n", This, mtStart, mtEnd); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetLoopPoints (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME* pmtStart, MUSIC_TIME* pmtEnd) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pmtStart, pmtEnd); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_SetPChannelsUsed (LPDIRECTMUSICSEGMENT8 iface, DWORD dwNumPChannels, DWORD* paPChannels) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwNumPChannels, paPChannels); + + return S_OK; } /* IDirectMusicSegment Interface part follow: */ HRESULT WINAPI IDirectMusicSegment8Impl_SetTrackConfig (LPDIRECTMUSICSEGMENT8 iface, REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %ld): stub\n", This, debugstr_guid(rguidTrackClassID), dwGroupBits, dwIndex, dwFlagsOn, dwFlagsOff); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_GetAudioPathConfig (LPDIRECTMUSICSEGMENT8 iface, IUnknown** ppAudioPathConfig) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppAudioPathConfig); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_Compose (LPDIRECTMUSICSEGMENT8 iface, MUSIC_TIME mtTime, IDirectMusicSegment* pFromSegment, IDirectMusicSegment* pToSegment, IDirectMusicSegment** ppComposedSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %ld, %p, %p, %p): stub\n", This, mtTime, pFromSegment, pToSegment, ppComposedSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_Download (LPDIRECTMUSICSEGMENT8 iface, IUnknown *pAudioPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pAudioPath); + + return S_OK; } HRESULT WINAPI IDirectMusicSegment8Impl_Unload (LPDIRECTMUSICSEGMENT8 iface, IUnknown *pAudioPath) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegment8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pAudioPath); + + return S_OK; } ICOM_VTABLE(IDirectMusicSegment8) DirectMusicSegment8_Vtbl = @@ -486,7 +639,7 @@ HRESULT WINAPI IDirectMusicSegmentStateImpl_QueryInterface (LPDIRECTMUSICSEGMENT { IDirectMusicSegmentStateImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -514,32 +667,47 @@ ULONG WINAPI IDirectMusicSegmentStateImpl_Release (LPDIRECTMUSICSEGMENTSTATE ifa /* IDirectMusicSegmentState Interface follow: */ HRESULT WINAPI IDirectMusicSegmentStateImpl_GetRepeats (LPDIRECTMUSICSEGMENTSTATE iface, DWORD* pdwRepeats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentStateImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwRepeats); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentStateImpl_GetSegment (LPDIRECTMUSICSEGMENTSTATE iface, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentStateImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentStateImpl_GetStartTime (LPDIRECTMUSICSEGMENTSTATE iface, MUSIC_TIME* pmtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentStateImpl,iface); + + FIXME("(%p, %p): stub\n", This, pmtStart); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentStateImpl_GetSeek (LPDIRECTMUSICSEGMENTSTATE iface, MUSIC_TIME* pmtSeek) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentStateImpl,iface); + + FIXME("(%p, %p): stub\n", This, pmtSeek); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentStateImpl_GetStartPoint (LPDIRECTMUSICSEGMENTSTATE iface, MUSIC_TIME* pmtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentStateImpl,iface); + + FIXME("(%p, %p): stub\n", This, pmtStart); + + return S_OK; } ICOM_VTABLE(IDirectMusicSegmentState) DirectMusicSegmentState_Vtbl = @@ -564,7 +732,7 @@ HRESULT WINAPI IDirectMusicSegmentState8Impl_QueryInterface (LPDIRECTMUSICSEGMEN { IDirectMusicSegmentState8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -592,45 +760,66 @@ ULONG WINAPI IDirectMusicSegmentState8Impl_Release (LPDIRECTMUSICSEGMENTSTATE8 i /* IDirectMusicSegmentState Interface part follow: */ HRESULT WINAPI IDirectMusicSegmentState8Impl_GetRepeats (LPDIRECTMUSICSEGMENTSTATE8 iface, DWORD* pdwRepeats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentState8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwRepeats); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentState8Impl_GetSegment (LPDIRECTMUSICSEGMENTSTATE8 iface, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentState8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentState8Impl_GetStartTime (LPDIRECTMUSICSEGMENTSTATE8 iface, MUSIC_TIME* pmtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentState8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pmtStart); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentState8Impl_GetSeek (LPDIRECTMUSICSEGMENTSTATE8 iface, MUSIC_TIME* pmtSeek) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentState8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pmtSeek); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentState8Impl_GetStartPoint (LPDIRECTMUSICSEGMENTSTATE8 iface, MUSIC_TIME* pmtStart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentState8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pmtStart); + + return S_OK; } /* IDirectMusicSegmentState8 Interface part follow: */ HRESULT WINAPI IDirectMusicSegmentState8Impl_SetTrackConfig (LPDIRECTMUSICSEGMENTSTATE8 iface, REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentState8Impl,iface); + + FIXME("(%p, %s, %ld, %ld, %ld, %ld): stub\n", This, debugstr_guid(rguidTrackClassID), dwGroupBits, dwIndex, dwFlagsOn, dwFlagsOff); + + return S_OK; } HRESULT WINAPI IDirectMusicSegmentState8Impl_GetObjectInPath (LPDIRECTMUSICSEGMENTSTATE8 iface, DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, DWORD dwIndex, REFGUID iidInterface, void** ppObject) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSegmentState8Impl,iface); + + FIXME("(%p, %ld, %ld, %ld, %s, %ld, %s, %p): stub\n", This, dwPChannel, dwStage, dwBuffer, debugstr_guid(guidObject), dwIndex, debugstr_guid(iidInterface), ppObject); + + return S_OK; } ICOM_VTABLE(IDirectMusicSegmentState8) DirectMusicSegmentState8_Vtbl = @@ -658,7 +847,7 @@ HRESULT WINAPI IDirectMusicPatternTrackImpl_QueryInterface (LPDIRECTMUSICPATTERN { IDirectMusicPatternTrackImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -686,20 +875,29 @@ ULONG WINAPI IDirectMusicPatternTrackImpl_Release (LPDIRECTMUSICPATTERNTRACK ifa /* IDirectMusicPatternTrack Interface follow: */ HRESULT WINAPI IDirectMusicPatternTrackImpl_CreateSegment (LPDIRECTMUSICPATTERNTRACK iface, IDirectMusicStyle* pStyle, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPatternTrackImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pStyle, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicPatternTrackImpl_SetVariation (LPDIRECTMUSICPATTERNTRACK iface, IDirectMusicSegmentState* pSegState, DWORD dwVariationFlags, DWORD dwPart) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPatternTrackImpl,iface); + + FIXME("(%p, %p, %ld, %ld): stub\n", This, pSegState, dwVariationFlags, dwPart); + + return S_OK; } HRESULT WINAPI IDirectMusicPatternTrackImpl_SetPatternByName (LPDIRECTMUSICPATTERNTRACK iface, IDirectMusicSegmentState* pSegState, WCHAR* wszName, IDirectMusicStyle* pStyle, DWORD dwPatternType, DWORD* pdwLength) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicPatternTrackImpl,iface); + + FIXME("(%p, %p, %p, %p, %ld, %p): stub\n", This, pSegState, wszName, pStyle, dwPatternType, pdwLength); + + return S_OK; } ICOM_VTABLE(IDirectMusicPatternTrack) DirectMusicPatternTrack_Vtbl = diff --git a/dlls/dmusic/dmusic_style.c b/dlls/dmusic/dmusic_style.c index 8b9e535d889..135e93335ef 100644 --- a/dlls/dmusic/dmusic_style.c +++ b/dlls/dmusic/dmusic_style.c @@ -37,7 +37,7 @@ HRESULT WINAPI IDirectMusicStyleImpl_QueryInterface (LPDIRECTMUSICSTYLE iface, R { IDirectMusicStyleImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -65,68 +65,101 @@ ULONG WINAPI IDirectMusicStyleImpl_Release (LPDIRECTMUSICSTYLE iface) /* IDirectMusicStyle Interface follow: */ HRESULT WINAPI IDirectMusicStyleImpl_GetBand (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicBand** ppBand) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwszName, ppBand); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_EnumBand (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultBand (LPDIRECTMUSICSTYLE iface, IDirectMusicBand** ppBand) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppBand); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_EnumMotif (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_GetMotif (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwszName, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultChordMap (LPDIRECTMUSICSTYLE iface, IDirectMusicChordMap** ppChordMap) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppChordMap); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_EnumChordMap (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_GetChordMap (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicChordMap** ppChordMap) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwszName, ppChordMap); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_GetTimeSignature (LPDIRECTMUSICSTYLE iface, DMUS_TIMESIGNATURE* pTimeSig) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %p): stub\n", This, pTimeSig); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_GetEmbellishmentLength (LPDIRECTMUSICSTYLE iface, DWORD dwType, DWORD dwLevel, DWORD* pdwMin, DWORD* pdwMax) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %ld, %ld, %p, %p): stub\n", This, dwType, dwLevel, pdwMin, pdwMax); + + return S_OK; } HRESULT WINAPI IDirectMusicStyleImpl_GetTempo (LPDIRECTMUSICSTYLE iface, double* pTempo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyleImpl,iface); + + FIXME("(%p, %p): stub\n", This, pTempo); + + return S_OK; } ICOM_VTABLE(IDirectMusicStyle) DirectMusicStyle_Vtbl = @@ -158,7 +191,7 @@ HRESULT WINAPI IDirectMusicStyle8Impl_QueryInterface (LPDIRECTMUSICSTYLE8 iface, { IDirectMusicStyle8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -186,75 +219,111 @@ ULONG WINAPI IDirectMusicStyle8Impl_Release (LPDIRECTMUSICSTYLE8 iface) /* IDirectMusicStyle Interface part follow: */ HRESULT WINAPI IDirectMusicStyle8Impl_GetBand (LPDIRECTMUSICSTYLE8 iface, WCHAR* pwszName, IDirectMusicBand** ppBand) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwszName, ppBand); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_EnumBand (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_GetDefaultBand (LPDIRECTMUSICSTYLE8 iface, IDirectMusicBand** ppBand) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppBand); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_EnumMotif (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_GetMotif (LPDIRECTMUSICSTYLE8 iface, WCHAR* pwszName, IDirectMusicSegment** ppSegment) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwszName, ppSegment); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_GetDefaultChordMap (LPDIRECTMUSICSTYLE8 iface, IDirectMusicChordMap** ppChordMap) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppChordMap); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_EnumChordMap (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_GetChordMap (LPDIRECTMUSICSTYLE8 iface, WCHAR* pwszName, IDirectMusicChordMap** ppChordMap) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pwszName, ppChordMap); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_GetTimeSignature (LPDIRECTMUSICSTYLE8 iface, DMUS_TIMESIGNATURE* pTimeSig) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pTimeSig); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_GetEmbellishmentLength (LPDIRECTMUSICSTYLE8 iface, DWORD dwType, DWORD dwLevel, DWORD* pdwMin, DWORD* pdwMax) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %ld, %ld, %p, %p): stub\n", This, dwType, dwLevel, pdwMin, pdwMax); + + return S_OK; } HRESULT WINAPI IDirectMusicStyle8Impl_GetTempo (LPDIRECTMUSICSTYLE8 iface, double* pTempo) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pTempo); + + return S_OK; } /* IDirectMusicStyle8 Interface part follow: */ HRESULT WINAPI IDirectMusicStyle8ImplEnumPattern (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, DWORD dwPatternType, WCHAR* pwszName) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicStyle8Impl,iface); + + FIXME("(%p, %ld, %ld, %p): stub\n", This, dwIndex, dwPatternType, pwszName); + + return S_OK; } ICOM_VTABLE(IDirectMusicStyle8) DirectMusicStyle8_Vtbl = diff --git a/dlls/dmusic/dmusic_synth.c b/dlls/dmusic/dmusic_synth.c index f1a4dbbae50..94ad6cd17e1 100644 --- a/dlls/dmusic/dmusic_synth.c +++ b/dlls/dmusic/dmusic_synth.c @@ -38,7 +38,7 @@ HRESULT WINAPI IDirectMusicSynthImpl_QueryInterface (LPDIRECTMUSICSYNTH iface, R { IDirectMusicSynthImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -66,104 +66,155 @@ ULONG WINAPI IDirectMusicSynthImpl_Release (LPDIRECTMUSICSYNTH iface) /* IDirectMusicSynth Interface follow: */ HRESULT WINAPI IDirectMusicSynthImpl_Open (LPDIRECTMUSICSYNTH iface, LPDMUS_PORTPARAMS pPortParams) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p): stub\n", This, pPortParams); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_Close (LPDIRECTMUSICSYNTH iface) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p): stub\n", This); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_SetNumChannelGroups (LPDIRECTMUSICSYNTH iface, DWORD dwGroups) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %ld): stub\n", This, dwGroups); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_Download (LPDIRECTMUSICSYNTH iface, LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, phDownload, pvData, pbFree); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_Unload (LPDIRECTMUSICSYNTH iface, HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, hDownload, hUserData); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_PlayBuffer (LPDIRECTMUSICSYNTH iface, REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, FIXME, %p, %ld): stub\n", This/*, rt*/, pbBuffer, cbBuffer); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_GetRunningStats (LPDIRECTMUSICSYNTH iface, LPDMUS_SYNTHSTATS pStats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p): stub\n", This, pStats); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_GetPortCaps (LPDIRECTMUSICSYNTH iface, LPDMUS_PORTCAPS pCaps) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p): stub\n", This, pCaps); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_SetMasterClock (LPDIRECTMUSICSYNTH iface, IReferenceClock* pClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p): stub\n", This, pClock); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_GetLatencyClock (LPDIRECTMUSICSYNTH iface, IReferenceClock** ppClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppClock); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_Activate (LPDIRECTMUSICSYNTH iface, BOOL fEnable) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %d): stub\n", This, fEnable); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_SetSynthSink (LPDIRECTMUSICSYNTH iface, IDirectMusicSynthSink* pSynthSink) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p): stub\n", This, pSynthSink); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_Render (LPDIRECTMUSICSYNTH iface, short* pBuffer, DWORD dwLength, LONGLONG llPosition) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p, %ld, FIXME): stub\n", This, pBuffer, dwLength/*, llPosition*/); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_SetChannelPriority (LPDIRECTMUSICSYNTH iface, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %ld, %ld, %ld): stub\n", This, dwChannelGroup, dwChannel, dwPriority); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_GetChannelPriority (LPDIRECTMUSICSYNTH iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %ld, %ld, %p): stub\n", This, dwChannelGroup, dwChannel, pdwPriority); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_GetFormat (LPDIRECTMUSICSYNTH iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pWaveFormatEx, pdwWaveFormatExSiz); + + return S_OK; } HRESULT WINAPI IDirectMusicSynthImpl_GetAppend (LPDIRECTMUSICSYNTH iface, DWORD* pdwAppend) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwAppend); + + return S_OK; } ICOM_VTABLE(IDirectMusicSynth) DirectMusicSynth_Vtbl = @@ -201,7 +252,7 @@ HRESULT WINAPI IDirectMusicSynth8Impl_QueryInterface (LPDIRECTMUSICSYNTH8 iface, { IDirectMusicSynth8Impl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -229,135 +280,201 @@ ULONG WINAPI IDirectMusicSynth8Impl_Release (LPDIRECTMUSICSYNTH8 iface) /* IDirectMusicSynth Interface parts follow: */ HRESULT WINAPI IDirectMusicSynth8Impl_Open (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTPARAMS pPortParams) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pPortParams); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_Close (LPDIRECTMUSICSYNTH8 iface) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p): stub\n", This); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_SetNumChannelGroups (LPDIRECTMUSICSYNTH8 iface, DWORD dwGroups) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %ld): stub\n", This, dwGroups); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_Download (LPDIRECTMUSICSYNTH8 iface, LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p, %p, %p): stub\n", This, phDownload, pvData, pbFree); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_Unload (LPDIRECTMUSICSYNTH8 iface, HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, hDownload, hUserData); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_PlayBuffer (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, FIXME, %p, %ld): stub\n", This/*, rt*/, pbBuffer, cbBuffer); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_GetRunningStats (LPDIRECTMUSICSYNTH8 iface, LPDMUS_SYNTHSTATS pStats) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pStats); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_GetPortCaps (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTCAPS pCaps) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pCaps); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_SetMasterClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock* pClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pClock); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_GetLatencyClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock** ppClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p): stub\n", This, ppClock); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_Activate (LPDIRECTMUSICSYNTH8 iface, BOOL fEnable) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %d): stub\n", This, fEnable); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_SetSynthSink (LPDIRECTMUSICSYNTH8 iface, IDirectMusicSynthSink* pSynthSink) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pSynthSink); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_Render (LPDIRECTMUSICSYNTH8 iface, short* pBuffer, DWORD dwLength, LONGLONG llPosition) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p, %ld, FIXME): stub\n", This, pBuffer, dwLength/*, llPosition*/); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_SetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %ld, %ld, %ld): stub\n", This, dwChannelGroup, dwChannel, dwPriority); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_GetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %ld, %ld, %p): stub\n", This, dwChannelGroup, dwChannel, pdwPriority); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_GetFormat (LPDIRECTMUSICSYNTH8 iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pWaveFormatEx, pdwWaveFormatExSiz); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_GetAppend (LPDIRECTMUSICSYNTH8 iface, DWORD* pdwAppend) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p): stub\n", This, pdwAppend); + + return S_OK; } /* IDirectMusicSynth8 Interface parts follow: */ HRESULT WINAPI IDirectMusicSynth8Impl_PlayVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwDLId, long prPitch, long vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, FIXME, %ld, %ld, %ld, %ld, %li, %li, FIXME, FIXME, FIXME): stub\n", This/*, rt*/, dwVoiceId, dwChannelGroup, dwChannel, dwDLId, prPitch, vrVolume/*, stVoiceStart, stLoopStart, stLoopEnd*/); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_StopVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, FIXME, %ld): stub\n", This/*, rt*/, dwVoiceId); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_GetVoiceState (LPDIRECTMUSICSYNTH8 iface, DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[]) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %p, %ld, %p): stub\n", This, dwVoice, cbVoice, dwVoiceState); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_Refresh (LPDIRECTMUSICSYNTH8 iface, DWORD dwDownloadID, DWORD dwFlags) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %ld, %ld): stub\n", This, dwDownloadID, dwFlags); + + return S_OK; } HRESULT WINAPI IDirectMusicSynth8Impl_AssignChannelToBuses (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynth8Impl,iface); + + FIXME("(%p, %ld, %ld, %p, %ld): stub\n", This, dwChannelGroup, dwChannel, pdwBuses, cBuses); + + return S_OK; } ICOM_VTABLE(IDirectMusicSynth8) DirectMusicSynth8_Vtbl = @@ -400,7 +517,7 @@ HRESULT WINAPI IDirectMusicSynthSinkImpl_QueryInterface (LPDIRECTMUSICSYNTHSINK { IDirectMusicSynthSinkImpl_AddRef(iface); *ppobj = This; - return DS_OK; + return S_OK; } WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); return E_NOINTERFACE; @@ -428,50 +545,74 @@ ULONG WINAPI IDirectMusicSynthSinkImpl_Release (LPDIRECTMUSICSYNTHSINK iface) /* IDirectMusicSynth Interface follow: */ HRESULT WINAPI IDirectMusicSinkSynthImpl_Init (LPDIRECTMUSICSYNTHSINK iface, IDirectMusicSynth* pSynth) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, %p): stub\n", This, pSynth); + + return S_OK; } HRESULT WINAPI IDirectMusicSinkSynthImpl_SetMasterClock (LPDIRECTMUSICSYNTHSINK iface, IReferenceClock* pClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, %p): stub\n", This, pClock); + + return S_OK; } HRESULT WINAPI IDirectMusicSinkSynthImpl_GetLatencyClock (LPDIRECTMUSICSYNTHSINK iface, IReferenceClock** ppClock) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, %p): stub\n", This, ppClock); + + return S_OK; } HRESULT WINAPI IDirectMusicSinkSynthImpl_Activate (LPDIRECTMUSICSYNTHSINK iface, BOOL fEnable) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, %d): stub\n", This, fEnable); + + return S_OK; } HRESULT WINAPI IDirectMusicSinkSynthImpl_SampleToRefTime (LPDIRECTMUSICSYNTHSINK iface, LONGLONG llSampleTime, REFERENCE_TIME* prfTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, FIXME, %p): stub\n", This/*, llSampleTime*/, prfTime); + + return S_OK; } HRESULT WINAPI IDirectMusicSinkSynthImpl_RefTimeToSample (LPDIRECTMUSICSYNTHSINK iface, REFERENCE_TIME rfTime, LONGLONG* pllSampleTime) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, FIXME, %p): stub\n", This/*, rfTime*/, pllSampleTime ); + + return S_OK; } HRESULT WINAPI IDirectMusicSinkSynthImpl_SetDirectSound (LPDIRECTMUSICSYNTHSINK iface, LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, %p, %p): stub\n", This, pDirectSound, pDirectSoundBuffer); + + return S_OK; } HRESULT WINAPI IDirectMusicSinkSynthImpl_GetDesiredBufferSize (LPDIRECTMUSICSYNTHSINK iface, LPDWORD pdwBufferSizeInSamples) { - FIXME("stub\n"); - return DS_OK; + ICOM_THIS(IDirectMusicSynthSinkImpl,iface); + + FIXME("(%p, %p): stub\n", This, pdwBufferSizeInSamples); + + return S_OK; } ICOM_VTABLE(IDirectMusicSynthSink) DirectMusicSynthSink_Vtbl =