1 /* IDirectMusicSynth Implementation
2 * IDirectMusicSynth8 Implementation
3 * IDirectMusicSynthSink Implementation
5 * Copyright (C) 2003 Rok Mandeljc
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Library General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26 #include "wine/debug.h"
28 #include "dmusic_private.h"
30 WINE_DEFAULT_DEBUG_CHANNEL(dmusic
);
32 /* IDirectMusicSynth IUnknown parts follow: */
33 HRESULT WINAPI
IDirectMusicSynthImpl_QueryInterface (LPDIRECTMUSICSYNTH iface
, REFIID riid
, LPVOID
*ppobj
)
35 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
37 if (IsEqualGUID(riid
, &IID_IUnknown
) || IsEqualGUID(riid
, &IID_IDirectMusicSynth
))
39 IDirectMusicSynthImpl_AddRef(iface
);
43 WARN("(%p)->(%s,%p),not found\n",This
,debugstr_guid(riid
),ppobj
);
47 ULONG WINAPI
IDirectMusicSynthImpl_AddRef (LPDIRECTMUSICSYNTH iface
)
49 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
50 TRACE("(%p) : AddRef from %ld\n", This
, This
->ref
);
54 ULONG WINAPI
IDirectMusicSynthImpl_Release (LPDIRECTMUSICSYNTH iface
)
56 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
57 ULONG ref
= --This
->ref
;
58 TRACE("(%p) : ReleaseRef to %ld\n", This
, This
->ref
);
61 HeapFree(GetProcessHeap(), 0, This
);
66 /* IDirectMusicSynth Interface follow: */
67 HRESULT WINAPI
IDirectMusicSynthImpl_Open (LPDIRECTMUSICSYNTH iface
, LPDMUS_PORTPARAMS pPortParams
)
69 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
71 FIXME("(%p, %p): stub\n", This
, pPortParams
);
76 HRESULT WINAPI
IDirectMusicSynthImpl_Close (LPDIRECTMUSICSYNTH iface
)
78 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
80 FIXME("(%p): stub\n", This
);
85 HRESULT WINAPI
IDirectMusicSynthImpl_SetNumChannelGroups (LPDIRECTMUSICSYNTH iface
, DWORD dwGroups
)
87 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
89 FIXME("(%p, %ld): stub\n", This
, dwGroups
);
94 HRESULT WINAPI
IDirectMusicSynthImpl_Download (LPDIRECTMUSICSYNTH iface
, LPHANDLE phDownload
, LPVOID pvData
, LPBOOL pbFree
)
96 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
98 FIXME("(%p, %p, %p, %p): stub\n", This
, phDownload
, pvData
, pbFree
);
103 HRESULT WINAPI
IDirectMusicSynthImpl_Unload (LPDIRECTMUSICSYNTH iface
, HANDLE hDownload
, HRESULT (CALLBACK
* lpFreeHandle
)(HANDLE
,HANDLE
), HANDLE hUserData
)
105 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
107 FIXME("(%p, %p, %p): stub\n", This
, hDownload
, hUserData
);
112 HRESULT WINAPI
IDirectMusicSynthImpl_PlayBuffer (LPDIRECTMUSICSYNTH iface
, REFERENCE_TIME rt
, LPBYTE pbBuffer
, DWORD cbBuffer
)
114 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
116 FIXME("(%p, FIXME, %p, %ld): stub\n", This
/*, rt*/, pbBuffer
, cbBuffer
);
121 HRESULT WINAPI
IDirectMusicSynthImpl_GetRunningStats (LPDIRECTMUSICSYNTH iface
, LPDMUS_SYNTHSTATS pStats
)
123 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
125 FIXME("(%p, %p): stub\n", This
, pStats
);
130 HRESULT WINAPI
IDirectMusicSynthImpl_GetPortCaps (LPDIRECTMUSICSYNTH iface
, LPDMUS_PORTCAPS pCaps
)
132 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
134 FIXME("(%p, %p): stub\n", This
, pCaps
);
139 HRESULT WINAPI
IDirectMusicSynthImpl_SetMasterClock (LPDIRECTMUSICSYNTH iface
, IReferenceClock
* pClock
)
141 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
143 FIXME("(%p, %p): stub\n", This
, pClock
);
148 HRESULT WINAPI
IDirectMusicSynthImpl_GetLatencyClock (LPDIRECTMUSICSYNTH iface
, IReferenceClock
** ppClock
)
150 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
152 FIXME("(%p, %p): stub\n", This
, ppClock
);
157 HRESULT WINAPI
IDirectMusicSynthImpl_Activate (LPDIRECTMUSICSYNTH iface
, BOOL fEnable
)
159 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
161 FIXME("(%p, %d): stub\n", This
, fEnable
);
166 HRESULT WINAPI
IDirectMusicSynthImpl_SetSynthSink (LPDIRECTMUSICSYNTH iface
, IDirectMusicSynthSink
* pSynthSink
)
168 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
170 FIXME("(%p, %p): stub\n", This
, pSynthSink
);
175 HRESULT WINAPI
IDirectMusicSynthImpl_Render (LPDIRECTMUSICSYNTH iface
, short* pBuffer
, DWORD dwLength
, LONGLONG llPosition
)
177 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
179 FIXME("(%p, %p, %ld, FIXME): stub\n", This
, pBuffer
, dwLength
/*, llPosition*/);
184 HRESULT WINAPI
IDirectMusicSynthImpl_SetChannelPriority (LPDIRECTMUSICSYNTH iface
, DWORD dwChannelGroup
, DWORD dwChannel
, DWORD dwPriority
)
186 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
188 FIXME("(%p, %ld, %ld, %ld): stub\n", This
, dwChannelGroup
, dwChannel
, dwPriority
);
193 HRESULT WINAPI
IDirectMusicSynthImpl_GetChannelPriority (LPDIRECTMUSICSYNTH iface
, DWORD dwChannelGroup
, DWORD dwChannel
, LPDWORD pdwPriority
)
195 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
197 FIXME("(%p, %ld, %ld, %p): stub\n", This
, dwChannelGroup
, dwChannel
, pdwPriority
);
202 HRESULT WINAPI
IDirectMusicSynthImpl_GetFormat (LPDIRECTMUSICSYNTH iface
, LPWAVEFORMATEX pWaveFormatEx
, LPDWORD pdwWaveFormatExSiz
)
204 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
206 FIXME("(%p, %p, %p): stub\n", This
, pWaveFormatEx
, pdwWaveFormatExSiz
);
211 HRESULT WINAPI
IDirectMusicSynthImpl_GetAppend (LPDIRECTMUSICSYNTH iface
, DWORD
* pdwAppend
)
213 ICOM_THIS(IDirectMusicSynthImpl
,iface
);
215 FIXME("(%p, %p): stub\n", This
, pdwAppend
);
220 ICOM_VTABLE(IDirectMusicSynth
) DirectMusicSynth_Vtbl
=
222 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
223 IDirectMusicSynthImpl_QueryInterface
,
224 IDirectMusicSynthImpl_AddRef
,
225 IDirectMusicSynthImpl_Release
,
226 IDirectMusicSynthImpl_Open
,
227 IDirectMusicSynthImpl_Close
,
228 IDirectMusicSynthImpl_SetNumChannelGroups
,
229 IDirectMusicSynthImpl_Download
,
230 IDirectMusicSynthImpl_Unload
,
231 IDirectMusicSynthImpl_PlayBuffer
,
232 IDirectMusicSynthImpl_GetRunningStats
,
233 IDirectMusicSynthImpl_GetPortCaps
,
234 IDirectMusicSynthImpl_SetMasterClock
,
235 IDirectMusicSynthImpl_GetLatencyClock
,
236 IDirectMusicSynthImpl_Activate
,
237 IDirectMusicSynthImpl_SetSynthSink
,
238 IDirectMusicSynthImpl_Render
,
239 IDirectMusicSynthImpl_SetChannelPriority
,
240 IDirectMusicSynthImpl_GetChannelPriority
,
241 IDirectMusicSynthImpl_GetFormat
,
242 IDirectMusicSynthImpl_GetAppend
246 /* IDirectMusicSynth8 IUnknown parts follow: */
247 HRESULT WINAPI
IDirectMusicSynth8Impl_QueryInterface (LPDIRECTMUSICSYNTH8 iface
, REFIID riid
, LPVOID
*ppobj
)
249 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
251 if (IsEqualGUID(riid
, &IID_IUnknown
) || IsEqualGUID(riid
, &IID_IDirectMusicSynth8
))
253 IDirectMusicSynth8Impl_AddRef(iface
);
257 WARN("(%p)->(%s,%p),not found\n",This
,debugstr_guid(riid
),ppobj
);
258 return E_NOINTERFACE
;
261 ULONG WINAPI
IDirectMusicSynth8Impl_AddRef (LPDIRECTMUSICSYNTH8 iface
)
263 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
264 TRACE("(%p) : AddRef from %ld\n", This
, This
->ref
);
265 return ++(This
->ref
);
268 ULONG WINAPI
IDirectMusicSynth8Impl_Release (LPDIRECTMUSICSYNTH8 iface
)
270 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
271 ULONG ref
= --This
->ref
;
272 TRACE("(%p) : ReleaseRef to %ld\n", This
, This
->ref
);
275 HeapFree(GetProcessHeap(), 0, This
);
280 /* IDirectMusicSynth Interface parts follow: */
281 HRESULT WINAPI
IDirectMusicSynth8Impl_Open (LPDIRECTMUSICSYNTH8 iface
, LPDMUS_PORTPARAMS pPortParams
)
283 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
285 FIXME("(%p, %p): stub\n", This
, pPortParams
);
290 HRESULT WINAPI
IDirectMusicSynth8Impl_Close (LPDIRECTMUSICSYNTH8 iface
)
292 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
294 FIXME("(%p): stub\n", This
);
299 HRESULT WINAPI
IDirectMusicSynth8Impl_SetNumChannelGroups (LPDIRECTMUSICSYNTH8 iface
, DWORD dwGroups
)
301 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
303 FIXME("(%p, %ld): stub\n", This
, dwGroups
);
308 HRESULT WINAPI
IDirectMusicSynth8Impl_Download (LPDIRECTMUSICSYNTH8 iface
, LPHANDLE phDownload
, LPVOID pvData
, LPBOOL pbFree
)
310 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
312 FIXME("(%p, %p, %p, %p): stub\n", This
, phDownload
, pvData
, pbFree
);
317 HRESULT WINAPI
IDirectMusicSynth8Impl_Unload (LPDIRECTMUSICSYNTH8 iface
, HANDLE hDownload
, HRESULT (CALLBACK
* lpFreeHandle
)(HANDLE
,HANDLE
), HANDLE hUserData
)
319 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
321 FIXME("(%p, %p, %p): stub\n", This
, hDownload
, hUserData
);
326 HRESULT WINAPI
IDirectMusicSynth8Impl_PlayBuffer (LPDIRECTMUSICSYNTH8 iface
, REFERENCE_TIME rt
, LPBYTE pbBuffer
, DWORD cbBuffer
)
328 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
330 FIXME("(%p, FIXME, %p, %ld): stub\n", This
/*, rt*/, pbBuffer
, cbBuffer
);
335 HRESULT WINAPI
IDirectMusicSynth8Impl_GetRunningStats (LPDIRECTMUSICSYNTH8 iface
, LPDMUS_SYNTHSTATS pStats
)
337 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
339 FIXME("(%p, %p): stub\n", This
, pStats
);
344 HRESULT WINAPI
IDirectMusicSynth8Impl_GetPortCaps (LPDIRECTMUSICSYNTH8 iface
, LPDMUS_PORTCAPS pCaps
)
346 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
348 FIXME("(%p, %p): stub\n", This
, pCaps
);
353 HRESULT WINAPI
IDirectMusicSynth8Impl_SetMasterClock (LPDIRECTMUSICSYNTH8 iface
, IReferenceClock
* pClock
)
355 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
357 FIXME("(%p, %p): stub\n", This
, pClock
);
362 HRESULT WINAPI
IDirectMusicSynth8Impl_GetLatencyClock (LPDIRECTMUSICSYNTH8 iface
, IReferenceClock
** ppClock
)
364 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
366 FIXME("(%p, %p): stub\n", This
, ppClock
);
371 HRESULT WINAPI
IDirectMusicSynth8Impl_Activate (LPDIRECTMUSICSYNTH8 iface
, BOOL fEnable
)
373 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
375 FIXME("(%p, %d): stub\n", This
, fEnable
);
380 HRESULT WINAPI
IDirectMusicSynth8Impl_SetSynthSink (LPDIRECTMUSICSYNTH8 iface
, IDirectMusicSynthSink
* pSynthSink
)
382 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
384 FIXME("(%p, %p): stub\n", This
, pSynthSink
);
389 HRESULT WINAPI
IDirectMusicSynth8Impl_Render (LPDIRECTMUSICSYNTH8 iface
, short* pBuffer
, DWORD dwLength
, LONGLONG llPosition
)
391 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
393 FIXME("(%p, %p, %ld, FIXME): stub\n", This
, pBuffer
, dwLength
/*, llPosition*/);
398 HRESULT WINAPI
IDirectMusicSynth8Impl_SetChannelPriority (LPDIRECTMUSICSYNTH8 iface
, DWORD dwChannelGroup
, DWORD dwChannel
, DWORD dwPriority
)
400 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
402 FIXME("(%p, %ld, %ld, %ld): stub\n", This
, dwChannelGroup
, dwChannel
, dwPriority
);
407 HRESULT WINAPI
IDirectMusicSynth8Impl_GetChannelPriority (LPDIRECTMUSICSYNTH8 iface
, DWORD dwChannelGroup
, DWORD dwChannel
, LPDWORD pdwPriority
)
409 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
411 FIXME("(%p, %ld, %ld, %p): stub\n", This
, dwChannelGroup
, dwChannel
, pdwPriority
);
416 HRESULT WINAPI
IDirectMusicSynth8Impl_GetFormat (LPDIRECTMUSICSYNTH8 iface
, LPWAVEFORMATEX pWaveFormatEx
, LPDWORD pdwWaveFormatExSiz
)
418 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
420 FIXME("(%p, %p, %p): stub\n", This
, pWaveFormatEx
, pdwWaveFormatExSiz
);
425 HRESULT WINAPI
IDirectMusicSynth8Impl_GetAppend (LPDIRECTMUSICSYNTH8 iface
, DWORD
* pdwAppend
)
427 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
429 FIXME("(%p, %p): stub\n", This
, pdwAppend
);
434 /* IDirectMusicSynth8 Interface parts follow: */
435 HRESULT WINAPI
IDirectMusicSynth8Impl_PlayVoice (LPDIRECTMUSICSYNTH8 iface
, REFERENCE_TIME rt
, DWORD dwVoiceId
, DWORD dwChannelGroup
, DWORD dwChannel
, DWORD dwDLId
, long prPitch
, long vrVolume
, SAMPLE_TIME stVoiceStart
, SAMPLE_TIME stLoopStart
, SAMPLE_TIME stLoopEnd
)
437 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
439 FIXME("(%p, FIXME, %ld, %ld, %ld, %ld, %li, %li, FIXME, FIXME, FIXME): stub\n", This
/*, rt*/, dwVoiceId
, dwChannelGroup
, dwChannel
, dwDLId
, prPitch
, vrVolume
/*, stVoiceStart, stLoopStart, stLoopEnd*/);
444 HRESULT WINAPI
IDirectMusicSynth8Impl_StopVoice (LPDIRECTMUSICSYNTH8 iface
, REFERENCE_TIME rt
, DWORD dwVoiceId
)
446 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
448 FIXME("(%p, FIXME, %ld): stub\n", This
/*, rt*/, dwVoiceId
);
453 HRESULT WINAPI
IDirectMusicSynth8Impl_GetVoiceState (LPDIRECTMUSICSYNTH8 iface
, DWORD dwVoice
[], DWORD cbVoice
, DMUS_VOICE_STATE dwVoiceState
[])
455 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
457 FIXME("(%p, %p, %ld, %p): stub\n", This
, dwVoice
, cbVoice
, dwVoiceState
);
462 HRESULT WINAPI
IDirectMusicSynth8Impl_Refresh (LPDIRECTMUSICSYNTH8 iface
, DWORD dwDownloadID
, DWORD dwFlags
)
464 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
466 FIXME("(%p, %ld, %ld): stub\n", This
, dwDownloadID
, dwFlags
);
471 HRESULT WINAPI
IDirectMusicSynth8Impl_AssignChannelToBuses (LPDIRECTMUSICSYNTH8 iface
, DWORD dwChannelGroup
, DWORD dwChannel
, LPDWORD pdwBuses
, DWORD cBuses
)
473 ICOM_THIS(IDirectMusicSynth8Impl
,iface
);
475 FIXME("(%p, %ld, %ld, %p, %ld): stub\n", This
, dwChannelGroup
, dwChannel
, pdwBuses
, cBuses
);
480 ICOM_VTABLE(IDirectMusicSynth8
) DirectMusicSynth8_Vtbl
=
482 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
483 IDirectMusicSynth8Impl_QueryInterface
,
484 IDirectMusicSynth8Impl_AddRef
,
485 IDirectMusicSynth8Impl_Release
,
486 IDirectMusicSynth8Impl_Open
,
487 IDirectMusicSynth8Impl_Close
,
488 IDirectMusicSynth8Impl_SetNumChannelGroups
,
489 IDirectMusicSynth8Impl_Download
,
490 IDirectMusicSynth8Impl_Unload
,
491 IDirectMusicSynth8Impl_PlayBuffer
,
492 IDirectMusicSynth8Impl_GetRunningStats
,
493 IDirectMusicSynth8Impl_GetPortCaps
,
494 IDirectMusicSynth8Impl_SetMasterClock
,
495 IDirectMusicSynth8Impl_GetLatencyClock
,
496 IDirectMusicSynth8Impl_Activate
,
497 IDirectMusicSynth8Impl_SetSynthSink
,
498 IDirectMusicSynth8Impl_Render
,
499 IDirectMusicSynth8Impl_SetChannelPriority
,
500 IDirectMusicSynth8Impl_GetChannelPriority
,
501 IDirectMusicSynth8Impl_GetFormat
,
502 IDirectMusicSynth8Impl_GetAppend
,
503 IDirectMusicSynth8Impl_PlayVoice
,
504 IDirectMusicSynth8Impl_StopVoice
,
505 IDirectMusicSynth8Impl_GetVoiceState
,
506 IDirectMusicSynth8Impl_Refresh
,
507 IDirectMusicSynth8Impl_AssignChannelToBuses
511 /* IDirectMusicSynthSink IUnknown parts follow: */
512 HRESULT WINAPI
IDirectMusicSynthSinkImpl_QueryInterface (LPDIRECTMUSICSYNTHSINK iface
, REFIID riid
, LPVOID
*ppobj
)
514 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
516 if (IsEqualGUID(riid
, &IID_IUnknown
) || IsEqualGUID(riid
, &IID_IDirectMusicSynthSink
))
518 IDirectMusicSynthSinkImpl_AddRef(iface
);
522 WARN("(%p)->(%s,%p),not found\n",This
,debugstr_guid(riid
),ppobj
);
523 return E_NOINTERFACE
;
526 ULONG WINAPI
IDirectMusicSynthSinkImpl_AddRef (LPDIRECTMUSICSYNTHSINK iface
)
528 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
529 TRACE("(%p) : AddRef from %ld\n", This
, This
->ref
);
530 return ++(This
->ref
);
533 ULONG WINAPI
IDirectMusicSynthSinkImpl_Release (LPDIRECTMUSICSYNTHSINK iface
)
535 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
536 ULONG ref
= --This
->ref
;
537 TRACE("(%p) : ReleaseRef to %ld\n", This
, This
->ref
);
540 HeapFree(GetProcessHeap(), 0, This
);
545 /* IDirectMusicSynth Interface follow: */
546 HRESULT WINAPI
IDirectMusicSinkSynthImpl_Init (LPDIRECTMUSICSYNTHSINK iface
, IDirectMusicSynth
* pSynth
)
548 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
550 FIXME("(%p, %p): stub\n", This
, pSynth
);
555 HRESULT WINAPI
IDirectMusicSinkSynthImpl_SetMasterClock (LPDIRECTMUSICSYNTHSINK iface
, IReferenceClock
* pClock
)
557 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
559 FIXME("(%p, %p): stub\n", This
, pClock
);
564 HRESULT WINAPI
IDirectMusicSinkSynthImpl_GetLatencyClock (LPDIRECTMUSICSYNTHSINK iface
, IReferenceClock
** ppClock
)
566 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
568 FIXME("(%p, %p): stub\n", This
, ppClock
);
573 HRESULT WINAPI
IDirectMusicSinkSynthImpl_Activate (LPDIRECTMUSICSYNTHSINK iface
, BOOL fEnable
)
575 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
577 FIXME("(%p, %d): stub\n", This
, fEnable
);
582 HRESULT WINAPI
IDirectMusicSinkSynthImpl_SampleToRefTime (LPDIRECTMUSICSYNTHSINK iface
, LONGLONG llSampleTime
, REFERENCE_TIME
* prfTime
)
584 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
586 FIXME("(%p, FIXME, %p): stub\n", This
/*, llSampleTime*/, prfTime
);
591 HRESULT WINAPI
IDirectMusicSinkSynthImpl_RefTimeToSample (LPDIRECTMUSICSYNTHSINK iface
, REFERENCE_TIME rfTime
, LONGLONG
* pllSampleTime
)
593 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
595 FIXME("(%p, FIXME, %p): stub\n", This
/*, rfTime*/, pllSampleTime
);
600 HRESULT WINAPI
IDirectMusicSinkSynthImpl_SetDirectSound (LPDIRECTMUSICSYNTHSINK iface
, LPDIRECTSOUND pDirectSound
, LPDIRECTSOUNDBUFFER pDirectSoundBuffer
)
602 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
604 FIXME("(%p, %p, %p): stub\n", This
, pDirectSound
, pDirectSoundBuffer
);
609 HRESULT WINAPI
IDirectMusicSinkSynthImpl_GetDesiredBufferSize (LPDIRECTMUSICSYNTHSINK iface
, LPDWORD pdwBufferSizeInSamples
)
611 ICOM_THIS(IDirectMusicSynthSinkImpl
,iface
);
613 FIXME("(%p, %p): stub\n", This
, pdwBufferSizeInSamples
);
618 ICOM_VTABLE(IDirectMusicSynthSink
) DirectMusicSynthSink_Vtbl
=
620 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
621 IDirectMusicSynthSinkImpl_QueryInterface
,
622 IDirectMusicSynthSinkImpl_AddRef
,
623 IDirectMusicSynthSinkImpl_Release
,
624 IDirectMusicSinkSynthImpl_Init
,
625 IDirectMusicSinkSynthImpl_SetMasterClock
,
626 IDirectMusicSinkSynthImpl_GetLatencyClock
,
627 IDirectMusicSinkSynthImpl_Activate
,
628 IDirectMusicSinkSynthImpl_SampleToRefTime
,
629 IDirectMusicSinkSynthImpl_RefTimeToSample
,
630 IDirectMusicSinkSynthImpl_SetDirectSound
,
631 IDirectMusicSinkSynthImpl_GetDesiredBufferSize