94 TRACE(
"(%p)->(): new ref = %u\n", iface,
ref);
104 TRACE(
"(%p)->(): new ref = %u\n", iface,
ref);
145 *instrument = &
object->IDirectMusicDownloadedInstrument_iface;
159 *ret_iface = &
This->IDirectMusicPort_iface;
161 *ret_iface = &
This->IDirectMusicPortDownload_iface;
163 *ret_iface = &
This->IDirectMusicThru_iface;
165 *ret_iface = &
This->IKsControl_iface;
172 IUnknown_AddRef((
IUnknown*)*ret_iface);
278 TRACE(
"(%p/%p)->(%p, %p, %p, %d)\n", iface,
This, instrument, downloaded_instrument, note_ranges, num_note_ranges);
280 if (!instrument || !downloaded_instrument || (num_note_ranges && !note_ranges))
311 for (
i = 0;
i < nb_regions;
i++)
342 *downloaded_instrument =
NULL;
353 TRACE(
"(%p/%p)->(%p)\n", iface,
This, downloaded_instrument);
355 if (!downloaded_instrument)
384 FIXME(
"(%p/%p)->(%p): stub\n", iface,
This, stats);
393 FIXME(
"(%p/%p)->(): stub\n", iface,
This);
402 TRACE(
"(%p/%p)->(%p)\n", iface,
This, port_caps);
404 *port_caps =
This->caps;
414 FIXME(
"(%p/%p)->(%d, %p, %d, %p, %d, %p, %p): stub\n", iface,
This, io_control_code,
in_buffer, in_buffer_size,
out_buffer, out_buffer_size, bytes_returned,
overlapped);
423 FIXME(
"(%p/%p)->(%d): semi-stub\n", iface,
This, channel_groups);
425 This->nrofgroups = channel_groups;
434 TRACE(
"(%p/%p)->(%p)\n", iface,
This, channel_groups);
436 *channel_groups =
This->nrofgroups;
445 FIXME(
"(%p/%p)->(%d): semi-stub\n", iface,
This, active);
447 if (
This->active == active)
454 This->dsound =
This->parent->dsound;
461 if (
This->dsound ==
This->parent->dsound)
465 This->active = active;
474 FIXME(
"(%p/%p)->(%d, %d, %d): semi-stub\n", iface,
This, channel_group, channel,
priority);
478 WARN(
"isn't there supposed to be 16 channels (no. %d requested)?! (faking as it is ok)\n", channel);
491 *
priority =
This->group[channel_group - 1].channel[channel].priority;
497 IDirectSoundBuffer *dsbuffer)
501 FIXME(
"(%p/%p)->(%p, %p): semi-stub\n", iface,
This, dsound, dsbuffer);
507 if (
This->dsound !=
This->parent->dsound)
508 ERR(
"Not the same dsound in the port (%p) and parent dmusic (%p), expect trouble!\n",
509 This->dsound,
This->parent->dsound);
516 This->dsound = dsound;
517 This->dsbuffer = dsbuffer;
531 FIXME(
"(%p, %p, %p, %p): stub\n",
This, pWaveFormatEx, pdwWaveFormatExSize, pdwBufferSize);
533 if (pWaveFormatEx ==
NULL)
535 if (pdwWaveFormatExSize)
536 *pdwWaveFormatExSize =
sizeof(
format);
542 if (pdwWaveFormatExSize ==
NULL)
549 format.nSamplesPerSec = 44100;
550 format.wBitsPerSample = 16;
555 if (*pdwWaveFormatExSize >=
sizeof(
format))
558 *pdwWaveFormatExSize =
sizeof(
format);
565 *pdwBufferSize = 44100 * 2 * 2;
630 FIXME(
"(%p/%p)->(%u, %p): stub\n", iface,
This, DLId, IDMDownload);
642 FIXME(
"(%p/%p)->(%u, %p): stub\n", iface,
This,
size, IDMDownload);
651 FIXME(
"(%p/%p)->(%p, %u): stub\n", iface,
This, start_DLId,
count);
669 FIXME(
"(%p/%p)->(%p): stub\n", iface,
This, IDMDownload);
678 FIXME(
"(%p/%p)->(%p): stub\n", iface,
This, IDMDownload);
731 FIXME(
"(%p/%p)->(%d, %d, %d, %d, %p): stub\n", iface,
This, source_channel_group, source_channel, destination_channel_group, destination_channel, destination_port);
770 TRACE(
"(%p)->(%p, %u, %p, %u, %p)\n", iface, prop, prop_len,
data, data_len,
ret_len);
775 FIXME(
"prop flags %u not yet supported\n", prop->u.s.
Flags);
779 if (data_len <
sizeof(
DWORD))
792 FIXME(
"(%p)->(%p, %u, %p, %u, %p): stub\n", iface,
method, method_len,
data, data_len,
ret_len);
800 FIXME(
"(%p)->(%p, %u, %p, %u, %p): stub\n", iface,
event, event_len,
data, data_len,
ret_len);
821 TRACE(
"(%p, %p, %p)\n", port_params, port_caps,
port);
836 obj->params = *port_params;
837 obj->caps = *port_caps;
850 hr =
CoCreateInstance(&CLSID_DirectMusicSynthSink,
NULL, CLSCTX_INPROC_SERVER, &IID_IDirectMusicSynthSink, (
void**)&
obj->synth_sink);
869 for (
i = 0;
i <
obj->nrofgroups;
i++) {
870 TRACE (
"Setting default channel priorities on channel group %i\n",
i + 1);
892 *
port = &
obj->IDirectMusicPort_iface;
900 if (
obj->pLatencyClock)
929 *ret_iface = &
This->IDirectMusicThru_iface;
936 IUnknown_AddRef((
IUnknown *)*ret_iface);
946 TRACE(
"(%p) ref = %u\n", iface,
ref);
956 TRACE(
"(%p) ref = %u\n", iface,
ref);
968 IDirectMusicBuffer *
buffer)
984 IDirectMusicBuffer *
buffer)
992 IDirectMusicInstrument *instrument, IDirectMusicDownloadedInstrument **downloaded,
995 FIXME(
"(%p, %p, %p, %p, %u) stub!\n", iface, instrument, downloaded, ranges, num_ranges);
1001 IDirectMusicDownloadedInstrument *downloaded)
1003 FIXME(
"(%p, %p) stub!\n", iface, downloaded);
1027 FIXME(
"(%p, %p) stub!\n", iface, stats);
1034 FIXME(
"(%p) stub!\n", iface);
1041 FIXME(
"(%p, %p) stub!\n", iface, caps);
1050 FIXME(
"(%p, %u, %p, %u, %p, %u, %p, %p) stub!\n", iface, io_control_code,
in, size_in,
out 1059 FIXME(
"(%p, %u) stub!\n", iface, cgroups);
1067 FIXME(
"(%p, %p) stub!\n", iface, cgroups);
1074 FIXME(
"(%p, %u) stub!\n", iface, active);
1082 FIXME(
"(%p, %u, %u, %u) stub!\n", iface, channel_group, channel,
priority);
1090 FIXME(
"(%p, %u, %u, %p) stub!\n", iface, channel_group, channel,
priority);
1096 IDirectSound *dsound, IDirectSoundBuffer *dsbuffer)
1098 FIXME(
"(%p, %p, %p) stub!\n", iface, dsound, dsbuffer);
1162 DWORD src_channel,
DWORD dest_group,
DWORD dest_channel, IDirectMusicPort *dest_port)
1164 FIXME(
"(%p, %u, %u, %u, %u, %p) stub!\n", iface, src_group, src_channel, dest_group,
1165 dest_channel, dest_port);
1183 if (!(
obj = heap_alloc_zero(
sizeof(*
obj))))
1196 *
port = &
obj->IDirectMusicPort_iface;
struct SynthPortImpl SynthPortImpl
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_Compact(LPDIRECTMUSICPORT iface)
static HRESULT WINAPI IKsControlImpl_KsEvent(IKsControl *iface, KSEVENT *event, ULONG event_len, void *data, ULONG data_len, ULONG *ret_len)
HRESULT midi_in_port_create(IDirectMusic8Impl *parent, DMUS_PORTPARAMS *params, DMUS_PORTCAPS *caps, IDirectMusicPort **port)
HRESULT synth_port_create(IDirectMusic8Impl *parent, DMUS_PORTPARAMS *port_params, DMUS_PORTCAPS *port_caps, IDirectMusicPort **port)
DWORD MIDILOCALE2Patch(const MIDILOCALE *pLocale)
#define DAUD_CHAN5_DEF_VOICE_PRIORITY
#define IDirectSoundBuffer_AddRef(p)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPortDownload_GetBuffer(LPDIRECTMUSICPORTDOWNLOAD iface, DWORD DLId, IDirectMusicDownload **IDMDownload)
static IDirectMusicInstrumentImpl * impl_from_IDirectMusicInstrument(IDirectMusicInstrument *iface)
static const IDirectMusicThruVtbl SynthPortImpl_DirectMusicThru_Vtbl
static HRESULT WINAPI midi_IDirectMusicPort_SetNumChannelGroups(IDirectMusicPort *iface, DWORD cgroups)
static HRESULT WINAPI midi_IDirectMusicPort_DeviceIoControl(IDirectMusicPort *iface, DWORD io_control_code, void *in, DWORD size_in, void *out, DWORD size_out, DWORD *ret_len, OVERLAPPED *overlapped)
static HRESULT WINAPI midi_IDirectMusicPort_UnloadInstrument(IDirectMusicPort *iface, IDirectMusicDownloadedInstrument *downloaded)
static struct midi_port * impl_from_IDirectMusicPort(IDirectMusicPort *iface)
static ULONG WINAPI IKsControlImpl_AddRef(IKsControl *iface)
static SynthPortImpl * impl_from_SynthPortImpl_IDirectMusicPortDownload(IDirectMusicPortDownload *iface)
static const IKsControlVtbl ikscontrol_vtbl
coclass MSXML2::XSLTemplate40 object
IReferenceClock * pLatencyClock
#define DMUS_PORTPARAMS_CHANNELGROUPS
const GUID IID_IKsControl
#define DAUD_CHAN7_DEF_VOICE_PRIORITY
void dmusic_remove_port(IDirectMusic8Impl *dmusic, IDirectMusicPort *port)
#define IDirectMusicPort_Release(p)
const char * debugstr_dmguid(const GUID *id)
#define IDirectMusicSynth_Close(p)
#define IDirectSoundBuffer_Release(p)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPortDownload_AllocateBuffer(LPDIRECTMUSICPORTDOWNLOAD iface, DWORD size, IDirectMusicDownload **IDMDownload)
GLuint GLuint GLsizei count
static HRESULT WINAPI midi_IDirectMusicPort_GetCaps(IDirectMusicPort *iface, DMUS_PORTCAPS *caps)
#define DAUD_CHAN16_DEF_VOICE_PRIORITY
static HRESULT WINAPI midi_IDirectMusicPort_GetLatencyClock(IDirectMusicPort *iface, IReferenceClock **clock)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_UnloadInstrument(LPDIRECTMUSICPORT iface, IDirectMusicDownloadedInstrument *downloaded_instrument)
struct IDirectMusicBuffer * LPDIRECTMUSICBUFFER
static IDirectMusicDownloadedInstrumentImpl * unsafe_impl_from_IDirectMusicDownloadedInstrument(IDirectMusicDownloadedInstrument *iface)
static HRESULT WINAPI midi_IDirectMusicPort_QueryInterface(IDirectMusicPort *iface, REFIID riid, void **ret_iface)
IDirectMusicPortDownload IDirectMusicPortDownload_iface
static HRESULT WINAPI midi_IDirectMusicThru_ThruChannel(IDirectMusicThru *iface, DWORD src_group, DWORD src_channel, DWORD dest_group, DWORD dest_channel, IDirectMusicPort *dest_port)
struct _DMUS_DOWNLOADINFO DMUS_DOWNLOADINFO
IDirectMusicThru IDirectMusicThru_iface
#define IDirectMusicPort_QueryInterface(p, a, b)
static void append(struct dump_context *dc, const void *data, unsigned size)
static const IDirectMusicDownloadedInstrumentVtbl DirectMusicDownloadedInstrument_Vtbl
#define IDirectMusicSynthSink_Release(p)
static const IDirectMusicPortVtbl midi_port_vtbl
#define KSPROPERTY_TYPE_GET
IKsControl IKsControl_iface
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG PVOID out_buffer
#define IDirectMusicBuffer_GetRawBufferPtr(p, a)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_GetCaps(LPDIRECTMUSICPORT iface, LPDMUS_PORTCAPS port_caps)
static HRESULT WINAPI midi_IDirectMusicPort_GetRunningStats(IDirectMusicPort *iface, DMUS_SYNTHSTATS *stats)
GLsizei GLsizei GLuint * obj
static void DMUSIC_UnlockModule(void)
IDirectMusicPort IDirectMusicPort_iface
#define DAUD_CHAN15_DEF_VOICE_PRIORITY
static unsigned char * in_buffer
#define DMUS_E_NOT_DOWNLOADED_TO_PORT
static ULONG WINAPI midi_IDirectMusicPort_Release(IDirectMusicPort *iface)
static HRESULT WINAPI SynthPortImpl_IDirectMusicThru_ThruChannel(LPDIRECTMUSICTHRU iface, DWORD source_channel_group, DWORD source_channel, DWORD destination_channel_group, DWORD destination_channel, LPDIRECTMUSICPORT destination_port)
#define DAUD_CHAN3_DEF_VOICE_PRIORITY
GLenum const GLfloat * params
static ULONG WINAPI IKsControlImpl_Release(IKsControl *iface)
#define IDirectMusicSynthSink_SetMasterClock(p, a)
static HRESULT WINAPI IKsControlImpl_KsProperty(IKsControl *iface, KSPROPERTY *prop, ULONG prop_len, void *data, ULONG data_len, ULONG *ret_len)
#define DMUS_DOWNLOADINFO_INSTRUMENT2
static struct _test_info info[]
static HRESULT WINAPI SynthPortImpl_IDirectMusicThru_QueryInterface(LPDIRECTMUSICTHRU iface, REFIID riid, LPVOID *ret_iface)
#define IDirectMusicSynth_Open(p, a)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPortDownload_QueryInterface(LPDIRECTMUSICPORTDOWNLOAD iface, REFIID riid, LPVOID *ret_iface)
static void buffer_size(GLcontext *ctx, GLuint *width, GLuint *height)
static IDirectMusicDownloadedInstrumentImpl * impl_from_IDirectMusicDownloadedInstrument(IDirectMusicDownloadedInstrument *iface)
struct _DMUS_INSTRUMENT DMUS_INSTRUMENT
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_GetRunningStats(LPDIRECTMUSICPORT iface, LPDMUS_SYNTHSTATS stats)
WDF_INTERRUPT_PRIORITY priority
static void DMUSIC_LockModule(void)
#define IDirectMusicDownloadedInstrument_AddRef(p)
static HRESULT WINAPI midi_IDirectMusicThru_QueryInterface(IDirectMusicThru *iface, REFIID riid, void **ret_iface)
#define DAUD_CHAN11_DEF_VOICE_PRIORITY
static ULONG WINAPI SynthPortImpl_IDirectMusicPortDownload_AddRef(LPDIRECTMUSICPORTDOWNLOAD iface)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
#define DAUD_CHAN1_DEF_VOICE_PRIORITY
static HRESULT WINAPI SynthPortImpl_IDirectMusicPortDownload_Download(LPDIRECTMUSICPORTDOWNLOAD iface, IDirectMusicDownload *IDMDownload)
IDirectMusicThru IDirectMusicThru_iface
static ULONG WINAPI IDirectMusicDownloadedInstrumentImpl_AddRef(LPDIRECTMUSICDOWNLOADEDINSTRUMENT iface)
HRESULT DMUSIC_CreateDirectMusicDownloadImpl(LPCGUID lpcGUID, LPVOID *ppobj, LPUNKNOWN pUnkOuter) DECLSPEC_HIDDEN
#define DAUD_CHAN14_DEF_VOICE_PRIORITY
#define DAUD_CHAN10_DEF_VOICE_PRIORITY
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static HRESULT WINAPI IKsControlImpl_QueryInterface(IKsControl *iface, REFIID riid, void **ret_iface)
IDirectMusicPort IDirectMusicPort_iface
struct _DMUS_REGION DMUS_REGION
struct IDirectMusicDownloadedInstrument * LPDIRECTMUSICDOWNLOADEDINSTRUMENT
static HRESULT WINAPI SynthPortImpl_IDirectMusicPortDownload_Unload(LPDIRECTMUSICPORTDOWNLOAD iface, IDirectMusicDownload *IDMDownload)
static HRESULT WINAPI midi_IDirectMusicPort_Read(IDirectMusicPort *iface, IDirectMusicBuffer *buffer)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_GetNumChannelGroups(LPDIRECTMUSICPORT iface, LPDWORD channel_groups)
static HRESULT WINAPI midi_IDirectMusicPort_GetNumChannelGroups(IDirectMusicPort *iface, DWORD *cgroups)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_GetLatencyClock(LPDIRECTMUSICPORT iface, IReferenceClock **clock)
static SynthPortImpl * impl_from_SynthPortImpl_IDirectMusicThru(IDirectMusicThru *iface)
static HRESULT WINAPI IKsControlImpl_KsMethod(IKsControl *iface, KSMETHOD *method, ULONG method_len, void *data, ULONG data_len, ULONG *ret_len)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static JOBOBJECTINFOCLASS LPVOID DWORD LPDWORD ret_len
WINE_DEFAULT_DEBUG_CHANNEL(dmusic)
static const IDirectMusicPortVtbl SynthPortImpl_DirectMusicPort_Vtbl
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_SetNumChannelGroups(LPDIRECTMUSICPORT iface, DWORD channel_groups)
static HRESULT WINAPI midi_IDirectMusicPort_SetChannelPriority(IDirectMusicPort *iface, DWORD channel_group, DWORD channel, DWORD priority)
#define IDirectMusicBuffer_GetUsedBytes(p, a)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_DeviceIoControl(LPDIRECTMUSICPORT iface, DWORD io_control_code, LPVOID in_buffer, DWORD in_buffer_size, LPVOID out_buffer, DWORD out_buffer_size, LPDWORD bytes_returned, LPOVERLAPPED overlapped)
static struct midi_port * impl_from_IDirectMusicThru(IDirectMusicThru *iface)
static HRESULT WINAPI midi_IDirectMusicPort_SetDirectSound(IDirectMusicPort *iface, IDirectSound *dsound, IDirectSoundBuffer *dsbuffer)
static const IDirectMusicThruVtbl midi_thru_vtbl
#define InterlockedDecrement
IDirectSoundBuffer * dsbuffer
#define DAUD_CHAN9_DEF_VOICE_PRIORITY
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_GetFormat(LPDIRECTMUSICPORT iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize, LPDWORD pdwBufferSize)
static ULONG WINAPI IDirectMusicDownloadedInstrumentImpl_Release(LPDIRECTMUSICDOWNLOADEDINSTRUMENT iface)
#define E_NOT_SUFFICIENT_BUFFER
#define IDirectMusicSynth_SetSynthSink(p, a)
#define DAUD_CHAN2_DEF_VOICE_PRIORITY
#define DAUD_CHAN8_DEF_VOICE_PRIORITY
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPortDownload_GetDLId(LPDIRECTMUSICPORTDOWNLOAD iface, DWORD *start_DLId, DWORD count)
static HRESULT WINAPI midi_IDirectMusicPort_GetFormat(IDirectMusicPort *iface, WAVEFORMATEX *format, DWORD *format_size, DWORD *buffer_size)
static HRESULT WINAPI midi_IDirectMusicPort_Activate(IDirectMusicPort *iface, BOOL active)
static ULONG WINAPI SynthPortImpl_IDirectMusicPort_AddRef(LPDIRECTMUSICPORT iface)
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED * overlapped
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_GetChannelPriority(LPDIRECTMUSICPORT iface, DWORD channel_group, DWORD channel, LPDWORD priority)
#define IDirectMusicSynth_Release(p)
static ULONG WINAPI SynthPortImpl_IDirectMusicPortDownload_Release(LPDIRECTMUSICPORTDOWNLOAD iface)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPortDownload_GetAppend(LPDIRECTMUSICPORTDOWNLOAD iface, DWORD *append)
#define InterlockedIncrement
#define IDirectSound_Release(p)
#define IReferenceClock_Release(p)
struct IDirectMusicThru * LPDIRECTMUSICTHRU
#define IDirectMusicSynth_Activate(p, a)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_SetChannelPriority(LPDIRECTMUSICPORT iface, DWORD channel_group, DWORD channel, DWORD priority)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_PlayBuffer(LPDIRECTMUSICPORT iface, LPDIRECTMUSICBUFFER buffer)
static HRESULT WINAPI midi_IDirectMusicPort_GetChannelPriority(IDirectMusicPort *iface, DWORD channel_group, DWORD channel, DWORD *priority)
static HRESULT WINAPI midi_IDirectMusicPort_PlayBuffer(IDirectMusicPort *iface, IDirectMusicBuffer *buffer)
static HRESULT midi_port_create(IDirectMusic8Impl *parent, DMUS_PORTPARAMS *params, DMUS_PORTCAPS *caps, IDirectMusicPort **port)
static HRESULT WINAPI IDirectMusicDownloadedInstrumentImpl_QueryInterface(IDirectMusicDownloadedInstrument *iface, REFIID riid, VOID **ret_iface)
static SynthPortImpl * impl_from_IKsControl(IKsControl *iface)
ULONG ulOffsetTable[DMUS_DEFAULT_SIZE_OFFSETTABLE]
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
_Check_return_ _CRTIMP clock_t __cdecl clock(void)
static HRESULT WINAPI midi_IDirectMusicPort_SetReadNotificationHandle(IDirectMusicPort *iface, HANDLE event)
struct IDirectMusicPort * LPDIRECTMUSICPORT
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_DownloadInstrument(LPDIRECTMUSICPORT iface, IDirectMusicInstrument *instrument, IDirectMusicDownloadedInstrument **downloaded_instrument, DMUS_NOTERANGE *note_ranges, DWORD num_note_ranges)
IDirectMusicSynthSink * synth_sink
static ULONG WINAPI SynthPortImpl_IDirectMusicThru_AddRef(LPDIRECTMUSICTHRU iface)
static ULONG WINAPI SynthPortImpl_IDirectMusicThru_Release(LPDIRECTMUSICTHRU iface)
#define IDirectMusicSynth8_Download(p, a, b, c)
static HRESULT WINAPI synth_dmport_SetDirectSound(IDirectMusicPort *iface, IDirectSound *dsound, IDirectSoundBuffer *dsbuffer)
static ULONG WINAPI midi_IDirectMusicThru_Release(IDirectMusicThru *iface)
instrument_region * regions
static ULONG WINAPI midi_IDirectMusicThru_AddRef(IDirectMusicThru *iface)
static SynthPortImpl * impl_from_SynthPortImpl_IDirectMusicPort(IDirectMusicPort *iface)
#define IReferenceClock_AddRef(p)
#define IDirectMusicSynth_SetMasterClock(p, a)
static HRESULT DMUSIC_CreateDirectMusicDownloadedInstrumentImpl(IDirectMusicDownloadedInstrument **instrument)
#define IDirectMusicBuffer_GetStartTime(p, a)
#define DMUS_E_DSOUND_ALREADY_SET
#define IDirectSound_AddRef(p)
#define IDirectMusicSynth_PlayBuffer(p, a, b, c)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_Read(LPDIRECTMUSICPORT iface, LPDIRECTMUSICBUFFER buffer)
static HRESULT WINAPI midi_IDirectMusicPort_DownloadInstrument(IDirectMusicPort *iface, IDirectMusicInstrument *instrument, IDirectMusicDownloadedInstrument **downloaded, DMUS_NOTERANGE *ranges, DWORD num_ranges)
IDirectMusic8Impl * parent
static HRESULT WINAPI midi_IDirectMusicPort_Compact(IDirectMusicPort *iface)
static ULONG WINAPI midi_IDirectMusicPort_AddRef(IDirectMusicPort *iface)
static const IDirectMusicPortDownloadVtbl SynthPortImpl_DirectMusicPortDownload_Vtbl
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_SetReadNotificationHandle(LPDIRECTMUSICPORT iface, HANDLE event)
struct IDirectMusicPortDownload * LPDIRECTMUSICPORTDOWNLOAD
#define DAUD_CHAN13_DEF_VOICE_PRIORITY
#define DAUD_CHAN6_DEF_VOICE_PRIORITY
#define HeapFree(x, y, z)
#define IDirectMusicPort_AddRef(p)
static HRESULT WINAPI SynthPortImpl_IDirectMusicPort_QueryInterface(LPDIRECTMUSICPORT iface, REFIID riid, LPVOID *ret_iface)
#define IsEqualIID(riid1, riid2)
static ULONG WINAPI SynthPortImpl_IDirectMusicPort_Release(LPDIRECTMUSICPORT iface)
#define DAUD_CHAN12_DEF_VOICE_PRIORITY
static HRESULT WINAPI synth_dmport_Activate(IDirectMusicPort *iface, BOOL active)
HRESULT midi_out_port_create(IDirectMusic8Impl *parent, DMUS_PORTPARAMS *params, DMUS_PORTCAPS *caps, IDirectMusicPort **port)
HRESULT DMUSIC_CreateReferenceClockImpl(LPCGUID riid, LPVOID *ret_iface, LPUNKNOWN unkouter)
IDirectMusicSynth * synth
static BOOL heap_free(void *mem)
#define DAUD_CHAN4_DEF_VOICE_PRIORITY
void format_size(uint64_t size, wstring &s, bool show_bytes)