Release 20030408.
[wine/gsoc-2012-control.git] / dlls / dmusic / dmusic_performance.c
blob76575a469d812fbe72bc299fc78c12bf477012af
1 /* IDirectMusicPerformance Implementation
2 * IDirectMusicPerformance8 Implementation
4 * Copyright (C) 2003 Rok Mandeljc
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Library General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 #include "windef.h"
22 #include "winbase.h"
23 #include "winuser.h"
24 #include "wingdi.h"
25 #include "wine/debug.h"
27 #include "dmusic_private.h"
29 WINE_DEFAULT_DEBUG_CHANNEL(dmusic);
31 /* IDirectMusicPerformance IUnknown parts follow: */
32 HRESULT WINAPI IDirectMusicPerformanceImpl_QueryInterface (LPDIRECTMUSICPERFORMANCE iface, REFIID riid, LPVOID *ppobj)
34 ICOM_THIS(IDirectMusicPerformanceImpl,iface);
36 if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicPerformance))
38 IDirectMusicPerformanceImpl_AddRef(iface);
39 *ppobj = This;
40 return DS_OK;
42 WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj);
43 return E_NOINTERFACE;
46 ULONG WINAPI IDirectMusicPerformanceImpl_AddRef (LPDIRECTMUSICPERFORMANCE iface)
48 ICOM_THIS(IDirectMusicPerformanceImpl,iface);
49 TRACE("(%p) : AddRef from %ld\n", This, This->ref);
50 return ++(This->ref);
53 ULONG WINAPI IDirectMusicPerformanceImpl_Release (LPDIRECTMUSICPERFORMANCE iface)
55 ICOM_THIS(IDirectMusicPerformanceImpl,iface);
56 ULONG ref = --This->ref;
57 TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref);
58 if (ref == 0)
60 HeapFree(GetProcessHeap(), 0, This);
62 return ref;
65 /* IDirectMusicPerformance Interface follow: */
66 HRESULT WINAPI IDirectMusicPerformanceImpl_Init (LPDIRECTMUSICPERFORMANCE iface, IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd)
68 FIXME("stub\n");
69 return DS_OK;
72 HRESULT WINAPI IDirectMusicPerformanceImpl_PlaySegment (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState)
74 FIXME("stub\n");
75 return DS_OK;
78 HRESULT WINAPI IDirectMusicPerformanceImpl_Stop (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags)
80 FIXME("stub\n");
81 return DS_OK;
84 HRESULT WINAPI IDirectMusicPerformanceImpl_GetSegmentState (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegmentState** ppSegmentState, MUSIC_TIME mtTime)
86 FIXME("stub\n");
87 return DS_OK;
90 HRESULT WINAPI IDirectMusicPerformanceImpl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds)
92 FIXME("stub\n");
93 return DS_OK;
96 HRESULT WINAPI IDirectMusicPerformanceImpl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds)
98 FIXME("stub\n");
99 return DS_OK;
102 HRESULT WINAPI IDirectMusicPerformanceImpl_SetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD dwMilliSeconds)
104 FIXME("stub\n");
105 return DS_OK;
108 HRESULT WINAPI IDirectMusicPerformanceImpl_GetBumperLength (LPDIRECTMUSICPERFORMANCE iface, DWORD* pdwMilliSeconds)
110 FIXME("stub\n");
111 return DS_OK;
114 HRESULT WINAPI IDirectMusicPerformanceImpl_SendPMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_PMSG* pPMSG)
116 FIXME("stub\n");
117 return DS_OK;
120 HRESULT WINAPI IDirectMusicPerformanceImpl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, REFERENCE_TIME* prtTime)
122 FIXME("stub\n");
123 return DS_OK;
126 HRESULT WINAPI IDirectMusicPerformanceImpl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtTime, MUSIC_TIME* pmtTime)
128 FIXME("stub\n");
129 return DS_OK;
132 HRESULT WINAPI IDirectMusicPerformanceImpl_IsPlaying (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegState)
134 FIXME("stub\n");
135 return DS_OK;
138 HRESULT WINAPI IDirectMusicPerformanceImpl_GetTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtNow, MUSIC_TIME* pmtNow)
140 FIXME("stub\n");
141 return DS_OK;
144 HRESULT WINAPI IDirectMusicPerformanceImpl_AllocPMsg (LPDIRECTMUSICPERFORMANCE iface, ULONG cb, DMUS_PMSG** ppPMSG)
146 FIXME("stub\n");
147 return DS_OK;
150 HRESULT WINAPI IDirectMusicPerformanceImpl_FreePMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_PMSG* pPMSG)
152 FIXME("stub\n");
153 return DS_OK;
156 HRESULT WINAPI IDirectMusicPerformanceImpl_GetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph** ppGraph)
158 FIXME("stub\n");
159 return DS_OK;
162 HRESULT WINAPI IDirectMusicPerformanceImpl_SetGraph (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicGraph* pGraph)
164 FIXME("stub\n");
165 return DS_OK;
168 HRESULT WINAPI IDirectMusicPerformanceImpl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE iface, HANDLE hNotification, REFERENCE_TIME rtMinimum)
170 FIXME("stub\n");
171 return DS_OK;
174 HRESULT WINAPI IDirectMusicPerformanceImpl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE iface, DMUS_NOTIFICATION_PMSG** ppNotificationPMsg)
176 FIXME("stub\n");
177 return DS_OK;
180 HRESULT WINAPI IDirectMusicPerformanceImpl_AddNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType)
182 FIXME("stub\n");
183 return DS_OK;
186 HRESULT WINAPI IDirectMusicPerformanceImpl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidNotificationType)
188 FIXME("stub\n");
189 return DS_OK;
192 HRESULT WINAPI IDirectMusicPerformanceImpl_AddPort (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicPort* pPort)
194 FIXME("stub\n");
195 return DS_OK;
198 HRESULT WINAPI IDirectMusicPerformanceImpl_RemovePort (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicPort* pPort)
200 FIXME("stub\n");
201 return DS_OK;
204 HRESULT WINAPI IDirectMusicPerformanceImpl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE iface, DWORD dwBlockNum, IDirectMusicPort* pPort, DWORD dwGroup)
206 FIXME("stub\n");
207 return DS_OK;
210 HRESULT WINAPI IDirectMusicPerformanceImpl_AssignPChannel (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, IDirectMusicPort* pPort, DWORD dwGroup, DWORD dwMChannel)
212 FIXME("stub\n");
213 return DS_OK;
216 HRESULT WINAPI IDirectMusicPerformanceImpl_PChannelInfo (LPDIRECTMUSICPERFORMANCE iface, DWORD dwPChannel, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel)
218 FIXME("stub\n");
219 return DS_OK;
222 HRESULT WINAPI IDirectMusicPerformanceImpl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE iface, IDirectMusicInstrument* pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument** ppDownInst, DMUS_NOTERANGE* pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel)
224 FIXME("stub\n");
225 return DS_OK;
228 HRESULT WINAPI IDirectMusicPerformanceImpl_Invalidate (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, DWORD dwFlags)
230 FIXME("stub\n");
231 return DS_OK;
234 HRESULT WINAPI IDirectMusicPerformanceImpl_GetParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam)
236 FIXME("stub\n");
237 return DS_OK;
240 HRESULT WINAPI IDirectMusicPerformanceImpl_SetParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam)
242 FIXME("stub\n");
243 return DS_OK;
246 HRESULT WINAPI IDirectMusicPerformanceImpl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, void* pParam, DWORD dwSize)
248 FIXME("stub\n");
249 return DS_OK;
252 HRESULT WINAPI IDirectMusicPerformanceImpl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE iface, REFGUID rguidType, void* pParam, DWORD dwSize)
254 FIXME("stub\n");
255 return DS_OK;
258 HRESULT WINAPI IDirectMusicPerformanceImpl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime)
260 FIXME("stub\n");
261 return DS_OK;
264 HRESULT WINAPI IDirectMusicPerformanceImpl_GetQueueTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME* prtTime)
266 FIXME("stub\n");
267 return DS_OK;
270 HRESULT WINAPI IDirectMusicPerformanceImpl_AdjustTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtAmount)
272 FIXME("stub\n");
273 return DS_OK;
276 HRESULT WINAPI IDirectMusicPerformanceImpl_CloseDown (LPDIRECTMUSICPERFORMANCE iface)
278 FIXME("stub\n");
279 return DS_OK;
282 HRESULT WINAPI IDirectMusicPerformanceImpl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE iface, REFERENCE_TIME rtTime, REFERENCE_TIME* prtResolved, DWORD dwTimeResolveFlags)
284 FIXME("stub\n");
285 return DS_OK;
288 HRESULT WINAPI IDirectMusicPerformanceImpl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE iface, BYTE bMIDIValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, WORD* pwMusicValue)
290 FIXME("stub\n");
291 return DS_OK;
294 HRESULT WINAPI IDirectMusicPerformanceImpl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE iface, WORD wMusicValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE* pbMIDIValue)
296 FIXME("stub\n");
297 return DS_OK;
300 HRESULT WINAPI IDirectMusicPerformanceImpl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE iface, MUSIC_TIME mtTime, DMUS_TIMESIGNATURE* pTimeSig, WORD* pwMeasure, BYTE* pbBeat, BYTE* pbGrid, short* pnOffset)
302 FIXME("stub\n");
303 return DS_OK;
306 HRESULT WINAPI IDirectMusicPerformanceImpl_RhythmToTime (LPDIRECTMUSICPERFORMANCE iface, WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE* pTimeSig, MUSIC_TIME* pmtTime)
308 FIXME("stub\n");
309 return DS_OK;
312 ICOM_VTABLE(IDirectMusicPerformance) DirectMusicPerformance_Vtbl =
314 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
315 IDirectMusicPerformanceImpl_QueryInterface,
316 IDirectMusicPerformanceImpl_AddRef,
317 IDirectMusicPerformanceImpl_Release,
318 IDirectMusicPerformanceImpl_Init,
319 IDirectMusicPerformanceImpl_PlaySegment,
320 IDirectMusicPerformanceImpl_Stop,
321 IDirectMusicPerformanceImpl_GetSegmentState,
322 IDirectMusicPerformanceImpl_SetPrepareTime,
323 IDirectMusicPerformanceImpl_GetPrepareTime,
324 IDirectMusicPerformanceImpl_SetBumperLength,
325 IDirectMusicPerformanceImpl_GetBumperLength,
326 IDirectMusicPerformanceImpl_SendPMsg,
327 IDirectMusicPerformanceImpl_MusicToReferenceTime,
328 IDirectMusicPerformanceImpl_ReferenceToMusicTime,
329 IDirectMusicPerformanceImpl_IsPlaying,
330 IDirectMusicPerformanceImpl_GetTime,
331 IDirectMusicPerformanceImpl_AllocPMsg,
332 IDirectMusicPerformanceImpl_FreePMsg,
333 IDirectMusicPerformanceImpl_GetGraph,
334 IDirectMusicPerformanceImpl_SetGraph,
335 IDirectMusicPerformanceImpl_SetNotificationHandle,
336 IDirectMusicPerformanceImpl_GetNotificationPMsg,
337 IDirectMusicPerformanceImpl_AddNotificationType,
338 IDirectMusicPerformanceImpl_RemoveNotificationType,
339 IDirectMusicPerformanceImpl_AddPort,
340 IDirectMusicPerformanceImpl_RemovePort,
341 IDirectMusicPerformanceImpl_AssignPChannelBlock,
342 IDirectMusicPerformanceImpl_AssignPChannel,
343 IDirectMusicPerformanceImpl_PChannelInfo,
344 IDirectMusicPerformanceImpl_DownloadInstrument,
345 IDirectMusicPerformanceImpl_Invalidate,
346 IDirectMusicPerformanceImpl_GetParam,
347 IDirectMusicPerformanceImpl_SetParam,
348 IDirectMusicPerformanceImpl_GetGlobalParam,
349 IDirectMusicPerformanceImpl_SetGlobalParam,
350 IDirectMusicPerformanceImpl_GetLatencyTime,
351 IDirectMusicPerformanceImpl_GetQueueTime,
352 IDirectMusicPerformanceImpl_AdjustTime,
353 IDirectMusicPerformanceImpl_CloseDown,
354 IDirectMusicPerformanceImpl_GetResolvedTime,
355 IDirectMusicPerformanceImpl_MIDIToMusic,
356 IDirectMusicPerformanceImpl_MusicToMIDI,
357 IDirectMusicPerformanceImpl_TimeToRhythm,
358 IDirectMusicPerformanceImpl_RhythmToTime
362 /* IDirectMusicPerformance8 IUnknown parts follow: */
363 HRESULT WINAPI IDirectMusicPerformance8Impl_QueryInterface (LPDIRECTMUSICPERFORMANCE8 iface, REFIID riid, LPVOID *ppobj)
365 ICOM_THIS(IDirectMusicPerformance8Impl,iface);
367 if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicPerformance8))
369 IDirectMusicPerformance8Impl_AddRef(iface);
370 *ppobj = This;
371 return DS_OK;
373 WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj);
374 return E_NOINTERFACE;
377 ULONG WINAPI IDirectMusicPerformance8Impl_AddRef (LPDIRECTMUSICPERFORMANCE8 iface)
379 ICOM_THIS(IDirectMusicPerformance8Impl,iface);
380 TRACE("(%p) : AddRef from %ld\n", This, This->ref);
381 return ++(This->ref);
384 ULONG WINAPI IDirectMusicPerformance8Impl_Release (LPDIRECTMUSICPERFORMANCE8 iface)
386 ICOM_THIS(IDirectMusicPerformance8Impl,iface);
387 ULONG ref = --This->ref;
388 TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref);
389 if (ref == 0)
391 HeapFree(GetProcessHeap(), 0, This);
393 return ref;
396 /* IDirectMusicPerformance Interface part follow: */
397 HRESULT WINAPI IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusic** ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd)
399 FIXME("stub\n");
400 return DS_OK;
403 HRESULT WINAPI IDirectMusicPerformance8Impl_PlaySegment (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState)
405 FIXME("stub\n");
406 return DS_OK;
409 HRESULT WINAPI IDirectMusicPerformance8Impl_Stop (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags)
411 FIXME("stub\n");
412 return DS_OK;
415 HRESULT WINAPI IDirectMusicPerformance8Impl_GetSegmentState (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegmentState** ppSegmentState, MUSIC_TIME mtTime)
417 FIXME("stub\n");
418 return DS_OK;
421 HRESULT WINAPI IDirectMusicPerformance8Impl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwMilliSeconds)
423 FIXME("stub\n");
424 return DS_OK;
427 HRESULT WINAPI IDirectMusicPerformance8Impl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface, DWORD* pdwMilliSeconds)
429 FIXME("stub\n");
430 return DS_OK;
433 HRESULT WINAPI IDirectMusicPerformance8Impl_SetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwMilliSeconds)
435 FIXME("stub\n");
436 return DS_OK;
439 HRESULT WINAPI IDirectMusicPerformance8Impl_GetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface, DWORD* pdwMilliSeconds)
441 FIXME("stub\n");
442 return DS_OK;
445 HRESULT WINAPI IDirectMusicPerformance8Impl_SendPMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pPMSG)
447 FIXME("stub\n");
448 return DS_OK;
451 HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, REFERENCE_TIME* prtTime)
453 FIXME("stub\n");
454 return DS_OK;
457 HRESULT WINAPI IDirectMusicPerformance8Impl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtTime, MUSIC_TIME* pmtTime)
459 FIXME("stub\n");
460 return DS_OK;
463 HRESULT WINAPI IDirectMusicPerformance8Impl_IsPlaying (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicSegment* pSegment, IDirectMusicSegmentState* pSegState)
465 FIXME("stub\n");
466 return DS_OK;
469 HRESULT WINAPI IDirectMusicPerformance8Impl_GetTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtNow, MUSIC_TIME* pmtNow)
471 FIXME("stub\n");
472 return DS_OK;
475 HRESULT WINAPI IDirectMusicPerformance8Impl_AllocPMsg (LPDIRECTMUSICPERFORMANCE8 iface, ULONG cb, DMUS_PMSG** ppPMSG)
477 FIXME("stub\n");
478 return DS_OK;
481 HRESULT WINAPI IDirectMusicPerformance8Impl_FreePMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pPMSG)
483 FIXME("stub\n");
484 return DS_OK;
487 HRESULT WINAPI IDirectMusicPerformance8Impl_GetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph** ppGraph)
489 FIXME("stub\n");
490 return DS_OK;
493 HRESULT WINAPI IDirectMusicPerformance8Impl_SetGraph (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicGraph* pGraph)
495 FIXME("stub\n");
496 return DS_OK;
499 HRESULT WINAPI IDirectMusicPerformance8Impl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE8 iface, HANDLE hNotification, REFERENCE_TIME rtMinimum)
501 FIXME("stub\n");
502 return DS_OK;
505 HRESULT WINAPI IDirectMusicPerformance8Impl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_NOTIFICATION_PMSG** ppNotificationPMsg)
507 FIXME("stub\n");
508 return DS_OK;
511 HRESULT WINAPI IDirectMusicPerformance8Impl_AddNotificationType (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidNotificationType)
513 FIXME("stub\n");
514 return DS_OK;
517 HRESULT WINAPI IDirectMusicPerformance8Impl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidNotificationType)
519 FIXME("stub\n");
520 return DS_OK;
523 HRESULT WINAPI IDirectMusicPerformance8Impl_AddPort (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicPort* pPort)
525 FIXME("stub\n");
526 return DS_OK;
529 HRESULT WINAPI IDirectMusicPerformance8Impl_RemovePort (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicPort* pPort)
531 FIXME("stub\n");
532 return DS_OK;
535 HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwBlockNum, IDirectMusicPort* pPort, DWORD dwGroup)
537 FIXME("stub\n");
538 return DS_OK;
541 HRESULT WINAPI IDirectMusicPerformance8Impl_AssignPChannel (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwPChannel, IDirectMusicPort* pPort, DWORD dwGroup, DWORD dwMChannel)
543 FIXME("stub\n");
544 return DS_OK;
547 HRESULT WINAPI IDirectMusicPerformance8Impl_PChannelInfo (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwPChannel, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel)
549 FIXME("stub\n");
550 return DS_OK;
553 HRESULT WINAPI IDirectMusicPerformance8Impl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicInstrument* pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument** ppDownInst, DMUS_NOTERANGE* pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort** ppPort, DWORD* pdwGroup, DWORD* pdwMChannel)
555 FIXME("stub\n");
556 return DS_OK;
559 HRESULT WINAPI IDirectMusicPerformance8Impl_Invalidate (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, DWORD dwFlags)
561 FIXME("stub\n");
562 return DS_OK;
565 HRESULT WINAPI IDirectMusicPerformance8Impl_GetParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam)
567 FIXME("stub\n");
568 return DS_OK;
571 HRESULT WINAPI IDirectMusicPerformance8Impl_SetParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void* pParam)
573 FIXME("stub\n");
574 return DS_OK;
577 HRESULT WINAPI IDirectMusicPerformance8Impl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, void* pParam, DWORD dwSize)
579 FIXME("stub\n");
580 return DS_OK;
583 HRESULT WINAPI IDirectMusicPerformance8Impl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, void* pParam, DWORD dwSize)
585 FIXME("stub\n");
586 return DS_OK;
589 HRESULT WINAPI IDirectMusicPerformance8Impl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtTime)
591 FIXME("stub\n");
592 return DS_OK;
595 HRESULT WINAPI IDirectMusicPerformance8Impl_GetQueueTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME* prtTime)
597 FIXME("stub\n");
598 return DS_OK;
601 HRESULT WINAPI IDirectMusicPerformance8Impl_AdjustTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtAmount)
603 FIXME("stub\n");
604 return DS_OK;
607 HRESULT WINAPI IDirectMusicPerformance8Impl_CloseDown (LPDIRECTMUSICPERFORMANCE8 iface)
609 FIXME("stub\n");
610 return DS_OK;
613 HRESULT WINAPI IDirectMusicPerformance8Impl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE8 iface, REFERENCE_TIME rtTime, REFERENCE_TIME* prtResolved, DWORD dwTimeResolveFlags)
615 FIXME("stub\n");
616 return DS_OK;
619 HRESULT WINAPI IDirectMusicPerformance8Impl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE8 iface, BYTE bMIDIValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, WORD* pwMusicValue)
621 FIXME("stub\n");
622 return DS_OK;
625 HRESULT WINAPI IDirectMusicPerformance8Impl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE8 iface, WORD wMusicValue, DMUS_CHORD_KEY* pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE* pbMIDIValue)
627 FIXME("stub\n");
628 return DS_OK;
631 HRESULT WINAPI IDirectMusicPerformance8Impl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE8 iface, MUSIC_TIME mtTime, DMUS_TIMESIGNATURE* pTimeSig, WORD* pwMeasure, BYTE* pbBeat, BYTE* pbGrid, short* pnOffset)
633 FIXME("stub\n");
634 return DS_OK;
637 HRESULT WINAPI IDirectMusicPerformance8Impl_RhythmToTime (LPDIRECTMUSICPERFORMANCE8 iface, WORD wMeasure, BYTE bBeat, BYTE bGrid, short nOffset, DMUS_TIMESIGNATURE* pTimeSig, MUSIC_TIME* pmtTime)
639 FIXME("stub\n");
640 return DS_OK;
643 /* IDirectMusicPerformance8 Interface part follow: */
644 HRESULT WINAPI IDirectMusicPerformance8ImplInitAudio (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusic** ppDirectMusic, IDirectSound** ppDirectSound, HWND hWnd, DWORD dwDefaultPathType, DWORD dwPChannelCount, DWORD dwFlags, DMUS_AUDIOPARAMS* pParams)
646 FIXME("stub\n");
647 return DS_OK;
650 HRESULT WINAPI IDirectMusicPerformance8ImplPlaySegmentEx (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pSource, WCHAR* pwzSegmentName, IUnknown* pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState** ppSegmentState, IUnknown* pFrom, IUnknown* pAudioPath)
652 FIXME("stub\n");
653 return DS_OK;
656 HRESULT WINAPI IDirectMusicPerformance8ImplStopEx (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pObjectToStop, __int64 i64StopTime, DWORD dwFlags)
658 FIXME("stub\n");
659 return DS_OK;
662 HRESULT WINAPI IDirectMusicPerformance8ImplClonePMsg (LPDIRECTMUSICPERFORMANCE8 iface, DMUS_PMSG* pSourcePMSG, DMUS_PMSG** ppCopyPMSG)
664 FIXME("stub\n");
665 return DS_OK;
668 HRESULT WINAPI IDirectMusicPerformance8ImplCreateAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IUnknown* pSourceConfig, BOOL fActivate, IDirectMusicAudioPath** ppNewPath)
670 FIXME("stub\n");
671 return DS_OK;
674 HRESULT WINAPI IDirectMusicPerformance8ImplCreateStandardAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, DWORD dwType, DWORD dwPChannelCount, BOOL fActivate, IDirectMusicAudioPath** ppNewPath)
676 FIXME("stub\n");
677 return DS_OK;
680 HRESULT WINAPI IDirectMusicPerformance8ImplSetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicAudioPath* pAudioPath)
682 FIXME("stub\n");
683 return DS_OK;
686 HRESULT WINAPI IDirectMusicPerformance8ImplGetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface, IDirectMusicAudioPath** ppAudioPath)
688 FIXME("stub\n");
689 return DS_OK;
692 HRESULT WINAPI IDirectMusicPerformance8ImplGetParamEx (LPDIRECTMUSICPERFORMANCE8 iface, REFGUID rguidType, DWORD dwTrackID, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME* pmtNext, void* pParam)
694 FIXME("stub\n");
695 return DS_OK;
698 ICOM_VTABLE(IDirectMusicPerformance8) DirectMusicPerformance8_Vtbl =
700 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
701 IDirectMusicPerformance8Impl_QueryInterface,
702 IDirectMusicPerformance8Impl_AddRef,
703 IDirectMusicPerformance8Impl_Release,
704 IDirectMusicPerformance8Impl_Init,
705 IDirectMusicPerformance8Impl_PlaySegment,
706 IDirectMusicPerformance8Impl_Stop,
707 IDirectMusicPerformance8Impl_GetSegmentState,
708 IDirectMusicPerformance8Impl_SetPrepareTime,
709 IDirectMusicPerformance8Impl_GetPrepareTime,
710 IDirectMusicPerformance8Impl_SetBumperLength,
711 IDirectMusicPerformance8Impl_GetBumperLength,
712 IDirectMusicPerformance8Impl_SendPMsg,
713 IDirectMusicPerformance8Impl_MusicToReferenceTime,
714 IDirectMusicPerformance8Impl_ReferenceToMusicTime,
715 IDirectMusicPerformance8Impl_IsPlaying,
716 IDirectMusicPerformance8Impl_GetTime,
717 IDirectMusicPerformance8Impl_AllocPMsg,
718 IDirectMusicPerformance8Impl_FreePMsg,
719 IDirectMusicPerformance8Impl_GetGraph,
720 IDirectMusicPerformance8Impl_SetGraph,
721 IDirectMusicPerformance8Impl_SetNotificationHandle,
722 IDirectMusicPerformance8Impl_GetNotificationPMsg,
723 IDirectMusicPerformance8Impl_AddNotificationType,
724 IDirectMusicPerformance8Impl_RemoveNotificationType,
725 IDirectMusicPerformance8Impl_AddPort,
726 IDirectMusicPerformance8Impl_RemovePort,
727 IDirectMusicPerformance8Impl_AssignPChannelBlock,
728 IDirectMusicPerformance8Impl_AssignPChannel,
729 IDirectMusicPerformance8Impl_PChannelInfo,
730 IDirectMusicPerformance8Impl_DownloadInstrument,
731 IDirectMusicPerformance8Impl_Invalidate,
732 IDirectMusicPerformance8Impl_GetParam,
733 IDirectMusicPerformance8Impl_SetParam,
734 IDirectMusicPerformance8Impl_GetGlobalParam,
735 IDirectMusicPerformance8Impl_SetGlobalParam,
736 IDirectMusicPerformance8Impl_GetLatencyTime,
737 IDirectMusicPerformance8Impl_GetQueueTime,
738 IDirectMusicPerformance8Impl_AdjustTime,
739 IDirectMusicPerformance8Impl_CloseDown,
740 IDirectMusicPerformance8Impl_GetResolvedTime,
741 IDirectMusicPerformance8Impl_MIDIToMusic,
742 IDirectMusicPerformance8Impl_MusicToMIDI,
743 IDirectMusicPerformance8Impl_TimeToRhythm,
744 IDirectMusicPerformance8Impl_RhythmToTime,
745 IDirectMusicPerformance8ImplInitAudio,
746 IDirectMusicPerformance8ImplPlaySegmentEx,
747 IDirectMusicPerformance8ImplStopEx,
748 IDirectMusicPerformance8ImplClonePMsg,
749 IDirectMusicPerformance8ImplCreateAudioPath,
750 IDirectMusicPerformance8ImplCreateStandardAudioPath,
751 IDirectMusicPerformance8ImplSetDefaultAudioPath,
752 IDirectMusicPerformance8ImplGetDefaultAudioPath,
753 IDirectMusicPerformance8ImplGetParamEx