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.
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
);
42 WARN("(%p)->(%s,%p),not found\n",This
,debugstr_guid(riid
),ppobj
);
46 ULONG WINAPI
IDirectMusicPerformanceImpl_AddRef (LPDIRECTMUSICPERFORMANCE iface
)
48 ICOM_THIS(IDirectMusicPerformanceImpl
,iface
);
49 TRACE("(%p) : AddRef from %ld\n", This
, 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
);
60 HeapFree(GetProcessHeap(), 0, This
);
65 /* IDirectMusicPerformance Interface follow: */
66 HRESULT WINAPI
IDirectMusicPerformanceImpl_Init (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusic
** ppDirectMusic
, LPDIRECTSOUND pDirectSound
, HWND hWnd
)
72 HRESULT WINAPI
IDirectMusicPerformanceImpl_PlaySegment (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicSegment
* pSegment
, DWORD dwFlags
, __int64 i64StartTime
, IDirectMusicSegmentState
** ppSegmentState
)
78 HRESULT WINAPI
IDirectMusicPerformanceImpl_Stop (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicSegment
* pSegment
, IDirectMusicSegmentState
* pSegmentState
, MUSIC_TIME mtTime
, DWORD dwFlags
)
84 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetSegmentState (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicSegmentState
** ppSegmentState
, MUSIC_TIME mtTime
)
90 HRESULT WINAPI
IDirectMusicPerformanceImpl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE iface
, DWORD dwMilliSeconds
)
96 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE iface
, DWORD
* pdwMilliSeconds
)
102 HRESULT WINAPI
IDirectMusicPerformanceImpl_SetBumperLength (LPDIRECTMUSICPERFORMANCE iface
, DWORD dwMilliSeconds
)
108 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetBumperLength (LPDIRECTMUSICPERFORMANCE iface
, DWORD
* pdwMilliSeconds
)
114 HRESULT WINAPI
IDirectMusicPerformanceImpl_SendPMsg (LPDIRECTMUSICPERFORMANCE iface
, DMUS_PMSG
* pPMSG
)
120 HRESULT WINAPI
IDirectMusicPerformanceImpl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE iface
, MUSIC_TIME mtTime
, REFERENCE_TIME
* prtTime
)
126 HRESULT WINAPI
IDirectMusicPerformanceImpl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE iface
, REFERENCE_TIME rtTime
, MUSIC_TIME
* pmtTime
)
132 HRESULT WINAPI
IDirectMusicPerformanceImpl_IsPlaying (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicSegment
* pSegment
, IDirectMusicSegmentState
* pSegState
)
138 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetTime (LPDIRECTMUSICPERFORMANCE iface
, REFERENCE_TIME
* prtNow
, MUSIC_TIME
* pmtNow
)
144 HRESULT WINAPI
IDirectMusicPerformanceImpl_AllocPMsg (LPDIRECTMUSICPERFORMANCE iface
, ULONG cb
, DMUS_PMSG
** ppPMSG
)
150 HRESULT WINAPI
IDirectMusicPerformanceImpl_FreePMsg (LPDIRECTMUSICPERFORMANCE iface
, DMUS_PMSG
* pPMSG
)
156 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetGraph (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicGraph
** ppGraph
)
162 HRESULT WINAPI
IDirectMusicPerformanceImpl_SetGraph (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicGraph
* pGraph
)
168 HRESULT WINAPI
IDirectMusicPerformanceImpl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE iface
, HANDLE hNotification
, REFERENCE_TIME rtMinimum
)
174 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE iface
, DMUS_NOTIFICATION_PMSG
** ppNotificationPMsg
)
180 HRESULT WINAPI
IDirectMusicPerformanceImpl_AddNotificationType (LPDIRECTMUSICPERFORMANCE iface
, REFGUID rguidNotificationType
)
186 HRESULT WINAPI
IDirectMusicPerformanceImpl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE iface
, REFGUID rguidNotificationType
)
192 HRESULT WINAPI
IDirectMusicPerformanceImpl_AddPort (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicPort
* pPort
)
198 HRESULT WINAPI
IDirectMusicPerformanceImpl_RemovePort (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicPort
* pPort
)
204 HRESULT WINAPI
IDirectMusicPerformanceImpl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE iface
, DWORD dwBlockNum
, IDirectMusicPort
* pPort
, DWORD dwGroup
)
210 HRESULT WINAPI
IDirectMusicPerformanceImpl_AssignPChannel (LPDIRECTMUSICPERFORMANCE iface
, DWORD dwPChannel
, IDirectMusicPort
* pPort
, DWORD dwGroup
, DWORD dwMChannel
)
216 HRESULT WINAPI
IDirectMusicPerformanceImpl_PChannelInfo (LPDIRECTMUSICPERFORMANCE iface
, DWORD dwPChannel
, IDirectMusicPort
** ppPort
, DWORD
* pdwGroup
, DWORD
* pdwMChannel
)
222 HRESULT WINAPI
IDirectMusicPerformanceImpl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE iface
, IDirectMusicInstrument
* pInst
, DWORD dwPChannel
, IDirectMusicDownloadedInstrument
** ppDownInst
, DMUS_NOTERANGE
* pNoteRanges
, DWORD dwNumNoteRanges
, IDirectMusicPort
** ppPort
, DWORD
* pdwGroup
, DWORD
* pdwMChannel
)
228 HRESULT WINAPI
IDirectMusicPerformanceImpl_Invalidate (LPDIRECTMUSICPERFORMANCE iface
, MUSIC_TIME mtTime
, DWORD dwFlags
)
234 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetParam (LPDIRECTMUSICPERFORMANCE iface
, REFGUID rguidType
, DWORD dwGroupBits
, DWORD dwIndex
, MUSIC_TIME mtTime
, MUSIC_TIME
* pmtNext
, void* pParam
)
240 HRESULT WINAPI
IDirectMusicPerformanceImpl_SetParam (LPDIRECTMUSICPERFORMANCE iface
, REFGUID rguidType
, DWORD dwGroupBits
, DWORD dwIndex
, MUSIC_TIME mtTime
, void* pParam
)
246 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE iface
, REFGUID rguidType
, void* pParam
, DWORD dwSize
)
252 HRESULT WINAPI
IDirectMusicPerformanceImpl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE iface
, REFGUID rguidType
, void* pParam
, DWORD dwSize
)
258 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE iface
, REFERENCE_TIME
* prtTime
)
264 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetQueueTime (LPDIRECTMUSICPERFORMANCE iface
, REFERENCE_TIME
* prtTime
)
270 HRESULT WINAPI
IDirectMusicPerformanceImpl_AdjustTime (LPDIRECTMUSICPERFORMANCE iface
, REFERENCE_TIME rtAmount
)
276 HRESULT WINAPI
IDirectMusicPerformanceImpl_CloseDown (LPDIRECTMUSICPERFORMANCE iface
)
282 HRESULT WINAPI
IDirectMusicPerformanceImpl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE iface
, REFERENCE_TIME rtTime
, REFERENCE_TIME
* prtResolved
, DWORD dwTimeResolveFlags
)
288 HRESULT WINAPI
IDirectMusicPerformanceImpl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE iface
, BYTE bMIDIValue
, DMUS_CHORD_KEY
* pChord
, BYTE bPlayMode
, BYTE bChordLevel
, WORD
* pwMusicValue
)
294 HRESULT WINAPI
IDirectMusicPerformanceImpl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE iface
, WORD wMusicValue
, DMUS_CHORD_KEY
* pChord
, BYTE bPlayMode
, BYTE bChordLevel
, BYTE
* pbMIDIValue
)
300 HRESULT WINAPI
IDirectMusicPerformanceImpl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE iface
, MUSIC_TIME mtTime
, DMUS_TIMESIGNATURE
* pTimeSig
, WORD
* pwMeasure
, BYTE
* pbBeat
, BYTE
* pbGrid
, short* pnOffset
)
306 HRESULT WINAPI
IDirectMusicPerformanceImpl_RhythmToTime (LPDIRECTMUSICPERFORMANCE iface
, WORD wMeasure
, BYTE bBeat
, BYTE bGrid
, short nOffset
, DMUS_TIMESIGNATURE
* pTimeSig
, MUSIC_TIME
* pmtTime
)
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
);
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
);
391 HeapFree(GetProcessHeap(), 0, This
);
396 /* IDirectMusicPerformance Interface part follow: */
397 HRESULT WINAPI
IDirectMusicPerformance8Impl_Init (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusic
** ppDirectMusic
, LPDIRECTSOUND pDirectSound
, HWND hWnd
)
403 HRESULT WINAPI
IDirectMusicPerformance8Impl_PlaySegment (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicSegment
* pSegment
, DWORD dwFlags
, __int64 i64StartTime
, IDirectMusicSegmentState
** ppSegmentState
)
409 HRESULT WINAPI
IDirectMusicPerformance8Impl_Stop (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicSegment
* pSegment
, IDirectMusicSegmentState
* pSegmentState
, MUSIC_TIME mtTime
, DWORD dwFlags
)
415 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetSegmentState (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicSegmentState
** ppSegmentState
, MUSIC_TIME mtTime
)
421 HRESULT WINAPI
IDirectMusicPerformance8Impl_SetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD dwMilliSeconds
)
427 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetPrepareTime (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD
* pdwMilliSeconds
)
433 HRESULT WINAPI
IDirectMusicPerformance8Impl_SetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD dwMilliSeconds
)
439 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetBumperLength (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD
* pdwMilliSeconds
)
445 HRESULT WINAPI
IDirectMusicPerformance8Impl_SendPMsg (LPDIRECTMUSICPERFORMANCE8 iface
, DMUS_PMSG
* pPMSG
)
451 HRESULT WINAPI
IDirectMusicPerformance8Impl_MusicToReferenceTime (LPDIRECTMUSICPERFORMANCE8 iface
, MUSIC_TIME mtTime
, REFERENCE_TIME
* prtTime
)
457 HRESULT WINAPI
IDirectMusicPerformance8Impl_ReferenceToMusicTime (LPDIRECTMUSICPERFORMANCE8 iface
, REFERENCE_TIME rtTime
, MUSIC_TIME
* pmtTime
)
463 HRESULT WINAPI
IDirectMusicPerformance8Impl_IsPlaying (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicSegment
* pSegment
, IDirectMusicSegmentState
* pSegState
)
469 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetTime (LPDIRECTMUSICPERFORMANCE8 iface
, REFERENCE_TIME
* prtNow
, MUSIC_TIME
* pmtNow
)
475 HRESULT WINAPI
IDirectMusicPerformance8Impl_AllocPMsg (LPDIRECTMUSICPERFORMANCE8 iface
, ULONG cb
, DMUS_PMSG
** ppPMSG
)
481 HRESULT WINAPI
IDirectMusicPerformance8Impl_FreePMsg (LPDIRECTMUSICPERFORMANCE8 iface
, DMUS_PMSG
* pPMSG
)
487 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetGraph (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicGraph
** ppGraph
)
493 HRESULT WINAPI
IDirectMusicPerformance8Impl_SetGraph (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicGraph
* pGraph
)
499 HRESULT WINAPI
IDirectMusicPerformance8Impl_SetNotificationHandle (LPDIRECTMUSICPERFORMANCE8 iface
, HANDLE hNotification
, REFERENCE_TIME rtMinimum
)
505 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetNotificationPMsg (LPDIRECTMUSICPERFORMANCE8 iface
, DMUS_NOTIFICATION_PMSG
** ppNotificationPMsg
)
511 HRESULT WINAPI
IDirectMusicPerformance8Impl_AddNotificationType (LPDIRECTMUSICPERFORMANCE8 iface
, REFGUID rguidNotificationType
)
517 HRESULT WINAPI
IDirectMusicPerformance8Impl_RemoveNotificationType (LPDIRECTMUSICPERFORMANCE8 iface
, REFGUID rguidNotificationType
)
523 HRESULT WINAPI
IDirectMusicPerformance8Impl_AddPort (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicPort
* pPort
)
529 HRESULT WINAPI
IDirectMusicPerformance8Impl_RemovePort (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicPort
* pPort
)
535 HRESULT WINAPI
IDirectMusicPerformance8Impl_AssignPChannelBlock (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD dwBlockNum
, IDirectMusicPort
* pPort
, DWORD dwGroup
)
541 HRESULT WINAPI
IDirectMusicPerformance8Impl_AssignPChannel (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD dwPChannel
, IDirectMusicPort
* pPort
, DWORD dwGroup
, DWORD dwMChannel
)
547 HRESULT WINAPI
IDirectMusicPerformance8Impl_PChannelInfo (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD dwPChannel
, IDirectMusicPort
** ppPort
, DWORD
* pdwGroup
, DWORD
* pdwMChannel
)
553 HRESULT WINAPI
IDirectMusicPerformance8Impl_DownloadInstrument (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicInstrument
* pInst
, DWORD dwPChannel
, IDirectMusicDownloadedInstrument
** ppDownInst
, DMUS_NOTERANGE
* pNoteRanges
, DWORD dwNumNoteRanges
, IDirectMusicPort
** ppPort
, DWORD
* pdwGroup
, DWORD
* pdwMChannel
)
559 HRESULT WINAPI
IDirectMusicPerformance8Impl_Invalidate (LPDIRECTMUSICPERFORMANCE8 iface
, MUSIC_TIME mtTime
, DWORD dwFlags
)
565 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetParam (LPDIRECTMUSICPERFORMANCE8 iface
, REFGUID rguidType
, DWORD dwGroupBits
, DWORD dwIndex
, MUSIC_TIME mtTime
, MUSIC_TIME
* pmtNext
, void* pParam
)
571 HRESULT WINAPI
IDirectMusicPerformance8Impl_SetParam (LPDIRECTMUSICPERFORMANCE8 iface
, REFGUID rguidType
, DWORD dwGroupBits
, DWORD dwIndex
, MUSIC_TIME mtTime
, void* pParam
)
577 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface
, REFGUID rguidType
, void* pParam
, DWORD dwSize
)
583 HRESULT WINAPI
IDirectMusicPerformance8Impl_SetGlobalParam (LPDIRECTMUSICPERFORMANCE8 iface
, REFGUID rguidType
, void* pParam
, DWORD dwSize
)
589 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetLatencyTime (LPDIRECTMUSICPERFORMANCE8 iface
, REFERENCE_TIME
* prtTime
)
595 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetQueueTime (LPDIRECTMUSICPERFORMANCE8 iface
, REFERENCE_TIME
* prtTime
)
601 HRESULT WINAPI
IDirectMusicPerformance8Impl_AdjustTime (LPDIRECTMUSICPERFORMANCE8 iface
, REFERENCE_TIME rtAmount
)
607 HRESULT WINAPI
IDirectMusicPerformance8Impl_CloseDown (LPDIRECTMUSICPERFORMANCE8 iface
)
613 HRESULT WINAPI
IDirectMusicPerformance8Impl_GetResolvedTime (LPDIRECTMUSICPERFORMANCE8 iface
, REFERENCE_TIME rtTime
, REFERENCE_TIME
* prtResolved
, DWORD dwTimeResolveFlags
)
619 HRESULT WINAPI
IDirectMusicPerformance8Impl_MIDIToMusic (LPDIRECTMUSICPERFORMANCE8 iface
, BYTE bMIDIValue
, DMUS_CHORD_KEY
* pChord
, BYTE bPlayMode
, BYTE bChordLevel
, WORD
* pwMusicValue
)
625 HRESULT WINAPI
IDirectMusicPerformance8Impl_MusicToMIDI (LPDIRECTMUSICPERFORMANCE8 iface
, WORD wMusicValue
, DMUS_CHORD_KEY
* pChord
, BYTE bPlayMode
, BYTE bChordLevel
, BYTE
* pbMIDIValue
)
631 HRESULT WINAPI
IDirectMusicPerformance8Impl_TimeToRhythm (LPDIRECTMUSICPERFORMANCE8 iface
, MUSIC_TIME mtTime
, DMUS_TIMESIGNATURE
* pTimeSig
, WORD
* pwMeasure
, BYTE
* pbBeat
, BYTE
* pbGrid
, short* pnOffset
)
637 HRESULT WINAPI
IDirectMusicPerformance8Impl_RhythmToTime (LPDIRECTMUSICPERFORMANCE8 iface
, WORD wMeasure
, BYTE bBeat
, BYTE bGrid
, short nOffset
, DMUS_TIMESIGNATURE
* pTimeSig
, MUSIC_TIME
* pmtTime
)
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
)
650 HRESULT WINAPI
IDirectMusicPerformance8ImplPlaySegmentEx (LPDIRECTMUSICPERFORMANCE8 iface
, IUnknown
* pSource
, WCHAR
* pwzSegmentName
, IUnknown
* pTransition
, DWORD dwFlags
, __int64 i64StartTime
, IDirectMusicSegmentState
** ppSegmentState
, IUnknown
* pFrom
, IUnknown
* pAudioPath
)
656 HRESULT WINAPI
IDirectMusicPerformance8ImplStopEx (LPDIRECTMUSICPERFORMANCE8 iface
, IUnknown
* pObjectToStop
, __int64 i64StopTime
, DWORD dwFlags
)
662 HRESULT WINAPI
IDirectMusicPerformance8ImplClonePMsg (LPDIRECTMUSICPERFORMANCE8 iface
, DMUS_PMSG
* pSourcePMSG
, DMUS_PMSG
** ppCopyPMSG
)
668 HRESULT WINAPI
IDirectMusicPerformance8ImplCreateAudioPath (LPDIRECTMUSICPERFORMANCE8 iface
, IUnknown
* pSourceConfig
, BOOL fActivate
, IDirectMusicAudioPath
** ppNewPath
)
674 HRESULT WINAPI
IDirectMusicPerformance8ImplCreateStandardAudioPath (LPDIRECTMUSICPERFORMANCE8 iface
, DWORD dwType
, DWORD dwPChannelCount
, BOOL fActivate
, IDirectMusicAudioPath
** ppNewPath
)
680 HRESULT WINAPI
IDirectMusicPerformance8ImplSetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicAudioPath
* pAudioPath
)
686 HRESULT WINAPI
IDirectMusicPerformance8ImplGetDefaultAudioPath (LPDIRECTMUSICPERFORMANCE8 iface
, IDirectMusicAudioPath
** ppAudioPath
)
692 HRESULT WINAPI
IDirectMusicPerformance8ImplGetParamEx (LPDIRECTMUSICPERFORMANCE8 iface
, REFGUID rguidType
, DWORD dwTrackID
, DWORD dwGroupBits
, DWORD dwIndex
, MUSIC_TIME mtTime
, MUSIC_TIME
* pmtNext
, void* pParam
)
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