diff --git a/dlls/dmusic/dmusic.c b/dlls/dmusic/dmusic.c index 59f63c74cc3..09414a5d617 100644 --- a/dlls/dmusic/dmusic.c +++ b/dlls/dmusic/dmusic.c @@ -42,282 +42,24 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); -/* IDirectMusic IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicImpl_QueryInterface (LPDIRECTMUSIC iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusic)) - { - IDirectMusicImpl_AddRef(iface); - *ppobj = This; - 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; -} - -ULONG WINAPI IDirectMusicImpl_AddRef (LPDIRECTMUSIC iface) -{ - ICOM_THIS(IDirectMusicImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicImpl_Release (LPDIRECTMUSIC iface) -{ - ICOM_THIS(IDirectMusicImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusic Interface follow: */ -HRESULT WINAPI IDirectMusicImpl_EnumPort (LPDIRECTMUSIC iface, DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) -{ - ICOM_THIS(IDirectMusicImpl,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 = 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; - 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 IDirectMusicImpl_CreateMusicBuffer (LPDIRECTMUSIC iface, LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER** ppBuffer, LPUNKNOWN pUnkOuter) -{ - 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, j; - DMUS_PORTCAPS PortCaps; - - TRACE("(%p, %s, %p, %p, %p)\n", This, debugstr_guid(rclsidPort), pPortParams, ppPort, pUnkOuter); - for (i = 0; IDirectMusicImpl_EnumPort (iface, i, &PortCaps) != S_FALSE; i++) - { - if (IsEqualGUID(rclsidPort, &PortCaps.guidPort)) - { - This->ports = HeapReAlloc(GetProcessHeap(),0,This->ports,sizeof(LPDIRECTMUSICPORT)*(This->nrofports+1)); - 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; /* 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 ++; - return S_OK; - } - } - /* FIXME: place correct error here */ - return E_NOINTERFACE; -} - -HRESULT WINAPI IDirectMusicImpl_EnumMasterClock (LPDIRECTMUSIC iface, DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo) -{ - ICOM_THIS(IDirectMusicImpl,iface); - - FIXME("(%p, %ld, %p): stub\n", This, dwIndex, lpClockInfo); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicImpl_GetMasterClock (LPDIRECTMUSIC iface, LPGUID pguidClock, IReferenceClock** ppReferenceClock) -{ - ICOM_THIS(IDirectMusicImpl,iface); - - FIXME("(%p, %p, %p): stub\n", This, pguidClock, ppReferenceClock); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicImpl_SetMasterClock (LPDIRECTMUSIC iface, REFGUID rguidClock) -{ - ICOM_THIS(IDirectMusicImpl,iface); - - FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidClock)); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicImpl_Activate (LPDIRECTMUSIC iface, BOOL fEnable) -{ - ICOM_THIS(IDirectMusicImpl,iface); - int i; - - TRACE("(%p, %i)", This, fEnable); - for (i = 0; i < This->nrofports; i++) - { - This->ports[i]->active = fEnable; - } - - return S_OK; -} - -HRESULT WINAPI IDirectMusicImpl_GetDefaultPort (LPDIRECTMUSIC iface, LPGUID pguidPort) -{ - ICOM_THIS(IDirectMusicImpl,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 IDirectMusicImpl_SetDirectSound (LPDIRECTMUSIC iface, LPDIRECTSOUND pDirectSound, HWND hWnd) -{ - ICOM_THIS(IDirectMusicImpl,iface); - - FIXME("(%p, %p, %p): stub\n", This, pDirectSound, hWnd); - - return S_OK; -} - -ICOM_VTABLE(IDirectMusic) DirectMusic_Vtbl = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicImpl_QueryInterface, - IDirectMusicImpl_AddRef, - IDirectMusicImpl_Release, - IDirectMusicImpl_EnumPort, - IDirectMusicImpl_CreateMusicBuffer, - IDirectMusicImpl_CreatePort, - IDirectMusicImpl_EnumMasterClock, - IDirectMusicImpl_GetMasterClock, - IDirectMusicImpl_SetMasterClock, - IDirectMusicImpl_Activate, - IDirectMusicImpl_GetDefaultPort, - IDirectMusicImpl_SetDirectSound -}; - /* for ClassFactory */ HRESULT WINAPI DMUSIC_CreateDirectMusic (LPCGUID lpcGUID, LPDIRECTMUSIC *ppDM, LPUNKNOWN pUnkOuter) { - IDirectMusicImpl *dmusic; + IDirectMusic8Impl *dmusic; TRACE("(%p,%p,%p)\n",lpcGUID, ppDM, pUnkOuter); - if (IsEqualGUID(lpcGUID, &IID_IDirectMusic)) - { - dmusic = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicImpl)); - if (NULL == dmusic) - { - *ppDM = (LPDIRECTMUSIC)NULL; - return E_OUTOFMEMORY; - } - dmusic->lpVtbl = &DirectMusic_Vtbl; - dmusic->ref = 1; - *ppDM = (LPDIRECTMUSIC)dmusic; - return S_OK; + if (IsEqualGUID(lpcGUID, &IID_IDirectMusic) || + IsEqualGUID(lpcGUID, &IID_IDirectMusic2) || + IsEqualGUID(lpcGUID, &IID_IDirectMusic8)) { + dmusic = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusic8Impl)); + if (NULL == dmusic) { + *ppDM = (LPDIRECTMUSIC) NULL; + return E_OUTOFMEMORY; + } + dmusic->lpVtbl = &DirectMusic8_Vtbl; + dmusic->ref = 1; + *ppDM = (LPDIRECTMUSIC) dmusic; + return S_OK; } WARN("No interface found\n"); @@ -330,7 +72,9 @@ HRESULT WINAPI IDirectMusic8Impl_QueryInterface (LPDIRECTMUSIC8 iface, REFIID ri { ICOM_THIS(IDirectMusic8Impl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusic8)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusic2) || + IsEqualGUID(riid, &IID_IDirectMusic8)) { IDirectMusic8Impl_AddRef(iface); *ppobj = This; @@ -360,7 +104,7 @@ ULONG WINAPI IDirectMusic8Impl_Release (LPDIRECTMUSIC8 iface) } /* IDirectMusic8 Interface follow: */ -HRESULT WINAPI IDirectMusic8Impl_EnumPort (LPDIRECTMUSIC8 iface, DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) +HRESULT WINAPI IDirectMusic8Impl_EnumPort(LPDIRECTMUSIC8 iface, DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) { ICOM_THIS(IDirectMusic8Impl,iface); int numMIDI = midiOutGetNumDevs(); @@ -370,7 +114,7 @@ HRESULT WINAPI IDirectMusic8Impl_EnumPort (LPDIRECTMUSIC8 iface, DWORD dwIndex, 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) + if (dwIndex == 0) { TRACE("enumerating 'Microsoft Software Synthesizer' port\n"); pPortCaps->dwSize = sizeof(DMUS_PORTCAPS); @@ -383,7 +127,7 @@ HRESULT WINAPI IDirectMusic8Impl_EnumPort (LPDIRECTMUSIC8 iface, DWORD dwIndex, 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)); + MultiByteToWideChar(CP_ACP, 0, "Microsotf Synthesizer", -1, pPortCaps->wszDescription, sizeof(pPortCaps->wszDescription)/sizeof(WCHAR)); return S_OK; } /* then return digital sound ports */ @@ -392,12 +136,12 @@ HRESULT WINAPI IDirectMusic8Impl_EnumPort (LPDIRECTMUSIC8 iface, DWORD dwIndex, TRACE("enumerating 'digital sound' ports\n"); if (i == dwIndex) { - DirectSoundEnumerateA((LPDSENUMCALLBACKA)register_waveport, (VOID*)pPortCaps); + DirectSoundEnumerateA((LPDSENUMCALLBACKA) register_waveport, (VOID*) pPortCaps); return S_OK; } } /* finally, list all *real* MIDI ports*/ - for (i = numWAVE+1; i <= numWAVE + numMIDI; i++) + for (i = numWAVE + 1; i <= numWAVE + numMIDI; i++) { TRACE("enumerating 'real MIDI' ports\n"); if (i == dwIndex) @@ -419,17 +163,14 @@ HRESULT WINAPI IDirectMusic8Impl_CreateMusicBuffer (LPDIRECTMUSIC8 iface, LPDMUS HRESULT WINAPI IDirectMusic8Impl_CreatePort (LPDIRECTMUSIC8 iface, REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT* ppPort, LPUNKNOWN pUnkOuter) { ICOM_THIS(IDirectMusic8Impl,iface); - int i; + int i, j; 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]) - { + for (i = 0; S_FALSE != IDirectMusic8Impl_EnumPort(iface, i, &PortCaps); 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; } @@ -437,10 +178,35 @@ HRESULT WINAPI IDirectMusic8Impl_CreatePort (LPDIRECTMUSIC8 iface, REFCLSID rcls 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 ++; + 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++; return S_OK; } } @@ -496,18 +262,19 @@ HRESULT WINAPI IDirectMusic8Impl_GetDefaultPort (LPDIRECTMUSIC8 iface, LPGUID pg DWORD returnTypeGUID, sizeOfReturnBuffer = 50; char returnBuffer[51]; GUID defaultPortGUID; - WCHAR buff[51]; + 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)) + 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); + MultiByteToWideChar(CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff) / sizeof(WCHAR)); + CLSIDFromString((LPCOLESTR) buff, &defaultPortGUID); *pguidPort = defaultPortGUID; return S_OK; diff --git a/dlls/dmusic/dmusic_loader.c b/dlls/dmusic/dmusic_loader.c index 1abc2913eed..adcf38f9ef2 100644 --- a/dlls/dmusic/dmusic_loader.c +++ b/dlls/dmusic/dmusic_loader.c @@ -30,151 +30,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); -/* IDirectMusicLoader IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicLoaderImpl_QueryInterface (LPDIRECTMUSICLOADER iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicLoaderImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicLoader)) - { - IDirectMusicLoaderImpl_AddRef(iface); - *ppobj = This; - return S_OK; - } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); - return E_NOINTERFACE; -} - -ULONG WINAPI IDirectMusicLoaderImpl_AddRef (LPDIRECTMUSICLOADER iface) -{ - ICOM_THIS(IDirectMusicLoaderImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicLoaderImpl_Release (LPDIRECTMUSICLOADER iface) -{ - ICOM_THIS(IDirectMusicLoaderImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusicLoader Interface follow: */ -HRESULT WINAPI IDirectMusicLoaderImpl_GetObject (LPDIRECTMUSICLOADER iface, LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID* ppv) -{ - ICOM_THIS(IDirectMusicLoaderImpl,iface); - - FIXME("(%p, %p, %s, %p): stub\n", This, pDesc, debugstr_guid(riid), ppv); - - *ppv = NULL; - return S_OK; -} - -HRESULT WINAPI IDirectMusicLoaderImpl_SetObject (LPDIRECTMUSICLOADER iface, LPDMUS_OBJECTDESC pDesc) -{ - 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) -{ - ICOM_THIS(IDirectMusicLoaderImpl,iface); - - FIXME("(%p, %s, %p, %d): to check\n", This, debugstr_guid(rguidClass), pwzPath, fClear); - - if (0 == strncmpW(This->searchPath, pwzPath, MAX_PATH)) { - return S_FALSE; - } - strncpyW(This->searchPath, pwzPath, MAX_PATH); - return DS_OK; -} - -HRESULT WINAPI IDirectMusicLoaderImpl_ScanDirectory (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, WCHAR* pwzFileExtension, WCHAR* pwzScanFileName) -{ - 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) -{ - ICOM_THIS(IDirectMusicLoaderImpl,iface); - - FIXME("(%p, %p): stub\n", This, pObject); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicLoaderImpl_ReleaseObject (LPDIRECTMUSICLOADER iface, IDirectMusicObject* pObject) -{ - ICOM_THIS(IDirectMusicLoaderImpl,iface); - - FIXME("(%p, %p): stub\n", This, pObject); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicLoaderImpl_ClearCache (LPDIRECTMUSICLOADER iface, REFGUID rguidClass) -{ - 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) -{ - 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) -{ - 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 = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicLoaderImpl_QueryInterface, - IDirectMusicLoaderImpl_AddRef, - IDirectMusicLoaderImpl_Release, - IDirectMusicLoaderImpl_GetObject, - IDirectMusicLoaderImpl_SetObject, - IDirectMusicLoaderImpl_SetSearchDirectory, - IDirectMusicLoaderImpl_ScanDirectory, - IDirectMusicLoaderImpl_CacheObject, - IDirectMusicLoaderImpl_ReleaseObject, - IDirectMusicLoaderImpl_ClearCache, - IDirectMusicLoaderImpl_EnableCache, - IDirectMusicLoaderImpl_EnumObject -}; - - -/* IDirectMusicLoader8 IUnknown parts follow: */ +/* IDirectMusicLoader8 IUnknown part follow: */ HRESULT WINAPI IDirectMusicLoader8Impl_QueryInterface (LPDIRECTMUSICLOADER8 iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IDirectMusicLoader8Impl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicLoader8)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicLoader) || + IsEqualGUID(riid, &IID_IDirectMusicLoader8)) { IDirectMusicLoader8Impl_AddRef(iface); *ppobj = This; @@ -204,13 +67,20 @@ ULONG WINAPI IDirectMusicLoader8Impl_Release (LPDIRECTMUSICLOADER8 iface) } /* IDirectMusicLoader Interface part follow: */ -HRESULT WINAPI IDirectMusicLoader8Impl_GetObject (LPDIRECTMUSICLOADER8 iface, LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID*ppv) +HRESULT WINAPI IDirectMusicLoader8Impl_GetObject (LPDIRECTMUSICLOADER8 iface, LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID* ppv) { ICOM_THIS(IDirectMusicLoader8Impl,iface); FIXME("(%p, %p, %s, %p): stub\n", This, pDesc, debugstr_guid(riid), ppv); - *ppv = NULL; + if (IsEqualGUID(riid, &IID_IDirectMusicScript)) { + IDirectMusicScriptImpl* script; + script = (IDirectMusicScriptImpl*) HeapAlloc(GetProcessHeap(), 0, sizeof(IDirectMusicScriptImpl)); + script->lpVtbl = &DirectMusicScript_Vtbl; + script->ref = 1; + *ppv = script; + } + return DS_OK; } @@ -227,9 +97,13 @@ HRESULT WINAPI IDirectMusicLoader8Impl_SetSearchDirectory (LPDIRECTMUSICLOADER8 { ICOM_THIS(IDirectMusicLoader8Impl,iface); - FIXME("(%p, %s, %p, %d): forward to IDirectMusicLoaderImpl::SetSearchDirectory\n", This, debugstr_guid(rguidClass), pwzPath, fClear); + FIXME("(%p, %s, %p, %d): to check\n", This, debugstr_guid(rguidClass), pwzPath, fClear); - return IDirectMusicLoaderImpl_SetSearchDirectory((LPDIRECTMUSICLOADER) iface, rguidClass, pwzPath, fClear); + if (0 == strncmpW(This->searchPath, pwzPath, MAX_PATH)) { + return S_FALSE; + } + strncpyW(This->searchPath, pwzPath, MAX_PATH); + return DS_OK; } HRESULT WINAPI IDirectMusicLoader8Impl_ScanDirectory (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass, WCHAR* pwzFileExtension, WCHAR* pwzScanFileName) @@ -303,9 +177,6 @@ HRESULT WINAPI IDirectMusicLoader8Impl_ReleaseObjectByUnknown (LPDIRECTMUSICLOAD return S_OK; } -extern ICOM_VTABLE(IDirectMusicSegment) DirectMusicSegment_Vtbl; -extern ICOM_VTABLE(IDirectMusicSegment8) DirectMusicSegment8_Vtbl; - HRESULT WINAPI IDirectMusicLoader8Impl_LoadObjectFromFile (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClassID, REFIID iidInterfaceID, @@ -402,12 +273,11 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicLoader8 (LPCGUID lpcGUID, LPDIRECTMUSICLO IDirectMusicLoader8Impl *dmloader8; TRACE("(%p,%p,%p)\n",lpcGUID, ppDMLoad8, pUnkOuter); - if (IsEqualGUID(lpcGUID, &IID_IDirectMusicLoader) - || IsEqualGUID(lpcGUID, &IID_IDirectMusicLoader8)) + if (IsEqualGUID(lpcGUID, &IID_IDirectMusicLoader) || + IsEqualGUID(lpcGUID, &IID_IDirectMusicLoader8)) { - dmloader8 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicImpl)); - if (NULL == dmloader8) - { + dmloader8 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicLoader8Impl)); + if (NULL == dmloader8) { *ppDMLoad8 = (LPDIRECTMUSICLOADER8)NULL; return E_OUTOFMEMORY; } @@ -427,7 +297,8 @@ HRESULT WINAPI IDirectMusicGetLoaderImpl_QueryInterface (LPDIRECTMUSICGETLOADER { ICOM_THIS(IDirectMusicGetLoaderImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicGetLoader)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicGetLoader)) { IDirectMusicGetLoaderImpl_AddRef(iface); *ppobj = This; diff --git a/dlls/dmusic/dmusic_main.c b/dlls/dmusic/dmusic_main.c index 621d1482971..cf126136e7b 100644 --- a/dlls/dmusic/dmusic_main.c +++ b/dlls/dmusic/dmusic_main.c @@ -61,13 +61,13 @@ static HRESULT WINAPI DMCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter ICOM_THIS(IClassFactoryImpl,iface); TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj); - if (IsEqualGUID (&IID_IDirectMusic, riid)) { - return DMUSIC_CreateDirectMusic (riid, (LPDIRECTMUSIC*) ppobj, pOuter); + if (IsEqualGUID (&IID_IDirectMusic, riid) || + IsEqualGUID (&IID_IDirectMusic2, riid) || + IsEqualGUID (&IID_IDirectMusic8, riid)) { + return DMUSIC_CreateDirectMusic(riid, (LPDIRECTMUSIC*) ppobj, pOuter); } if (IsEqualGUID (&IID_IDirectMusicPerformance, riid) || - IsEqualGUID (&IID_IDirectMusicPerformance8, riid)) - { - /*return DMUSIC_CreateDirectMusicPerformance (riid, (LPDIRECTMUSICPERFORMANCE*) ppobj, pOuter);*/ + IsEqualGUID (&IID_IDirectMusicPerformance8, riid)) { return DMUSIC_CreateDirectMusicPerformance8(riid, (LPDIRECTMUSICPERFORMANCE8*) ppobj, pOuter); } diff --git a/dlls/dmusic/dmusic_misc.c b/dlls/dmusic/dmusic_misc.c index a2bcb26655a..a9417bc02d3 100644 --- a/dlls/dmusic/dmusic_misc.c +++ b/dlls/dmusic/dmusic_misc.c @@ -41,13 +41,14 @@ HRESULT WINAPI IReferenceClockImpl_QueryInterface (LPREFERENCECLOCK iface, REFII { ICOM_THIS(IReferenceClockImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IReferenceClock)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IReferenceClock)) { IReferenceClockImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -125,13 +126,14 @@ HRESULT WINAPI IDirectMusicThruImpl_QueryInterface (LPDIRECTMUSICTHRU iface, REF { ICOM_THIS(IDirectMusicThruImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicThru)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicThru)) { IDirectMusicThruImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -179,13 +181,14 @@ HRESULT WINAPI IDirectMusicAudioPathImpl_QueryInterface (LPDIRECTMUSICAUDIOPATH { ICOM_THIS(IDirectMusicAudioPathImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicAudioPath)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicAudioPath)) { IDirectMusicAudioPathImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -268,8 +271,8 @@ HRESULT WINAPI IDirectMusicAudioPathImpl_GetObjectInPath (LPDIRECTMUSICAUDIOPATH case DMUS_PATH_PERFORMANCE: { /* TODO check wanted GUID */ - *ppObject = (LPDIRECTMUSICPERFORMANCE) This->perfo; - IDirectMusicPerformanceImpl_AddRef((LPDIRECTMUSICPERFORMANCE) *ppObject); + *ppObject = (LPDIRECTMUSICPERFORMANCE8) This->perfo; + IDirectMusicPerformance8Impl_AddRef((LPDIRECTMUSICPERFORMANCE8) *ppObject); return S_OK; } break; @@ -277,13 +280,13 @@ HRESULT WINAPI IDirectMusicAudioPathImpl_GetObjectInPath (LPDIRECTMUSICAUDIOPATH case DMUS_PATH_PERFORMANCE_GRAPH: { IDirectMusicGraph* pPerfoGraph = NULL; - IDirectMusicPerformanceImpl_GetGraph((LPDIRECTMUSICPERFORMANCE) This->perfo, &pPerfoGraph); + IDirectMusicPerformance8Impl_GetGraph((LPDIRECTMUSICPERFORMANCE8) This->perfo, &pPerfoGraph); if (NULL == pPerfoGraph) { IDirectMusicGraphImpl* pGraph = NULL; pGraph = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicGraphImpl)); pGraph->lpVtbl = &DirectMusicGraph_Vtbl; pGraph->ref = 1; - IDirectMusicPerformanceImpl_SetGraph((LPDIRECTMUSICPERFORMANCE) This->perfo, (IDirectMusicGraph*) pGraph); + IDirectMusicPerformance8Impl_SetGraph((LPDIRECTMUSICPERFORMANCE8) This->perfo, (IDirectMusicGraph*) pGraph); /* we need release as SetGraph do an AddRef */ IDirectMusicGraphImpl_Release((LPDIRECTMUSICGRAPH) pGraph); pPerfoGraph = (LPDIRECTMUSICGRAPH) pGraph; @@ -347,13 +350,14 @@ HRESULT WINAPI IDirectMusicBandImpl_QueryInterface (LPDIRECTMUSICBAND iface, REF { ICOM_THIS(IDirectMusicBandImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicBand)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicBand)) { IDirectMusicBandImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -421,13 +425,14 @@ HRESULT WINAPI IDirectMusicSongImpl_QueryInterface (LPDIRECTMUSICSONG iface, REF { ICOM_THIS(IDirectMusicSongImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSong)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicSong)) { IDirectMusicSongImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -535,13 +540,14 @@ HRESULT WINAPI IDirectMusicChordMapImpl_QueryInterface (LPDIRECTMUSICCHORDMAP if { ICOM_THIS(IDirectMusicChordMapImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicChordMap)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicChordMap)) { IDirectMusicChordMapImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -589,13 +595,14 @@ HRESULT WINAPI IDirectMusicComposerImpl_QueryInterface (LPDIRECTMUSICCOMPOSER if { ICOM_THIS(IDirectMusicComposerImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicComposer)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicComposer)) { IDirectMusicComposerImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -693,13 +700,14 @@ HRESULT WINAPI IDirectMusicContainerImpl_QueryInterface (LPDIRECTMUSICCONTAINER { ICOM_THIS(IDirectMusicContainerImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicContainer)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicContainer)) { IDirectMusicContainerImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -747,7 +755,8 @@ HRESULT WINAPI IDirectMusicGraphImpl_QueryInterface (LPDIRECTMUSICGRAPH iface, R { ICOM_THIS(IDirectMusicGraphImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicGraph)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicGraph)) { IDirectMusicGraphImpl_AddRef(iface); *ppobj = This; @@ -789,8 +798,8 @@ HRESULT WINAPI IDirectMusicGraphImpl_StampPMsg (LPDIRECTMUSICGRAPH iface, DMUS_P HRESULT WINAPI IDirectMusicGraphImpl_InsertTool (LPDIRECTMUSICGRAPH iface, IDirectMusicTool* pTool, DWORD* pdwPChannels, DWORD cPChannels, LONG lIndex) { int i; - IDirectMusicToolImpl* p; - IDirectMusicToolImpl* toAdd = (IDirectMusicToolImpl*) pTool; + IDirectMusicTool8Impl* p; + IDirectMusicTool8Impl* toAdd = (IDirectMusicTool8Impl*) pTool; ICOM_THIS(IDirectMusicGraphImpl,iface); FIXME("(%p, %p, %p, %ld, %li): use of pdwPChannels\n", This, pTool, pdwPChannels, cPChannels, lIndex); @@ -834,7 +843,7 @@ HRESULT WINAPI IDirectMusicGraphImpl_InsertTool (LPDIRECTMUSICGRAPH iface, IDire HRESULT WINAPI IDirectMusicGraphImpl_GetTool (LPDIRECTMUSICGRAPH iface, DWORD dwIndex, IDirectMusicTool** ppTool) { int i; - IDirectMusicToolImpl* p = NULL; + IDirectMusicTool8Impl* p = NULL; ICOM_THIS(IDirectMusicGraphImpl,iface); FIXME("(%p, %ld, %p): stub\n", This, dwIndex, ppTool); @@ -845,7 +854,7 @@ HRESULT WINAPI IDirectMusicGraphImpl_GetTool (LPDIRECTMUSICGRAPH iface, DWORD dw } *ppTool = (IDirectMusicTool*) p; if (NULL != *ppTool) { - IDirectMusicToolImpl_AddRef(*ppTool); + IDirectMusicTool8Impl_AddRef((LPDIRECTMUSICTOOL8) *ppTool); } return DS_OK; } @@ -877,13 +886,14 @@ HRESULT WINAPI IDirectMusicScriptImpl_QueryInterface (LPDIRECTMUSICSCRIPT iface, { ICOM_THIS(IDirectMusicScriptImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicScript)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicScript)) { IDirectMusicScriptImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -920,7 +930,7 @@ HRESULT WINAPI IDirectMusicScriptImpl_CallRoutine (LPDIRECTMUSICSCRIPT iface, WC { ICOM_THIS(IDirectMusicScriptImpl,iface); - FIXME("(%p, %p, %p): stub\n", This, pwszRoutineName, pErrorInfo); + FIXME("(%p, %s, %p): stub\n", This, debugstr_w(pwszRoutineName), pErrorInfo); return S_OK; } diff --git a/dlls/dmusic/dmusic_performance.c b/dlls/dmusic/dmusic_performance.c index ee3ee8765c5..75742d04591 100644 --- a/dlls/dmusic/dmusic_performance.c +++ b/dlls/dmusic/dmusic_performance.c @@ -28,493 +28,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); -/* IDirectMusicPerformance IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicPerformanceImpl_QueryInterface (LPDIRECTMUSICPERFORMANCE iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicPerformance)) - { - IDirectMusicPerformanceImpl_AddRef(iface); - *ppobj = This; - 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; -} - -ULONG WINAPI IDirectMusicPerformanceImpl_AddRef (LPDIRECTMUSICPERFORMANCE iface) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicPerformanceImpl_Release (LPDIRECTMUSICPERFORMANCE iface) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusicPerformance Interface follow: */ -HRESULT WINAPI IDirectMusicPerformanceImpl_Init (LPDIRECTMUSICPERFORMANCE iface, IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(iface = %p, dmusic = %p (*dmusic = %p), dsound = %p, hwnd = %p): forward to IDirectMusicPerformance8Impl::Init\n", This, ppDirectMusic, *ppDirectMusic, pDirectSound, hWnd); - - return IDirectMusicPerformanceImpl_Init((LPDIRECTMUSICPERFORMANCE) iface, ppDirectMusic, pDirectSound, hWnd); -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_PlaySegment (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p,%p, %ld): stub\n", This, ppSegmentState, mtTime); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %ld): stub\n", This, dwMilliSeconds); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, pdwMilliSeconds); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_SetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %ld): stub\n", This, dwMilliSeconds); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_GetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, pdwMilliSeconds); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_SendPMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_PMSG* pPMSG) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, pPMSG); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_GetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph** ppGraph) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, ppGraph); - - return IDirectMusicPerformance8Impl_GetGraph((LPDIRECTMUSICPERFORMANCE8) iface, ppGraph); -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_SetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph* pGraph) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, pGraph); - - return IDirectMusicPerformance8Impl_SetGraph((LPDIRECTMUSICPERFORMANCE8) iface, pGraph); -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE iface, HANDLE hNotification, REFERENCE_TIME rtMinimum) -{ - 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) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, ppNotificationPMsg); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_AddNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType) -{ - 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): semi-stub\n", This, pPort); - /* just pretend that the port has been added */ - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_RemovePort (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicPort* pPort) -{ - 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): forward to IDirectMusicPerformance8Impl::AssignPChannelBlock\n", This, dwBlockNum, pPort, dwGroup-1); - - return IDirectMusicPerformance8Impl_AssignPChannelBlock((LPDIRECTMUSICPERFORMANCE8) iface, dwBlockNum, pPort, dwGroup); -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_AssignPChannel (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, - IDirectMusicPort* pPort, DWORD dwGroup, DWORD dwMChannel) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - TRACE("(%p, %ld, %p, %ld, %ld): forward to IDirectMusicPerformance8Impl::AssignPChannel\n", This, dwPChannel, pPort, dwGroup, dwMChannel); - - return IDirectMusicPerformance8Impl_AssignPChannel((LPDIRECTMUSICPERFORMANCE8) iface, dwPChannel, pPort, dwGroup, dwMChannel); -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_PChannelInfo (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - TRACE("(%p, %s, %p, %ld): forward to IDirectMusicPerformance8Impl::GetGlobalParam\n", This, debugstr_guid(rguidType), pParam, dwSize); - - return IDirectMusicPerformance8Impl_GetGlobalParam((LPDIRECTMUSICPERFORMANCE8) iface, rguidType, pParam, dwSize); -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, - void* pParam, DWORD dwSize) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - TRACE("(%p, %s, %p, %ld): forward to IDirectMusicPerformance8Impl::SetGlobalParam\n", This, debugstr_guid(rguidType), pParam, dwSize); - - return IDirectMusicPerformance8Impl_SetGlobalParam((LPDIRECTMUSICPERFORMANCE8) iface, rguidType, pParam, dwSize); -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, prtTime); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_GetQueueTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime) -{ - ICOM_THIS(IDirectMusicPerformanceImpl,iface); - - FIXME("(%p, %p): stub\n", This, prtTime); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_AdjustTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtAmount) -{ - 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): stub\n", This); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicPerformanceImpl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtTime, REFERENCE_TIME* prtResolved, DWORD dwTimeResolveFlags) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - 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 = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicPerformanceImpl_QueryInterface, - IDirectMusicPerformanceImpl_AddRef, - IDirectMusicPerformanceImpl_Release, - IDirectMusicPerformanceImpl_Init, - IDirectMusicPerformanceImpl_PlaySegment, - IDirectMusicPerformanceImpl_Stop, - IDirectMusicPerformanceImpl_GetSegmentState, - IDirectMusicPerformanceImpl_SetPrepareTime, - IDirectMusicPerformanceImpl_GetPrepareTime, - IDirectMusicPerformanceImpl_SetBumperLength, - IDirectMusicPerformanceImpl_GetBumperLength, - IDirectMusicPerformanceImpl_SendPMsg, - IDirectMusicPerformanceImpl_MusicToReferenceTime, - IDirectMusicPerformanceImpl_ReferenceToMusicTime, - IDirectMusicPerformanceImpl_IsPlaying, - IDirectMusicPerformanceImpl_GetTime, - IDirectMusicPerformanceImpl_AllocPMsg, - IDirectMusicPerformanceImpl_FreePMsg, - IDirectMusicPerformanceImpl_GetGraph, - IDirectMusicPerformanceImpl_SetGraph, - IDirectMusicPerformanceImpl_SetNotificationHandle, - IDirectMusicPerformanceImpl_GetNotificationPMsg, - IDirectMusicPerformanceImpl_AddNotificationType, - IDirectMusicPerformanceImpl_RemoveNotificationType, - IDirectMusicPerformanceImpl_AddPort, - IDirectMusicPerformanceImpl_RemovePort, - IDirectMusicPerformanceImpl_AssignPChannelBlock, - IDirectMusicPerformanceImpl_AssignPChannel, - IDirectMusicPerformanceImpl_PChannelInfo, - IDirectMusicPerformanceImpl_DownloadInstrument, - IDirectMusicPerformanceImpl_Invalidate, - IDirectMusicPerformanceImpl_GetParam, - IDirectMusicPerformanceImpl_SetParam, - IDirectMusicPerformanceImpl_GetGlobalParam, - IDirectMusicPerformanceImpl_SetGlobalParam, - IDirectMusicPerformanceImpl_GetLatencyTime, - IDirectMusicPerformanceImpl_GetQueueTime, - IDirectMusicPerformanceImpl_AdjustTime, - IDirectMusicPerformanceImpl_CloseDown, - IDirectMusicPerformanceImpl_GetResolvedTime, - IDirectMusicPerformanceImpl_MIDIToMusic, - IDirectMusicPerformanceImpl_MusicToMIDI, - IDirectMusicPerformanceImpl_TimeToRhythm, - IDirectMusicPerformanceImpl_RhythmToTime -}; - /* for ClassFactory */ HRESULT WINAPI DMUSIC_CreateDirectMusicPerformance (LPCGUID lpcGUID, LPDIRECTMUSICPERFORMANCE *ppDMPerf, LPUNKNOWN pUnkOuter) { - IDirectMusicPerformanceImpl *pPerf; - - TRACE("(%p,%p,%p)\n",lpcGUID, ppDMPerf, pUnkOuter); - if (IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance)) - { - pPerf = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicPerformanceImpl)); - if (NULL == pPerf) - { - *ppDMPerf = (LPDIRECTMUSICPERFORMANCE)NULL; - return E_OUTOFMEMORY; - } - pPerf->lpVtbl = &DirectMusicPerformance_Vtbl; - pPerf->ref = 1; - *ppDMPerf = (LPDIRECTMUSICPERFORMANCE)pPerf; - return S_OK; - } - WARN("No interface found\n"); - - return E_NOINTERFACE; + return DMUSIC_CreateDirectMusicPerformance8(lpcGUID, (LPDIRECTMUSICPERFORMANCE8*) ppDMPerf, pUnkOuter); } -/* IDirectMusicPerformance8 IUnknown parts follow: */ +/* IDirectMusicPerformance8 IUnknown part follow: */ HRESULT WINAPI IDirectMusicPerformance8Impl_QueryInterface (LPDIRECTMUSICPERFORMANCE8 iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IDirectMusicPerformance8Impl,iface); @@ -527,7 +48,7 @@ HRESULT WINAPI IDirectMusicPerformance8Impl_QueryInterface (LPDIRECTMUSICPERFORM *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -550,7 +71,7 @@ ULONG WINAPI IDirectMusicPerformance8Impl_Release (LPDIRECTMUSICPERFORMANCE8 ifa return ref; } -/* IDirectMusicPerformance Interface part follow: */ +/* IDirectMusicPerformance8 IDirectMusicPerformance Interface part follow: */ HRESULT WINAPI IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd) { ICOM_THIS(IDirectMusicPerformance8Impl,iface); @@ -562,15 +83,15 @@ HRESULT WINAPI IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANCE8 ifac if (NULL != ppDirectMusic && NULL != *ppDirectMusic) { /* app creates it's own dmusic object and gives it to performance */ - This->dmusic = (IDirectMusic*) *ppDirectMusic; - IDirectMusicImpl_AddRef((LPDIRECTMUSIC) This->dmusic); + This->dmusic = (IDirectMusic8*) *ppDirectMusic; + IDirectMusic8Impl_AddRef((LPDIRECTMUSIC8) This->dmusic); } else { /* app allows the performance to initialise itfself and needs a pointer to object*/ /* maybe IID_IDirectMusic8 must be used here */ - DMUSIC_CreateDirectMusic(&IID_IDirectMusic, (LPDIRECTMUSIC*) &This->dmusic, NULL); + DMUSIC_CreateDirectMusic(&IID_IDirectMusic8, (LPDIRECTMUSIC*) &This->dmusic, NULL); if (ppDirectMusic) { *ppDirectMusic = (LPDIRECTMUSIC) This->dmusic; - IDirectMusic_AddRef(*ppDirectMusic); + IDirectMusic8Impl_AddRef((LPDIRECTMUSIC8) *ppDirectMusic); } } @@ -712,7 +233,7 @@ HRESULT WINAPI IDirectMusicPerformance8Impl_FreePMsg (LPDIRECTMUSICPERFORMANCE8 HRESULT WINAPI IDirectMusicPerformance8Impl_GetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph** ppGraph) { - ICOM_THIS(IDirectMusicPerformanceImpl,iface); + ICOM_THIS(IDirectMusicPerformance8Impl,iface); FIXME("(%p, %p): to check\n", This, ppGraph); @@ -725,7 +246,7 @@ HRESULT WINAPI IDirectMusicPerformance8Impl_GetGraph (LPDIRECTMUSICPERFORMANCE8 HRESULT WINAPI IDirectMusicPerformance8Impl_SetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph* pGraph) { - ICOM_THIS(IDirectMusicPerformanceImpl,iface); + ICOM_THIS(IDirectMusicPerformance8Impl,iface); FIXME("(%p, %p): to check\n", This, pGraph); @@ -1029,8 +550,8 @@ HRESULT WINAPI IDirectMusicPerformance8ImplInitAudio (LPDIRECTMUSICPERFORMANCE8 IDirectMusicPerformance8Impl_Init(iface, ppDirectMusic, This->dsound, hWnd); /* Init increases the ref count of the dsound object. Decremente it if the app don't want a pointer to the object. */ - /*if (!ppDirectSound) - IDirectSound_Release(*ppDirectSound);*/ + if (!ppDirectSound) + IDirectSound_Release(This->dsound); /* as seen in msdn we need params init before audio path creation */ if (NULL != pParams) { @@ -1091,14 +612,13 @@ HRESULT WINAPI IDirectMusicPerformance8ImplCreateStandardAudioPath (LPDIRECTMUSI FIXME("(%p)->(%ld, %ld, %d, %p): semi-stub\n", This, dwType, dwPChannelCount, fActivate, ppNewPath); default_path = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicAudioPathImpl)); - if (NULL == default_path) - { - *ppNewPath = (LPDIRECTMUSICAUDIOPATH)NULL; + if (NULL == default_path) { + *ppNewPath = (LPDIRECTMUSICAUDIOPATH) NULL; return E_OUTOFMEMORY; } default_path->lpVtbl = &DirectMusicAudioPath_Vtbl; default_path->ref = 1; - default_path->perfo = (IDirectMusicPerformance*) This; + default_path->perfo = (IDirectMusicPerformance8*) This; /* Secondary buffer description */ format.wFormatTag = WAVE_FORMAT_PCM; @@ -1166,7 +686,7 @@ HRESULT WINAPI IDirectMusicPerformance8ImplSetDefaultAudioPath (LPDIRECTMUSICPER This->default_path = pAudioPath; if (NULL != This->default_path) { IDirectMusicAudioPathImpl_AddRef((LPDIRECTMUSICAUDIOPATH) This->default_path); - ((IDirectMusicAudioPathImpl*) This->default_path)->perfo = (IDirectMusicPerformance*) This; + ((IDirectMusicAudioPathImpl*) This->default_path)->perfo = (IDirectMusicPerformance8*) This; } return DS_OK; } @@ -1259,8 +779,8 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicPerformance8 (LPCGUID lpcGUID, LPDIRECTMU IDirectMusicPerformance8Impl *pPerf8; TRACE("(%p,%p,%p)\n",lpcGUID, ppDMPerf8, pUnkOuter); - if (IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance8)) - { + if (IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance) || + IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance8)) { pPerf8 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicPerformance8Impl)); if (NULL == pPerf8) { @@ -1273,7 +793,7 @@ HRESULT WINAPI DMUSIC_CreateDirectMusicPerformance8 (LPCGUID lpcGUID, LPDIRECTMU pPerf8->dsound = NULL; pPerf8->default_path = NULL; - *ppDMPerf8 = (LPDIRECTMUSICPERFORMANCE8)pPerf8; + *ppDMPerf8 = (LPDIRECTMUSICPERFORMANCE8) pPerf8; return S_OK; } WARN("No interface found\n"); diff --git a/dlls/dmusic/dmusic_plugins.c b/dlls/dmusic/dmusic_plugins.c index 8e16df60ece..cadf265e2ba 100644 --- a/dlls/dmusic/dmusic_plugins.c +++ b/dlls/dmusic/dmusic_plugins.c @@ -30,122 +30,21 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); -/* IDirectMusicTool IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicToolImpl_QueryInterface (LPDIRECTMUSICTOOL iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicToolImpl, iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicTool)) - { - IDirectMusicToolImpl_AddRef(iface); - *ppobj = This; - return S_OK; - } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); - return E_NOINTERFACE; -} - -ULONG WINAPI IDirectMusicToolImpl_AddRef (LPDIRECTMUSICTOOL 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); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusicTool Interface follow: */ -HRESULT WINAPI IDirectMusicToolImpl_Init (LPDIRECTMUSICTOOL iface, IDirectMusicGraph* pGraph) -{ - ICOM_THIS(IDirectMusicToolImpl, iface); - - FIXME("(%p, %p): stub\n", This, pGraph); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicToolImpl_GetMsgDeliveryType (LPDIRECTMUSICTOOL iface, DWORD* pdwDeliveryType) -{ - ICOM_THIS(IDirectMusicToolImpl, iface); - - FIXME("(%p, %p): stub\n", This, pdwDeliveryType); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicToolImpl_GetMediaTypeArraySize (LPDIRECTMUSICTOOL iface, DWORD* pdwNumElements) -{ - ICOM_THIS(IDirectMusicToolImpl, iface); - - FIXME("(%p, %p): stub\n", This, pdwNumElements); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicToolImpl_GetMediaTypes (LPDIRECTMUSICTOOL iface, DWORD** padwMediaTypes, DWORD dwNumElements) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicToolImpl, iface); - - FIXME("(%p, %p, %p, FIXME): stub\n", This, pPerf, pPMSG/*, rtTime*/); - - return S_OK; -} - -ICOM_VTABLE(IDirectMusicTool) DirectMusicTool_Vtbl = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicToolImpl_QueryInterface, - IDirectMusicToolImpl_AddRef, - IDirectMusicToolImpl_Release, - IDirectMusicToolImpl_Init, - IDirectMusicToolImpl_GetMsgDeliveryType, - IDirectMusicToolImpl_GetMediaTypeArraySize, - IDirectMusicToolImpl_GetMediaTypes, - IDirectMusicToolImpl_ProcessPMsg, - IDirectMusicToolImpl_Flush -}; - - -/* IDirectMusicTool8 IUnknown parts follow: */ +/* IDirectMusicTool8 IUnknown part follow: */ HRESULT WINAPI IDirectMusicTool8Impl_QueryInterface (LPDIRECTMUSICTOOL8 iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IDirectMusicTool8Impl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicTool8)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicTool) || + IsEqualGUID(riid, &IID_IDirectMusicTool8)) { IDirectMusicTool8Impl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -168,7 +67,7 @@ ULONG WINAPI IDirectMusicTool8Impl_Release (LPDIRECTMUSICTOOL8 iface) return ref; } -/* IDirectMusicTool8 Interface follow: */ +/* IDirectMusicTool Interface follow: */ HRESULT WINAPI IDirectMusicTool8Impl_Init (LPDIRECTMUSICTOOL8 iface, IDirectMusicGraph* pGraph) { ICOM_THIS(IDirectMusicTool8Impl,iface); @@ -223,6 +122,7 @@ HRESULT WINAPI IDirectMusicTool8Impl_Flush (LPDIRECTMUSICTOOL8 iface, IDirectMus return S_OK; } +/* IDirectMusicTool8 Interface part follow: */ HRESULT WINAPI IDirectMusicTool8Impl_Clone (LPDIRECTMUSICTOOL8 iface, IDirectMusicTool** ppTool) { ICOM_THIS(IDirectMusicTool8Impl,iface); @@ -248,160 +148,20 @@ ICOM_VTABLE(IDirectMusicTool8) DirectMusicTool8_Vtbl = }; -/* IDirectMusicTrack IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicTrackImpl_QueryInterface (LPDIRECTMUSICTRACK iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicTrackImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicTrack)) - { - IDirectMusicTrackImpl_AddRef(iface); - *ppobj = This; - return S_OK; - } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); - return E_NOINTERFACE; -} - -ULONG WINAPI IDirectMusicTrackImpl_AddRef (LPDIRECTMUSICTRACK iface) -{ - ICOM_THIS(IDirectMusicTrackImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicTrackImpl_Release (LPDIRECTMUSICTRACK iface) -{ - ICOM_THIS(IDirectMusicTrackImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} -/* IDirectMusicTrack Interface follow: */ -HRESULT WINAPI IDirectMusicTrackImpl_Init (LPDIRECTMUSICTRACK iface, IDirectMusicSegment* pSegment) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicTrackImpl,iface); - - FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidType)); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicTrackImpl_AddNotificationType (LPDIRECTMUSICTRACK iface, REFGUID rguidNotificationType) -{ - ICOM_THIS(IDirectMusicTrackImpl,iface); - - FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicTrackImpl_RemoveNotificationType (LPDIRECTMUSICTRACK iface, REFGUID rguidNotificationType) -{ - 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) -{ - ICOM_THIS(IDirectMusicTrackImpl,iface); - - FIXME("(%p, %ld, %ld, %p): stub\n", This, mtStart, mtEnd, ppTrack); - - return S_OK; -} - -ICOM_VTABLE(IDirectMusicTrack) DirectMusicTrack_Vtbl = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicTrackImpl_QueryInterface, - IDirectMusicTrackImpl_AddRef, - IDirectMusicTrackImpl_Release, - IDirectMusicTrackImpl_Init, - IDirectMusicTrackImpl_InitPlay, - IDirectMusicTrackImpl_EndPlay, - IDirectMusicTrackImpl_Play, - IDirectMusicTrackImpl_GetParam, - IDirectMusicTrackImpl_SetParam, - IDirectMusicTrackImpl_IsParamSupported, - IDirectMusicTrackImpl_AddNotificationType, - IDirectMusicTrackImpl_RemoveNotificationType, - IDirectMusicTrackImpl_Clone -}; - -/* IDirectMusicTrack8 IUnknown parts follow: */ +/* IDirectMusicTrack8 IUnknown part follow: */ HRESULT WINAPI IDirectMusicTrack8Impl_QueryInterface (LPDIRECTMUSICTRACK8 iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IDirectMusicTrack8Impl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicTrack8)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicTrack) || + IsEqualGUID(riid, &IID_IDirectMusicTrack8)) { IDirectMusicTrack8Impl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -423,6 +183,7 @@ ULONG WINAPI IDirectMusicTrack8Impl_Release (LPDIRECTMUSICTRACK8 iface) } return ref; } + /* IDirectMusicTrack Interface part follow: */ HRESULT WINAPI IDirectMusicTrack8Impl_Init (LPDIRECTMUSICTRACK8 iface, IDirectMusicSegment* pSegment) { @@ -515,7 +276,6 @@ HRESULT WINAPI IDirectMusicTrack8Impl_Clone (LPDIRECTMUSICTRACK8 iface, MUSIC_TI } /* 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) { ICOM_THIS(IDirectMusicTrack8Impl,iface); diff --git a/dlls/dmusic/dmusic_private.h b/dlls/dmusic/dmusic_private.h index be6a20c54c8..775aae25971 100644 --- a/dlls/dmusic/dmusic_private.h +++ b/dlls/dmusic/dmusic_private.h @@ -34,7 +34,6 @@ /***************************************************************************** * Interfaces */ -typedef struct IDirectMusicImpl IDirectMusicImpl; typedef struct IDirectMusic8Impl IDirectMusic8Impl; typedef struct IDirectMusicBufferImpl IDirectMusicBufferImpl; typedef struct IDirectMusicInstrumentImpl IDirectMusicInstrumentImpl; @@ -46,29 +45,21 @@ typedef struct IDirectMusicPortImpl IDirectMusicPortImpl; typedef struct IDirectMusicThruImpl IDirectMusicThruImpl; typedef struct IReferenceClockImpl IReferenceClockImpl; -typedef struct IDirectMusicSynthImpl IDirectMusicSynthImpl; typedef struct IDirectMusicSynth8Impl IDirectMusicSynth8Impl; typedef struct IDirectMusicSynthSinkImpl IDirectMusicSynthSinkImpl; -typedef struct IDirectMusicToolImpl IDirectMusicToolImpl; typedef struct IDirectMusicTool8Impl IDirectMusicTool8Impl; -typedef struct IDirectMusicTrackImpl IDirectMusicTrackImpl; typedef struct IDirectMusicTrack8Impl IDirectMusicTrack8Impl; typedef struct IDirectMusicBandImpl IDirectMusicBandImpl; typedef struct IDirectMusicObjectImpl IDirectMusicObjectImpl; -typedef struct IDirectMusicLoaderImpl IDirectMusicLoaderImpl; typedef struct IDirectMusicLoader8Impl IDirectMusicLoader8Impl; typedef struct IDirectMusicGetLoaderImpl IDirectMusicGetLoaderImpl; -typedef struct IDirectMusicSegmentImpl IDirectMusicSegmentImpl; typedef struct IDirectMusicSegment8Impl IDirectMusicSegment8Impl; -typedef struct IDirectMusicSegmentStateImpl IDirectMusicSegmentStateImpl; typedef struct IDirectMusicSegmentState8Impl IDirectMusicSegmentState8Impl; typedef struct IDirectMusicAudioPathImpl IDirectMusicAudioPathImpl; -typedef struct IDirectMusicPerformanceImpl IDirectMusicPerformanceImpl; typedef struct IDirectMusicPerformance8Impl IDirectMusicPerformance8Impl; typedef struct IDirectMusicGraphImpl IDirectMusicGraphImpl; -typedef struct IDirectMusicStyleImpl IDirectMusicStyleImpl; typedef struct IDirectMusicStyle8Impl IDirectMusicStyle8Impl; typedef struct IDirectMusicChordMapImpl IDirectMusicChordMapImpl; typedef struct IDirectMusicComposerImpl IDirectMusicComposerImpl; @@ -80,7 +71,6 @@ typedef struct IDirectMusicSongImpl IDirectMusicSongImpl; /***************************************************************************** * Predeclare the interface implementation structures */ -extern ICOM_VTABLE(IDirectMusic) DirectMusic_Vtbl; extern ICOM_VTABLE(IDirectMusic8) DirectMusic8_Vtbl; extern ICOM_VTABLE(IDirectMusicBuffer) DirectMusicBuffer_Vtbl; extern ICOM_VTABLE(IDirectMusicInstrument) DirectMusicInstrument_Vtbl; @@ -92,29 +82,21 @@ extern ICOM_VTABLE(IDirectMusicPort) DirectMusicPort_Vtbl; extern ICOM_VTABLE(IDirectMusicThru) DirectMusicThru_Vtbl; extern ICOM_VTABLE(IReferenceClock) ReferenceClock_Vtbl; -extern ICOM_VTABLE(IDirectMusicSynth) DirectMusicSynth; -extern ICOM_VTABLE(IDirectMusicSynth8) DirectMusicSynth8; -extern ICOM_VTABLE(IDirectMusicSynthSink) DirectMusicSynthSink; +extern ICOM_VTABLE(IDirectMusicSynth8) DirectMusicSynth8_Vtbl; +extern ICOM_VTABLE(IDirectMusicSynthSink) DirectMusicSynthSink_Vtbl; -extern ICOM_VTABLE(IDirectMusicTool) DirectMusicTool; -extern ICOM_VTABLE(IDirectMusicTool8) DirectMusicTool8; -extern ICOM_VTABLE(IDirectMusicTrack) DirectMusicTrack; -extern ICOM_VTABLE(IDirectMusicTrack8) DirectMusicTrack8; +extern ICOM_VTABLE(IDirectMusicTool8) DirectMusicTool8_Vtbl; +extern ICOM_VTABLE(IDirectMusicTrack8) DirectMusicTrack8_Vtbl; -extern ICOM_VTABLE(IDirectMusicBand) DirectMusicBand; -extern ICOM_VTABLE(IDirectMusicObject) DirectMusicObject; -extern ICOM_VTABLE(IDirectMusicLoader) DirectMusicLoader; -extern ICOM_VTABLE(IDirectMusicLoader8) DirectMusicLoader8; -extern ICOM_VTABLE(IDirectMusicGetLoader) DirectMusicGetLoader; -extern ICOM_VTABLE(IDirectMusicSegment) DirectMusicSegment; -extern ICOM_VTABLE(IDirectMusicSegment8) DirectMusicSegment8; -extern ICOM_VTABLE(IDirectMusicSegmentState) DirectMusicSegmentState; -extern ICOM_VTABLE(IDirectMusicSegmentState8) DirectMusicSegmentState8; +extern ICOM_VTABLE(IDirectMusicBand) DirectMusicBand_Vtbl; +extern ICOM_VTABLE(IDirectMusicObject) DirectMusicObject_Vtbl; +extern ICOM_VTABLE(IDirectMusicLoader8) DirectMusicLoader8_Vtbl; +extern ICOM_VTABLE(IDirectMusicGetLoader) DirectMusicGetLoader_Vtbl; +extern ICOM_VTABLE(IDirectMusicSegment8) DirectMusicSegment8_Vtbl; +extern ICOM_VTABLE(IDirectMusicSegmentState8) DirectMusicSegmentState8_Vtbl; extern ICOM_VTABLE(IDirectMusicAudioPath) DirectMusicAudioPath_Vtbl; -extern ICOM_VTABLE(IDirectMusicPerformance) DirectMusicPerformance_Vtbl; extern ICOM_VTABLE(IDirectMusicPerformance8) DirectMusicPerformance8_Vtbl; extern ICOM_VTABLE(IDirectMusicGraph) DirectMusicGraph_Vtbl; -extern ICOM_VTABLE(IDirectMusicStyle) DirectMusicStyle_Vtbl; extern ICOM_VTABLE(IDirectMusicStyle8) DirectMusicStyle8_Vtbl; extern ICOM_VTABLE(IDirectMusicChordMap) DirectMusicChordMap_Vtbl; extern ICOM_VTABLE(IDirectMusicComposer) DirectMusicComposer_Vtbl; @@ -204,36 +186,13 @@ typedef struct _BandTrack } BandTrack; /***************************************************************************** - * IDirectMusicImpl implementation structure + * ClassFactory + * + * can support IID_IDirectMusic and IID_IDirectMusic8 + * return always an IDirectMusic8Impl */ -struct IDirectMusicImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusic); - DWORD ref; +extern HRESULT WINAPI DMUSIC_CreateDirectMusic (LPCGUID lpcGUID, LPDIRECTMUSIC* ppDM, LPUNKNOWN pUnkOuter); - /* IDirectMusicImpl fields */ - IDirectMusicPortImpl** ports; - int nrofports; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicImpl_QueryInterface (LPDIRECTMUSIC iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicImpl_AddRef (LPDIRECTMUSIC iface); -extern ULONG WINAPI IDirectMusicImpl_Release (LPDIRECTMUSIC iface); -/* IDirectMusicImpl: */ -extern HRESULT WINAPI IDirectMusicImpl_EnumPort (LPDIRECTMUSIC iface, DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps); -extern HRESULT WINAPI IDirectMusicImpl_CreateMusicBuffer (LPDIRECTMUSIC iface, LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER** ppBuffer, LPUNKNOWN pUnkOuter); -extern HRESULT WINAPI IDirectMusicImpl_CreatePort (LPDIRECTMUSIC iface, REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT* ppPort, LPUNKNOWN pUnkOuter); -extern HRESULT WINAPI IDirectMusicImpl_EnumMasterClock (LPDIRECTMUSIC iface, DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo); -extern HRESULT WINAPI IDirectMusicImpl_GetMasterClock (LPDIRECTMUSIC iface, LPGUID pguidClock, IReferenceClock** ppReferenceClock); -extern HRESULT WINAPI IDirectMusicImpl_SetMasterClock (LPDIRECTMUSIC iface, REFGUID rguidClock); -extern HRESULT WINAPI IDirectMusicImpl_Activate (LPDIRECTMUSIC iface, BOOL fEnable); -extern HRESULT WINAPI IDirectMusicImpl_GetDefaultPort (LPDIRECTMUSIC iface, LPGUID pguidPort); -extern HRESULT WINAPI IDirectMusicImpl_SetDirectSound (LPDIRECTMUSIC iface, LPDIRECTSOUND pDirectSound, HWND hWnd); - -/* ClassFactory */ -extern HRESULT WINAPI DMUSIC_CreateDirectMusic (LPCGUID lpcGUID, LPDIRECTMUSIC *ppDM, LPUNKNOWN pUnkOuter); /***************************************************************************** * IDirectMusic8Impl implementation structure @@ -244,7 +203,7 @@ struct IDirectMusic8Impl ICOM_VFIELD(IDirectMusic8); DWORD ref; - /* IDirectMusic8Impl fields */ + /* IDirectMusicImpl fields */ IDirectMusicPortImpl** ports; int nrofports; }; @@ -253,7 +212,7 @@ struct IDirectMusic8Impl extern HRESULT WINAPI IDirectMusic8Impl_QueryInterface (LPDIRECTMUSIC8 iface, REFIID riid, LPVOID *ppobj); extern ULONG WINAPI IDirectMusic8Impl_AddRef (LPDIRECTMUSIC8 iface); extern ULONG WINAPI IDirectMusic8Impl_Release (LPDIRECTMUSIC8 iface); -/* IDirectMusic8Impl: */ +/* IDirectMusic: */ extern HRESULT WINAPI IDirectMusic8Impl_EnumPort (LPDIRECTMUSIC8 iface, DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps); extern HRESULT WINAPI IDirectMusic8Impl_CreateMusicBuffer (LPDIRECTMUSIC8 iface, LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER** ppBuffer, LPUNKNOWN pUnkOuter); extern HRESULT WINAPI IDirectMusic8Impl_CreatePort (LPDIRECTMUSIC8 iface, REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT* ppPort, LPUNKNOWN pUnkOuter); @@ -263,8 +222,10 @@ extern HRESULT WINAPI IDirectMusic8Impl_SetMasterClock (LPDIRECTMUSIC8 iface, RE extern HRESULT WINAPI IDirectMusic8Impl_Activate (LPDIRECTMUSIC8 iface, BOOL fEnable); extern HRESULT WINAPI IDirectMusic8Impl_GetDefaultPort (LPDIRECTMUSIC8 iface, LPGUID pguidPort); extern HRESULT WINAPI IDirectMusic8Impl_SetDirectSound (LPDIRECTMUSIC8 iface, LPDIRECTSOUND pDirectSound, HWND hWnd); +/* IDirectMusic8: */ extern HRESULT WINAPI IDirectMusic8Impl_SetExternalMasterClock (LPDIRECTMUSIC8 iface, IReferenceClock* pClock); + /***************************************************************************** * IDirectMusicBufferImpl implementation structure */ @@ -296,6 +257,7 @@ extern HRESULT WINAPI IDirectMusicBufferImpl_GetBufferFormat (LPDIRECTMUSICBUFFE extern HRESULT WINAPI IDirectMusicBufferImpl_SetStartTime (LPDIRECTMUSICBUFFER iface, REFERENCE_TIME rt); extern HRESULT WINAPI IDirectMusicBufferImpl_SetUsedBytes (LPDIRECTMUSICBUFFER iface, DWORD cb); + /***************************************************************************** * IDirectMusicInstrumentImpl implementation structure */ @@ -317,6 +279,7 @@ extern ULONG WINAPI IDirectMusicInstrumentImpl_Release (LPDIRECTMUSICINSTRUMEN extern HRESULT WINAPI IDirectMusicInstrumentImpl_GetPatch (LPDIRECTMUSICINSTRUMENT iface, DWORD* pdwPatch); extern HRESULT WINAPI IDirectMusicInstrumentImpl_SetPatch (LPDIRECTMUSICINSTRUMENT iface, DWORD dwPatch); + /***************************************************************************** * IDirectMusicDownloadedInstrumentImpl implementation structure */ @@ -336,6 +299,7 @@ extern ULONG WINAPI IDirectMusicDownloadedInstrumentImpl_Release (LPDIRECTMUSI /* IDirectMusicDownloadedInstrumentImpl: */ /* none yet */ + /***************************************************************************** * IDirectMusicCollectionImpl implementation structure */ @@ -356,6 +320,7 @@ extern ULONG WINAPI IDirectMusicCollectionImpl_Release (LPDIRECTMUSICCOLLECTIO HRESULT WINAPI IDirectMusicCollectionImpl_GetInstrument (LPDIRECTMUSICCOLLECTION iface, DWORD dwPatch, IDirectMusicInstrument** ppInstrument); HRESULT WINAPI IDirectMusicCollectionImpl_EnumInstrument (LPDIRECTMUSICCOLLECTION iface, DWORD dwIndex, DWORD* pdwPatch, LPWSTR pwszName, DWORD dwNameLen); + /***************************************************************************** * IDirectMusicDownloadImpl implementation structure */ @@ -375,6 +340,7 @@ extern ULONG WINAPI IDirectMusicDownloadImpl_Release (LPDIRECTMUSICDOWNLOAD if /* IDirectMusicImpl: */ extern HRESULT WINAPI IDirectMusicDownloadImpl_GetBuffer (LPDIRECTMUSICDOWNLOAD iface, void** ppvBuffer, DWORD* pdwSize); + /***************************************************************************** * IDirectMusicPortDownloadImpl implementation structure */ @@ -438,6 +404,7 @@ extern HRESULT WINAPI IDirectMusicPortImpl_GetChannelPriority (LPDIRECTMUSICPORT extern HRESULT WINAPI IDirectMusicPortImpl_SetDirectSound (LPDIRECTMUSICPORT iface, LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer); extern HRESULT WINAPI IDirectMusicPortImpl_GetFormat (LPDIRECTMUSICPORT iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize, LPDWORD pdwBufferSize); + /***************************************************************************** * IDirectMusicThruImpl implementation structure */ @@ -457,6 +424,7 @@ extern ULONG WINAPI IDirectMusicThruImpl_Release (LPDIRECTMUSICTHRU iface); /* IDirectMusicPortDownloadImpl: */ extern HRESULT WINAPI ThruChannel (LPDIRECTMUSICTHRU iface, DWORD dwSourceChannelGroup, DWORD dwSourceChannel, DWORD dwDestinationChannelGroup, DWORD dwDestinationChannel, LPDIRECTMUSICPORT pDestinationPort); + /***************************************************************************** * IReferenceClockImpl implementation structure */ @@ -480,41 +448,6 @@ extern HRESULT WINAPI IReferenceClockImpl_AdvisePeriodic (LPREFERENCECLOCK iface extern HRESULT WINAPI IReferenceClockImpl_Unadvise (LPREFERENCECLOCK iface, DWORD dwAdviseCookie); -/***************************************************************************** - * IDirectMusicSynthImpl implementation structure - */ -struct IDirectMusicSynthImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusicSynth); - DWORD ref; - - /* IDirectMusicSynth fields */ -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicSynthImpl_QueryInterface (LPDIRECTMUSICSYNTH iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicSynthImpl_AddRef (LPDIRECTMUSICSYNTH iface); -extern ULONG WINAPI IDirectMusicSynthImpl_Release (LPDIRECTMUSICSYNTH iface); -/* IDirectMusicSynth: */ -extern HRESULT WINAPI IDirectMusicSynthImpl_Open (LPDIRECTMUSICSYNTH iface,LPDMUS_PORTPARAMS pPortParams); -extern HRESULT WINAPI IDirectMusicSynthImpl_Close (LPDIRECTMUSICSYNTH iface); -extern HRESULT WINAPI IDirectMusicSynthImpl_SetNumChannelGroups (LPDIRECTMUSICSYNTH iface, DWORD dwGroups); -extern HRESULT WINAPI IDirectMusicSynthImpl_Download (LPDIRECTMUSICSYNTH iface, LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree); -extern HRESULT WINAPI IDirectMusicSynthImpl_Unload (LPDIRECTMUSICSYNTH iface, HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData); -extern HRESULT WINAPI IDirectMusicSynthImpl_PlayBuffer (LPDIRECTMUSICSYNTH iface, REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer); -extern HRESULT WINAPI IDirectMusicSynthImpl_GetRunningStats (LPDIRECTMUSICSYNTH iface, LPDMUS_SYNTHSTATS pStats); -extern HRESULT WINAPI IDirectMusicSynthImpl_GetPortCaps (LPDIRECTMUSICSYNTH iface, LPDMUS_PORTCAPS pCaps); -extern HRESULT WINAPI IDirectMusicSynthImpl_SetMasterClock (LPDIRECTMUSICSYNTH iface, IReferenceClock* pClock); -extern HRESULT WINAPI IDirectMusicSynthImpl_GetLatencyClock (LPDIRECTMUSICSYNTH iface, IReferenceClock** ppClock); -extern HRESULT WINAPI IDirectMusicSynthImpl_Activate (LPDIRECTMUSICSYNTH iface, BOOL fEnable); -extern HRESULT WINAPI IDirectMusicSynthImpl_SetSynthSink (LPDIRECTMUSICSYNTH iface, IDirectMusicSynthSink* pSynthSink); -extern HRESULT WINAPI IDirectMusicSynthImpl_Render (LPDIRECTMUSICSYNTH iface, short* pBuffer, DWORD dwLength, LONGLONG llPosition); -extern HRESULT WINAPI IDirectMusicSynthImpl_SetChannelPriority (LPDIRECTMUSICSYNTH iface, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority); -extern HRESULT WINAPI IDirectMusicSynthImpl_GetChannelPriority (LPDIRECTMUSICSYNTH iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority); -extern HRESULT WINAPI IDirectMusicSynthImpl_GetFormat (LPDIRECTMUSICSYNTH iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz); -extern HRESULT WINAPI IDirectMusicSynthImpl_GetAppend (LPDIRECTMUSICSYNTH iface, DWORD* pdwAppend); - /***************************************************************************** * IDirectMusicSynth8Impl implementation structure */ @@ -556,6 +489,7 @@ extern HRESULT WINAPI IDirectMusicSynth8Impl_GetVoiceState (LPDIRECTMUSICSYNTH8 extern HRESULT WINAPI IDirectMusicSynth8Impl_Refresh (LPDIRECTMUSICSYNTH8 iface, DWORD dwDownloadID, DWORD dwFlags); extern HRESULT WINAPI IDirectMusicSynth8Impl_AssignChannelToBuses (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses); + /***************************************************************************** * IDirectMusicSynthSinkImpl implementation structure */ @@ -583,32 +517,6 @@ extern HRESULT WINAPI IDirectMusicSynthSinkImpl_SetDirectSound (LPDIRECTMUSICSYN extern HRESULT WINAPI IDirectMusicSynthSinkImpl_GetDesiredBufferSize (LPDIRECTMUSICSYNTHSINK iface, LPDWORD pdwBufferSizeInSamples); -/***************************************************************************** - * IDirectMusicToolImpl implementation structure - */ -struct IDirectMusicToolImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusicTool); - DWORD ref; - - /* IDirectMusicToolImpl fields */ - IDirectMusicToolImpl* prev; - IDirectMusicToolImpl* next; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicToolImpl_QueryInterface (LPDIRECTMUSICTOOL iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicToolImpl_AddRef (LPDIRECTMUSICTOOL iface); -extern ULONG WINAPI IDirectMusicToolImpl_Release (LPDIRECTMUSICTOOL iface); -/* IDirectMusicToolImpl: */ -extern HRESULT WINAPI IDirectMusicToolImpl_Init (LPDIRECTMUSICTOOL iface, IDirectMusicGraph* pGraph); -extern HRESULT WINAPI IDirectMusicToolImpl_GetMsgDeliveryType (LPDIRECTMUSICTOOL iface, DWORD* pdwDeliveryType); -extern HRESULT WINAPI IDirectMusicToolImpl_GetMediaTypeArraySize (LPDIRECTMUSICTOOL iface, DWORD* pdwNumElements); -extern HRESULT WINAPI IDirectMusicToolImpl_GetMediaTypes (LPDIRECTMUSICTOOL iface, DWORD** padwMediaTypes, DWORD dwNumElements); -extern HRESULT WINAPI IDirectMusicToolImpl_ProcessPMsg (LPDIRECTMUSICTOOL iface, IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG); -extern HRESULT WINAPI IDirectMusicToolImpl_Flush (LPDIRECTMUSICTOOL iface, IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG, REFERENCE_TIME rtTime); - /***************************************************************************** * IDirectMusicTool8Impl implementation structure */ @@ -619,8 +527,8 @@ struct IDirectMusicTool8Impl DWORD ref; /* IDirectMusicTool8Impl fields */ - IDirectMusicToolImpl* prev; - IDirectMusicToolImpl* next; + IDirectMusicTool8Impl* prev; + IDirectMusicTool8Impl* next; }; /* IUnknown: */ @@ -636,33 +544,7 @@ extern HRESULT WINAPI IDirectMusicTool8Impl_ProcessPMsg (LPDIRECTMUSICTOOL8 ifac extern HRESULT WINAPI IDirectMusicTool8Impl_Flush (LPDIRECTMUSICTOOL8 iface, IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG, REFERENCE_TIME rtTime); /* IDirectMusicToolImpl8: */ extern HRESULT WINAPI IDirectMusicTool8Impl_Clone (LPDIRECTMUSICTOOL8 iface, IDirectMusicTool** ppTool); -/***************************************************************************** - * IDirectMusicTrackImpl implementation structure - */ -struct IDirectMusicTrackImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusicTrack); - DWORD ref; - /* IDirectMusicTrackImpl fields */ -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicTrackImpl_QueryInterface (LPDIRECTMUSICTRACK iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicTrackImpl_AddRef (LPDIRECTMUSICTRACK iface); -extern ULONG WINAPI IDirectMusicTrackImpl_Release (LPDIRECTMUSICTRACK iface); -/* IDirectMusicTrack: */ -extern HRESULT WINAPI IDirectMusicTrackImpl_Init (LPDIRECTMUSICTRACK iface, IDirectMusicSegment* pSegment); -extern HRESULT WINAPI IDirectMusicTrackImpl_InitPlay (LPDIRECTMUSICTRACK iface, IDirectMusicSegmentState* pSegmentState, IDirectMusicPerformance* pPerformance, void** ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags); -extern HRESULT WINAPI IDirectMusicTrackImpl_EndPlay (LPDIRECTMUSICTRACK iface, void* pStateData); -extern 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); -extern HRESULT WINAPI IDirectMusicTrackImpl_GetParam (LPDIRECTMUSICTRACK iface, REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam); -extern HRESULT WINAPI IDirectMusicTrackImpl_SetParam (LPDIRECTMUSICTRACK iface, REFGUID rguidType, MUSIC_TIME mtTime, void* pParam); -extern HRESULT WINAPI IDirectMusicTrackImpl_IsParamSupported (LPDIRECTMUSICTRACK iface, REFGUID rguidType); -extern HRESULT WINAPI IDirectMusicTrackImpl_AddNotificationType (LPDIRECTMUSICTRACK iface, REFGUID rguidNotificationType); -extern HRESULT WINAPI IDirectMusicTrackImpl_RemoveNotificationType (LPDIRECTMUSICTRACK iface, REFGUID rguidNotificationType); -extern HRESULT WINAPI IDirectMusicTrackImpl_Clone (LPDIRECTMUSICTRACK iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack** ppTrack); /***************************************************************************** * IDirectMusicTrack8Impl implementation structure @@ -720,6 +602,7 @@ extern HRESULT WINAPI IDirectMusicBandImpl_CreateSegment (LPDIRECTMUSICBAND ifac extern HRESULT WINAPI IDirectMusicBandImpl_Download (LPDIRECTMUSICBAND iface, IDirectMusicPerformance* pPerformance); extern HRESULT WINAPI IDirectMusicBandImpl_Unload (LPDIRECTMUSICBAND iface, IDirectMusicPerformance* pPerformance); + /***************************************************************************** * IDirectMusicObjectImpl implementation structure */ @@ -742,33 +625,6 @@ extern HRESULT WINAPI IDirectMusicObjectImpl_GetDescriptor (LPDIRECTMUSICOBJECT extern HRESULT WINAPI IDirectMusicObjectImpl_SetDescriptor (LPDIRECTMUSICOBJECT iface, LPDMUS_OBJECTDESC pDesc); extern HRESULT WINAPI IDirectMusicObjectImpl_ParseDescriptor (LPDIRECTMUSICOBJECT iface, LPSTREAM pStream, LPDMUS_OBJECTDESC pDesc); -/***************************************************************************** - * IDirectMusicLoaderImpl implementation structure - */ -struct IDirectMusicLoaderImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusicLoader); - DWORD ref; - - /* IDirectMusicLoaderImpl fields */ - WCHAR searchPath[MAX_PATH]; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicLoaderImpl_QueryInterface (LPDIRECTMUSICLOADER iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicLoaderImpl_AddRef (LPDIRECTMUSICLOADER iface); -extern ULONG WINAPI IDirectMusicLoaderImpl_Release (LPDIRECTMUSICLOADER iface); -/* IDirectMusicLoader: */ -extern HRESULT WINAPI IDirectMusicLoaderImpl_GetObject (LPDIRECTMUSICLOADER iface, LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID*ppv); -extern HRESULT WINAPI IDirectMusicLoaderImpl_SetObject (LPDIRECTMUSICLOADER iface, LPDMUS_OBJECTDESC pDesc); -extern HRESULT WINAPI IDirectMusicLoaderImpl_SetSearchDirectory (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, WCHAR* pwzPath, BOOL fClear); -extern HRESULT WINAPI IDirectMusicLoaderImpl_ScanDirectory (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, WCHAR* pwzFileExtension, WCHAR* pwzScanFileName); -extern HRESULT WINAPI IDirectMusicLoaderImpl_CacheObject (LPDIRECTMUSICLOADER iface, IDirectMusicObject* pObject); -extern HRESULT WINAPI IDirectMusicLoaderImpl_ReleaseObject (LPDIRECTMUSICLOADER iface, IDirectMusicObject* pObject); -extern HRESULT WINAPI IDirectMusicLoaderImpl_ClearCache (LPDIRECTMUSICLOADER iface, REFGUID rguidClass); -extern HRESULT WINAPI IDirectMusicLoaderImpl_EnableCache (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, BOOL fEnable); -extern HRESULT WINAPI IDirectMusicLoaderImpl_EnumObject (LPDIRECTMUSICLOADER iface, REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc); /***************************************************************************** * IDirectMusicLoader8Impl implementation structure @@ -799,12 +655,13 @@ extern HRESULT WINAPI IDirectMusicLoader8Impl_ClearCache (LPDIRECTMUSICLOADER8 i extern HRESULT WINAPI IDirectMusicLoader8Impl_EnableCache (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass, BOOL fEnable); extern HRESULT WINAPI IDirectMusicLoader8Impl_EnumObject (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc); /* IDirectMusicLoader8: */ -extern void WINAPI IDirectMusicLoader8Impl_CollectGarbage (LPDIRECTMUSICLOADER8 iface); +extern void WINAPI IDirectMusicLoader8Impl_CollectGarbage (LPDIRECTMUSICLOADER8 iface); extern HRESULT WINAPI IDirectMusicLoader8Impl_ReleaseObjectByUnknown (LPDIRECTMUSICLOADER8 iface, IUnknown* pObject); extern HRESULT WINAPI IDirectMusicLoader8Impl_LoadObjectFromFile (LPDIRECTMUSICLOADER8 iface, REFGUID rguidClassID, REFIID iidInterfaceID, WCHAR* pwzFilePath, void** ppObject); /* ClassFactory */ extern HRESULT WINAPI DMUSIC_CreateDirectMusicLoader8 (LPCGUID lpcGUID, LPDIRECTMUSICLOADER8 *ppDMLoad8, LPUNKNOWN pUnkOuter); + /***************************************************************************** * IDirectMusicGetLoaderImpl implementation structure */ @@ -824,46 +681,6 @@ extern ULONG WINAPI IDirectMusicGetLoaderImpl_Release (LPDIRECTMUSICGETLOADER /* IDirectMusicGetLoader: */ extern HRESULT WINAPI IDirectMusicGetLoaderImpl_GetLoader (LPDIRECTMUSICGETLOADER iface, IDirectMusicLoader** ppLoader); -/***************************************************************************** - * IDirectMusicSegmentImpl implementation structure - */ -struct IDirectMusicSegmentImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusicSegment); - DWORD ref; - - /* IDirectMusicSegmentImpl fields */ -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicSegmentImpl_QueryInterface (LPDIRECTMUSICSEGMENT iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicSegmentImpl_AddRef (LPDIRECTMUSICSEGMENT iface); -extern ULONG WINAPI IDirectMusicSegmentImpl_Release (LPDIRECTMUSICSEGMENT iface); -/* IDirectMusicSegment: */ -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetLength (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtLength); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetLength (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtLength); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetRepeats (LPDIRECTMUSICSEGMENT iface, DWORD* pdwRepeats); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetRepeats (LPDIRECTMUSICSEGMENT iface, DWORD dwRepeats); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetDefaultResolution (LPDIRECTMUSICSEGMENT iface, DWORD* pdwResolution); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetDefaultResolution (LPDIRECTMUSICSEGMENT iface, DWORD dwResolution); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetTrack (LPDIRECTMUSICSEGMENT iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, IDirectMusicTrack** ppTrack); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetTrackGroup (LPDIRECTMUSICSEGMENT iface, IDirectMusicTrack* pTrack, DWORD* pdwGroupBits); -extern HRESULT WINAPI IDirectMusicSegmentImpl_InsertTrack (LPDIRECTMUSICSEGMENT iface, IDirectMusicTrack* pTrack, DWORD dwGroupBits); -extern HRESULT WINAPI IDirectMusicSegmentImpl_RemoveTrack (LPDIRECTMUSICSEGMENT iface, IDirectMusicTrack* pTrack); -extern HRESULT WINAPI IDirectMusicSegmentImpl_InitPlay (LPDIRECTMUSICSEGMENT iface, IDirectMusicSegmentState** ppSegState, IDirectMusicPerformance* pPerformance, DWORD dwFlags); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetGraph (LPDIRECTMUSICSEGMENT iface, IDirectMusicGraph** ppGraph); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetGraph (LPDIRECTMUSICSEGMENT iface, IDirectMusicGraph* pGraph); -extern HRESULT WINAPI IDirectMusicSegmentImpl_AddNotificationType (LPDIRECTMUSICSEGMENT iface, REFGUID rguidNotificationType); -extern HRESULT WINAPI IDirectMusicSegmentImpl_RemoveNotificationType (LPDIRECTMUSICSEGMENT iface, REFGUID rguidNotificationType); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetParam (LPDIRECTMUSICSEGMENT iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetParam (LPDIRECTMUSICSEGMENT iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam); -extern HRESULT WINAPI IDirectMusicSegmentImpl_Clone (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicSegment** ppSegment); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetStartPoint (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtStart); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetStartPoint (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtStart); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetLoopPoints (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd); -extern HRESULT WINAPI IDirectMusicSegmentImpl_GetLoopPoints (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtStart, MUSIC_TIME* pmtEnd); -extern HRESULT WINAPI IDirectMusicSegmentImpl_SetPChannelsUsed (LPDIRECTMUSICSEGMENT iface, DWORD dwNumPChannels, DWORD* paPChannels); /***************************************************************************** * IDirectMusicSegment8Impl implementation structure @@ -971,10 +788,10 @@ struct IDirectMusicAudioPathImpl DWORD ref; /* IDirectMusicAudioPathImpl fields */ - IDirectMusicPerformance* perfo; - IDirectMusicGraph* toolGraph; - IDirectSoundBuffer* buffer; - IDirectSoundBuffer* primary; + IDirectMusicPerformance8* perfo; + IDirectMusicGraph* toolGraph; + IDirectSoundBuffer* buffer; + IDirectSoundBuffer* primary; }; /* IUnknown: */ @@ -988,77 +805,8 @@ extern HRESULT WINAPI IDirectMusicAudioPathImpl_SetVolume (LPDIRECTMUSICAUDIOPAT extern HRESULT WINAPI IDirectMusicAudioPathImpl_ConvertPChannel (LPDIRECTMUSICAUDIOPATH iface, DWORD dwPChannelIn, DWORD* pdwPChannelOut); /***************************************************************************** - * IDirectMusicPerformanceImpl implementation structure + * ClassFactory */ -struct IDirectMusicPerformanceImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusicPerformance); - DWORD ref; - - /* IDirectMusicPerformanceImpl fields */ - IDirectMusic* dmusic; - IDirectSound* dsound; - IDirectMusicGraph* toolGraph; - DMUS_AUDIOPARAMS params; - - /* global parameters */ - BOOL AutoDownload; - char MasterGrooveLevel; - float MasterTempo; - long MasterVolume; - - /* performance channels */ - DMUSIC_PRIVATE_PCHANNEL PChannel[1]; -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicPerformanceImpl_QueryInterface (LPDIRECTMUSICPERFORMANCE iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicPerformanceImpl_AddRef (LPDIRECTMUSICPERFORMANCE iface); -extern ULONG WINAPI IDirectMusicPerformanceImpl_Release (LPDIRECTMUSICPERFORMANCE iface); -/* IDirectMusicPerformance: */ -extern HRESULT WINAPI IDirectMusicPerformanceImpl_Init (LPDIRECTMUSICPERFORMANCE iface, IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_PlaySegment (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_Stop (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetSegmentState (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegmentState** ppSegmentState, MUSIC_TIME mtTime); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_SetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_SendPMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_PMSG* pPMSG); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, REFERENCE_TIME* prtTime); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtTime, MUSIC_TIME* pmtTime); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_IsPlaying (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegState); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtNow, MUSIC_TIME* pmtNow); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_AllocPMsg (LPDIRECTMUSICPERFORMANCE iface, ULONG cb, DMUS_PMSG** ppPMSG); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_FreePMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_PMSG* pPMSG); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph** ppGraph); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_SetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph* pGraph); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE iface, HANDLE hNotification, REFERENCE_TIME rtMinimum); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_NOTIFICATION_PMSG** ppNotificationPMsg); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_AddNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_AddPort (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicPort* pPort); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_RemovePort (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicPort* pPort); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE iface, DWORD dwBlockNum, IDirectMusicPort* pPort, DWORD dwGroup); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_AssignPChannel (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, IDirectMusicPort* pPort, DWORD dwGroup, DWORD dwMChannel); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_PChannelInfo (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicInstrument* pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument** ppDownInst, DMUS_NOTERANGE* pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_Invalidate (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, DWORD dwFlags); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_SetParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, void* pParam, DWORD dwSize); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, void* pParam, DWORD dwSize); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetQueueTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_AdjustTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtAmount); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_CloseDown (LPDIRECTMUSICPERFORMANCE iface); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtTime, REFERENCE_TIME* prtResolved, DWORD dwTimeResolveFlags); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE iface, BYTE bMIDIValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, WORD* pwMusicValue); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE iface, WORD wMusicValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE* pbMIDIValue); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, DMUS_TIMESIGNATURE* pTimeSig, WORD* pwMeasure, BYTE* pbBeat, BYTE* pbGrid, short* pnOffset); -extern HRESULT WINAPI IDirectMusicPerformanceImpl_RhythmToTime (LPDIRECTMUSICPERFORMANCE iface, WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE* pTimeSig, MUSIC_TIME* pmtTime); -/* ClassFactory */ extern HRESULT WINAPI DMUSIC_CreateDirectMusicPerformance (LPCGUID lpcGUID, LPDIRECTMUSICPERFORMANCE *ppDMPerf, LPUNKNOWN pUnkOuter); /***************************************************************************** @@ -1071,7 +819,7 @@ struct IDirectMusicPerformance8Impl DWORD ref; /* IDirectMusicPerformanceImpl fields */ - IDirectMusic* dmusic; + IDirectMusic8* dmusic; IDirectSound* dsound; IDirectMusicGraph* toolGraph; DMUS_AUDIOPARAMS params; @@ -1158,8 +906,8 @@ struct IDirectMusicGraphImpl DWORD ref; /* IDirectMusicGraphImpl fields */ - IDirectMusicToolImpl* first; - IDirectMusicToolImpl* last; + IDirectMusicTool8Impl* first; + IDirectMusicTool8Impl* last; WORD num_tools; }; @@ -1173,35 +921,6 @@ extern HRESULT WINAPI IDirectMusicGraphImpl_InsertTool (LPDIRECTMUSICGRAPH iface extern HRESULT WINAPI IDirectMusicGraphImpl_GetTool (LPDIRECTMUSICGRAPH iface, DWORD dwIndex, IDirectMusicTool** ppTool); extern HRESULT WINAPI IDirectMusicGraphImpl_RemoveTool (LPDIRECTMUSICGRAPH iface, IDirectMusicTool* pTool); -/***************************************************************************** - * IDirectMusicStyleImpl implementation structure - */ -struct IDirectMusicStyleImpl -{ - /* IUnknown fields */ - ICOM_VFIELD(IDirectMusicStyle); - DWORD ref; - - /* IDirectMusicStyleImpl fields */ -}; - -/* IUnknown: */ -extern HRESULT WINAPI IDirectMusicStyleImpl_QueryInterface (LPDIRECTMUSICSTYLE iface, REFIID riid, LPVOID *ppobj); -extern ULONG WINAPI IDirectMusicStyleImpl_AddRef (LPDIRECTMUSICSTYLE iface); -extern ULONG WINAPI IDirectMusicStyleImpl_Release (LPDIRECTMUSICSTYLE iface); -/* IDirectMusicStyle: */ -extern HRESULT WINAPI IDirectMusicStyleImpl_GetBand (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicBand** ppBand); -extern HRESULT WINAPI IDirectMusicStyleImpl_EnumBand (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName); -extern HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultBand (LPDIRECTMUSICSTYLE iface, IDirectMusicBand** ppBand); -extern HRESULT WINAPI IDirectMusicStyleImpl_EnumMotif (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName); -extern HRESULT WINAPI IDirectMusicStyleImpl_GetMotif (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicSegment** ppSegment); -extern HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultChordMap (LPDIRECTMUSICSTYLE iface, IDirectMusicChordMap** ppChordMap); -extern HRESULT WINAPI IDirectMusicStyleImpl_EnumChordMap (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName); -extern HRESULT WINAPI IDirectMusicStyleImpl_GetChordMap (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicChordMap** ppChordMap); -extern HRESULT WINAPI IDirectMusicStyleImpl_GetTimeSignature (LPDIRECTMUSICSTYLE iface, DMUS_TIMESIGNATURE* pTimeSig); -extern HRESULT WINAPI IDirectMusicStyleImpl_GetEmbellishmentLength (LPDIRECTMUSICSTYLE iface, DWORD dwType, DWORD dwLevel, DWORD* pdwMin, DWORD* pdwMax); -extern HRESULT WINAPI IDirectMusicStyleImpl_GetTempo (LPDIRECTMUSICSTYLE iface, double* pTempo); - /***************************************************************************** * IDirectMusicStyle8Impl implementation structure */ @@ -1233,6 +952,7 @@ extern HRESULT WINAPI IDirectMusicStyle8Impl_GetTempo (LPDIRECTMUSICSTYLE8 iface /* IDirectMusicStyle8: */ extern HRESULT WINAPI IDirectMusicStyle8ImplEnumPattern (LPDIRECTMUSICSTYLE8 iface, DWORD dwIndex, DWORD dwPatternType, WCHAR* pwszName); + /***************************************************************************** * IDirectMusicChordMapImpl implementation structure */ @@ -1252,6 +972,7 @@ extern ULONG WINAPI IDirectMusicChordMapImpl_Release (LPDIRECTMUSICCHORDMAP if /* IDirectMusicChordMap: */ extern HRESULT WINAPI IDirectMusicChordMapImpl_GetScale (LPDIRECTMUSICCHORDMAP iface, DWORD* pdwScale); + /***************************************************************************** * IDirectMusicComposerImpl implementation structure */ @@ -1297,6 +1018,7 @@ extern HRESULT WINAPI IDirectMusicPatternTrackImpl_CreateSegment (LPDIRECTMUSICP extern HRESULT WINAPI IDirectMusicPatternTrackImpl_SetVariation (LPDIRECTMUSICPATTERNTRACK iface, IDirectMusicSegmentState* pSegState, DWORD dwVariationFlags, DWORD dwPart); extern HRESULT WINAPI IDirectMusicPatternTrackImpl_SetPatternByName (LPDIRECTMUSICPATTERNTRACK iface, IDirectMusicSegmentState* pSegState, WCHAR* wszName, IDirectMusicStyle* pStyle, DWORD dwPatternType, DWORD* pdwLength); + /***************************************************************************** * IDirectMusicScriptImpl implementation structure */ @@ -1325,6 +1047,7 @@ extern HRESULT WINAPI IDirectMusicScriptImpl_GetVariableObject (LPDIRECTMUSICSCR extern HRESULT WINAPI IDirectMusicScriptImpl_EnumRoutine (LPDIRECTMUSICSCRIPT iface, DWORD dwIndex, WCHAR* pwszName); extern HRESULT WINAPI IDirectMusicScriptImpl_EnumVariable (LPDIRECTMUSICSCRIPT iface, DWORD dwIndex, WCHAR* pwszName); + /***************************************************************************** * IDirectMusicContainerImpl implementation structure */ @@ -1344,6 +1067,7 @@ extern ULONG WINAPI IDirectMusicContainerImpl_Release (LPDIRECTMUSICCONTAINER /* IDirectMusicContainer: */ extern HRESULT WINAPI IDirectMusicContainerImpl_EnumObject (LPDIRECTMUSICCONTAINER iface, REFGUID rguidClass, DWORD dwIndex, LPDMUS_OBJECTDESC pDesc, WCHAR* pwszAlias); + /***************************************************************************** * IDirectMusicSongImpl implementation structure */ @@ -1369,13 +1093,14 @@ extern HRESULT WINAPI IDirectMusicSongImpl_Download (LPDIRECTMUSICSONG iface, IU extern HRESULT WINAPI IDirectMusicSongImpl_Unload (LPDIRECTMUSICSONG iface, IUnknown* pAudioPath); extern HRESULT WINAPI IDirectMusicSongImpl_EnumSegment (LPDIRECTMUSICSONG iface, DWORD dwIndex, IDirectMusicSegment** ppSegment); + /***************************************************************************** * Helper Functions */ void register_waveport (LPGUID lpGUID, LPCSTR lpszDesc, LPCSTR lpszDrvName, LPVOID lpContext); /* Loader Helper Functions */ -HRESULT WINAPI DMUSIC_FillSegmentFromFileHandle (IDirectMusicSegmentImpl *segment, HANDLE fd); -HRESULT WINAPI DMUSIC_FillTrackFromFileHandle (IDirectMusicTrackImpl *segment, HANDLE fd); +HRESULT WINAPI DMUSIC_FillSegmentFromFileHandle (IDirectMusicSegment8Impl *segment, HANDLE fd); +HRESULT WINAPI DMUSIC_FillTrackFromFileHandle (IDirectMusicTrack8Impl *segment, HANDLE fd); HRESULT WINAPI DMUSIC_FillReferenceFromFileHandle (Reference reference, HANDLE fd); HRESULT WINAPI DMUSIC_FillUNFOFromFileHandle (UNFO_List UNFO, HANDLE fd); HRESULT WINAPI DMUSIC_FillBandFromFileHandle (IDirectMusicBandImpl *band, HANDLE fd); diff --git a/dlls/dmusic/dmusic_segment.c b/dlls/dmusic/dmusic_segment.c index de649f14a5b..76364673a3b 100644 --- a/dlls/dmusic/dmusic_segment.c +++ b/dlls/dmusic/dmusic_segment.c @@ -31,279 +31,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); -/* IDirectMusicSegment IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicSegmentImpl_QueryInterface (LPDIRECTMUSICSEGMENT iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSegment)) - { - IDirectMusicSegmentImpl_AddRef(iface); - *ppobj = This; - return S_OK; - } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); - return E_NOINTERFACE; -} - -ULONG WINAPI IDirectMusicSegmentImpl_AddRef (LPDIRECTMUSICSEGMENT iface) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicSegmentImpl_Release (LPDIRECTMUSICSEGMENT iface) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusicSegment Interface follow: */ -HRESULT WINAPI IDirectMusicSegmentImpl_GetLength (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtLength) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %p): stub\n", This, pmtLength); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_SetLength (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME mtLength) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %ld): stub\n", This, mtLength); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_GetRepeats (LPDIRECTMUSICSEGMENT iface, DWORD* pdwRepeats) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %p): stub\n", This, pdwRepeats); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_SetRepeats (LPDIRECTMUSICSEGMENT iface, DWORD dwRepeats) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %ld): stub\n", This, dwRepeats); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_GetDefaultResolution (LPDIRECTMUSICSEGMENT iface, DWORD* pdwResolution) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %p): stub\n", This, pdwResolution); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_SetDefaultResolution (LPDIRECTMUSICSEGMENT iface, DWORD dwResolution) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %p, %ld): stub\n", This, pTrack, dwGroupBits); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_RemoveTrack (LPDIRECTMUSICSEGMENT iface, IDirectMusicTrack* pTrack) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %p): stub\n", This, ppGraph); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_SetGraph (LPDIRECTMUSICSEGMENT iface, IDirectMusicGraph* pGraph) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %p): stub\n", This, pGraph); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_AddNotificationType (LPDIRECTMUSICSEGMENT iface, REFGUID rguidNotificationType) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %s): stub\n", This, debugstr_guid(rguidNotificationType)); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_RemoveNotificationType (LPDIRECTMUSICSEGMENT iface, REFGUID rguidNotificationType) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %ld): stub\n", This, mtStart); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentImpl_GetStartPoint (LPDIRECTMUSICSEGMENT iface, MUSIC_TIME* pmtStart) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicSegmentImpl,iface); - - FIXME("(%p, %ld, %p): stub\n", This, dwNumPChannels, paPChannels); - - return S_OK; -} - -ICOM_VTABLE(IDirectMusicSegment) DirectMusicSegment_Vtbl = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicSegmentImpl_QueryInterface, - IDirectMusicSegmentImpl_AddRef, - IDirectMusicSegmentImpl_Release, - IDirectMusicSegmentImpl_GetLength, - IDirectMusicSegmentImpl_SetLength, - IDirectMusicSegmentImpl_GetRepeats, - IDirectMusicSegmentImpl_SetRepeats, - IDirectMusicSegmentImpl_GetDefaultResolution, - IDirectMusicSegmentImpl_SetDefaultResolution, - IDirectMusicSegmentImpl_GetTrack, - IDirectMusicSegmentImpl_GetTrackGroup, - IDirectMusicSegmentImpl_InsertTrack, - IDirectMusicSegmentImpl_RemoveTrack, - IDirectMusicSegmentImpl_InitPlay, - IDirectMusicSegmentImpl_GetGraph, - IDirectMusicSegmentImpl_SetGraph, - IDirectMusicSegmentImpl_AddNotificationType, - IDirectMusicSegmentImpl_RemoveNotificationType, - IDirectMusicSegmentImpl_GetParam, - IDirectMusicSegmentImpl_SetParam, - IDirectMusicSegmentImpl_Clone, - IDirectMusicSegmentImpl_SetStartPoint, - IDirectMusicSegmentImpl_GetStartPoint, - IDirectMusicSegmentImpl_SetLoopPoints, - IDirectMusicSegmentImpl_GetLoopPoints, - IDirectMusicSegmentImpl_SetPChannelsUsed -}; - /* IDirectMusicSegment8 IUnknown parts follow: */ HRESULT WINAPI IDirectMusicSegment8Impl_QueryInterface (LPDIRECTMUSICSEGMENT8 iface, REFIID riid, LPVOID *ppobj) @@ -318,7 +45,7 @@ HRESULT WINAPI IDirectMusicSegment8Impl_QueryInterface (LPDIRECTMUSICSEGMENT8 if *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -632,100 +359,7 @@ ICOM_VTABLE(IDirectMusicSegment8) DirectMusicSegment8_Vtbl = }; -/* IDirectMusicSegmentState IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicSegmentStateImpl_QueryInterface (LPDIRECTMUSICSEGMENTSTATE iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSegmentState)) - { - IDirectMusicSegmentStateImpl_AddRef(iface); - *ppobj = This; - return S_OK; - } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); - return E_NOINTERFACE; -} - -ULONG WINAPI IDirectMusicSegmentStateImpl_AddRef (LPDIRECTMUSICSEGMENTSTATE iface) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicSegmentStateImpl_Release (LPDIRECTMUSICSEGMENTSTATE iface) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusicSegmentState Interface follow: */ -HRESULT WINAPI IDirectMusicSegmentStateImpl_GetRepeats (LPDIRECTMUSICSEGMENTSTATE iface, DWORD* pdwRepeats) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - - FIXME("(%p, %p): stub\n", This, pdwRepeats); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentStateImpl_GetSegment (LPDIRECTMUSICSEGMENTSTATE iface, IDirectMusicSegment** ppSegment) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - - FIXME("(%p, %p): stub\n", This, ppSegment); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentStateImpl_GetStartTime (LPDIRECTMUSICSEGMENTSTATE iface, MUSIC_TIME* pmtStart) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - - FIXME("(%p, %p): stub\n", This, pmtStart); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentStateImpl_GetSeek (LPDIRECTMUSICSEGMENTSTATE iface, MUSIC_TIME* pmtSeek) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - - FIXME("(%p, %p): stub\n", This, pmtSeek); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSegmentStateImpl_GetStartPoint (LPDIRECTMUSICSEGMENTSTATE iface, MUSIC_TIME* pmtStart) -{ - ICOM_THIS(IDirectMusicSegmentStateImpl,iface); - - FIXME("(%p, %p): stub\n", This, pmtStart); - - return S_OK; -} - -ICOM_VTABLE(IDirectMusicSegmentState) DirectMusicSegmentState_Vtbl = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicSegmentStateImpl_QueryInterface, - IDirectMusicSegmentStateImpl_AddRef, - IDirectMusicSegmentStateImpl_Release, - IDirectMusicSegmentStateImpl_GetRepeats, - IDirectMusicSegmentStateImpl_GetSegment, - IDirectMusicSegmentStateImpl_GetStartTime, - IDirectMusicSegmentStateImpl_GetSeek, - IDirectMusicSegmentStateImpl_GetStartPoint -}; - -/* IDirectMusicSegmentState8 IUnknown parts follow: */ +/* IDirectMusicSegmentState8 IUnknown part follow: */ HRESULT WINAPI IDirectMusicSegmentState8Impl_QueryInterface (LPDIRECTMUSICSEGMENTSTATE8 iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IDirectMusicSegmentState8Impl,iface); @@ -847,13 +481,14 @@ HRESULT WINAPI IDirectMusicPatternTrackImpl_QueryInterface (LPDIRECTMUSICPATTERN { ICOM_THIS(IDirectMusicPatternTrackImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicPatternTrack)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicPatternTrack)) { IDirectMusicPatternTrackImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } diff --git a/dlls/dmusic/dmusic_style.c b/dlls/dmusic/dmusic_style.c index 135e93335ef..ec16b3a1e5a 100644 --- a/dlls/dmusic/dmusic_style.c +++ b/dlls/dmusic/dmusic_style.c @@ -28,172 +28,21 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); -/* IDirectMusicStyle IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicStyleImpl_QueryInterface (LPDIRECTMUSICSTYLE iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicStyle)) - { - IDirectMusicStyleImpl_AddRef(iface); - *ppobj = This; - return S_OK; - } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); - return E_NOINTERFACE; -} - -ULONG WINAPI IDirectMusicStyleImpl_AddRef (LPDIRECTMUSICSTYLE iface) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicStyleImpl_Release (LPDIRECTMUSICSTYLE iface) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusicStyle Interface follow: */ -HRESULT WINAPI IDirectMusicStyleImpl_GetBand (LPDIRECTMUSICSTYLE iface, WCHAR* pwszName, IDirectMusicBand** ppBand) -{ - 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) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - - FIXME("(%p, %ld, %p): stub\n", This, dwIndex, pwszName); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultBand (LPDIRECTMUSICSTYLE iface, IDirectMusicBand** ppBand) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - - FIXME("(%p, %p): stub\n", This, ppBand); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicStyleImpl_EnumMotif (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName) -{ - 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) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - - FIXME("(%p, %p, %p): stub\n", This, pwszName, ppSegment); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicStyleImpl_GetDefaultChordMap (LPDIRECTMUSICSTYLE iface, IDirectMusicChordMap** ppChordMap) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - - FIXME("(%p, %p): stub\n", This, ppChordMap); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicStyleImpl_EnumChordMap (LPDIRECTMUSICSTYLE iface, DWORD dwIndex, WCHAR* pwszName) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicStyleImpl,iface); - - FIXME("(%p, %p): stub\n", This, pTempo); - - return S_OK; -} - -ICOM_VTABLE(IDirectMusicStyle) DirectMusicStyle_Vtbl = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicStyleImpl_QueryInterface, - IDirectMusicStyleImpl_AddRef, - IDirectMusicStyleImpl_Release, - IDirectMusicStyleImpl_GetBand, - IDirectMusicStyleImpl_EnumBand, - IDirectMusicStyleImpl_GetDefaultBand, - IDirectMusicStyleImpl_EnumMotif, - IDirectMusicStyleImpl_GetMotif, - IDirectMusicStyleImpl_GetDefaultChordMap, - IDirectMusicStyleImpl_EnumChordMap, - IDirectMusicStyleImpl_GetChordMap, - IDirectMusicStyleImpl_GetTimeSignature, - IDirectMusicStyleImpl_GetEmbellishmentLength, - IDirectMusicStyleImpl_GetTempo -}; - /* IDirectMusicStyle8 IUnknown parts follow: */ HRESULT WINAPI IDirectMusicStyle8Impl_QueryInterface (LPDIRECTMUSICSTYLE8 iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IDirectMusicStyle8Impl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicStyle8)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicStyle) || + IsEqualGUID(riid, &IID_IDirectMusicStyle8)) { IDirectMusicStyle8Impl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } diff --git a/dlls/dmusic/dmusic_synth.c b/dlls/dmusic/dmusic_synth.c index 94ad6cd17e1..713952dbe5c 100644 --- a/dlls/dmusic/dmusic_synth.c +++ b/dlls/dmusic/dmusic_synth.c @@ -29,232 +29,20 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmusic); -/* IDirectMusicSynth IUnknown parts follow: */ -HRESULT WINAPI IDirectMusicSynthImpl_QueryInterface (LPDIRECTMUSICSYNTH iface, REFIID riid, LPVOID *ppobj) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSynth)) - { - IDirectMusicSynthImpl_AddRef(iface); - *ppobj = This; - return S_OK; - } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); - return E_NOINTERFACE; -} - -ULONG WINAPI IDirectMusicSynthImpl_AddRef (LPDIRECTMUSICSYNTH iface) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - TRACE("(%p) : AddRef from %ld\n", This, This->ref); - return ++(This->ref); -} - -ULONG WINAPI IDirectMusicSynthImpl_Release (LPDIRECTMUSICSYNTH iface) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - ULONG ref = --This->ref; - TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref); - if (ref == 0) - { - HeapFree(GetProcessHeap(), 0, This); - } - return ref; -} - -/* IDirectMusicSynth Interface follow: */ -HRESULT WINAPI IDirectMusicSynthImpl_Open (LPDIRECTMUSICSYNTH iface, LPDMUS_PORTPARAMS pPortParams) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %p): stub\n", This, pPortParams); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_Close (LPDIRECTMUSICSYNTH iface) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p): stub\n", This); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_SetNumChannelGroups (LPDIRECTMUSICSYNTH iface, DWORD dwGroups) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %p): stub\n", This, pStats); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_GetPortCaps (LPDIRECTMUSICSYNTH iface, LPDMUS_PORTCAPS pCaps) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %p): stub\n", This, pCaps); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_SetMasterClock (LPDIRECTMUSICSYNTH iface, IReferenceClock* pClock) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %p): stub\n", This, pClock); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_GetLatencyClock (LPDIRECTMUSICSYNTH iface, IReferenceClock** ppClock) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %p): stub\n", This, ppClock); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_Activate (LPDIRECTMUSICSYNTH iface, BOOL fEnable) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %d): stub\n", This, fEnable); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_SetSynthSink (LPDIRECTMUSICSYNTH iface, IDirectMusicSynthSink* pSynthSink) -{ - 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) -{ - 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) -{ - 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) -{ - 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) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %p, %p): stub\n", This, pWaveFormatEx, pdwWaveFormatExSiz); - - return S_OK; -} - -HRESULT WINAPI IDirectMusicSynthImpl_GetAppend (LPDIRECTMUSICSYNTH iface, DWORD* pdwAppend) -{ - ICOM_THIS(IDirectMusicSynthImpl,iface); - - FIXME("(%p, %p): stub\n", This, pdwAppend); - - return S_OK; -} - -ICOM_VTABLE(IDirectMusicSynth) DirectMusicSynth_Vtbl = -{ - ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE - IDirectMusicSynthImpl_QueryInterface, - IDirectMusicSynthImpl_AddRef, - IDirectMusicSynthImpl_Release, - IDirectMusicSynthImpl_Open, - IDirectMusicSynthImpl_Close, - IDirectMusicSynthImpl_SetNumChannelGroups, - IDirectMusicSynthImpl_Download, - IDirectMusicSynthImpl_Unload, - IDirectMusicSynthImpl_PlayBuffer, - IDirectMusicSynthImpl_GetRunningStats, - IDirectMusicSynthImpl_GetPortCaps, - IDirectMusicSynthImpl_SetMasterClock, - IDirectMusicSynthImpl_GetLatencyClock, - IDirectMusicSynthImpl_Activate, - IDirectMusicSynthImpl_SetSynthSink, - IDirectMusicSynthImpl_Render, - IDirectMusicSynthImpl_SetChannelPriority, - IDirectMusicSynthImpl_GetChannelPriority, - IDirectMusicSynthImpl_GetFormat, - IDirectMusicSynthImpl_GetAppend -}; - - /* IDirectMusicSynth8 IUnknown parts follow: */ HRESULT WINAPI IDirectMusicSynth8Impl_QueryInterface (LPDIRECTMUSICSYNTH8 iface, REFIID riid, LPVOID *ppobj) { ICOM_THIS(IDirectMusicSynth8Impl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSynth8)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicSynth) || + IsEqualGUID(riid, &IID_IDirectMusicSynth8)) { IDirectMusicSynth8Impl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } @@ -513,13 +301,14 @@ HRESULT WINAPI IDirectMusicSynthSinkImpl_QueryInterface (LPDIRECTMUSICSYNTHSINK { ICOM_THIS(IDirectMusicSynthSinkImpl,iface); - if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSynthSink)) + if (IsEqualGUID(riid, &IID_IUnknown) || + IsEqualGUID(riid, &IID_IDirectMusicSynthSink)) { IDirectMusicSynthSinkImpl_AddRef(iface); *ppobj = This; return S_OK; } - WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj); + WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj); return E_NOINTERFACE; } diff --git a/dlls/dmusic/helper.c b/dlls/dmusic/helper.c index 683edb00825..245b2d3d8ab 100644 --- a/dlls/dmusic/helper.c +++ b/dlls/dmusic/helper.c @@ -303,7 +303,7 @@ HRESULT WINAPI DMUSIC_FillBandFromFileHandle (IDirectMusicBandImpl *band, HANDLE * implement loading for missing (empty) clauses * fix a problem with tempo track loading (look at code) */ -HRESULT WINAPI DMUSIC_FillTrackFromFileHandle (IDirectMusicTrackImpl *segment, HANDLE fd) +HRESULT WINAPI DMUSIC_FillTrackFromFileHandle (IDirectMusicTrack8Impl *segment, HANDLE fd) { rawChunk chunk; DWORD BytesRead, ListCount = 0, ListCount2 = 0, ListSize, ListSize2, FileCount = 0, FileSize, FileCount2 = 0, FileSize2 /* *2s are for various subchunks */; @@ -642,7 +642,7 @@ HRESULT WINAPI DMUSIC_FillTrackFromFileHandle (IDirectMusicTrackImpl *segment, H return S_OK; } -HRESULT WINAPI DMUSIC_FillSegmentFromFileHandle (IDirectMusicSegmentImpl *segment, HANDLE fd) +HRESULT WINAPI DMUSIC_FillSegmentFromFileHandle (IDirectMusicSegment8Impl *segment, HANDLE fd) { rawChunk chunk; DWORD BytesRead, ListCount = 0, ListSize, FileCount = 0, FileSize;