Author: janderwald Date: Mon Nov 1 00:17:07 2010 New Revision: 49388
URL: http://svn.reactos.org/svn/reactos?rev=49388&view=rev Log: [DDK] - Add dmusprop header - Add IMP_PowerNotify macro to portcls.h - Add IID_IMusicTechnology guid to portcls.h - Add GTI_XXX macros to portcls.h - Remove broken definitions of KSPROPSETID_Synth, KSPROPSETID_Synth_Dls. They are defined in dmusprop.h - Add KSDATARANGE_MUSIC to ksmedia.h - Add KSMUSIC_TECHNOLOGY, KSDATAFORMAT_SUBTYPE_MIDI_BUS, KSAUDFNAME_MIDI, KSNODETYPE_SYNTHESIZER to ksmedia.h
Added: trunk/reactos/include/ddk/dmusprop.h (with props) Modified: trunk/reactos/include/ddk/dmusicks.h trunk/reactos/include/ddk/portcls.h trunk/reactos/include/psdk/ks.h trunk/reactos/include/psdk/ksmedia.h
Modified: trunk/reactos/include/ddk/dmusicks.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/dmusicks.h?rev=... ============================================================================== --- trunk/reactos/include/ddk/dmusicks.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/dmusicks.h [iso-8859-1] Mon Nov 1 00:17:07 2010 @@ -1,5 +1,7 @@ #ifndef _DMUSICKS_ #define _DMUSICKS_ + +#include <dmusprop.h>
#define DONT_HOLD_FOR_SEQUENCING 0x8000000000000000
@@ -230,4 +232,35 @@ IN PMASTERCLOCK MasterClock, \ OUT PULONGLONG SchedulePreFetch)
+ +#define STATIC_KSAUDFNAME_DMUSIC_MPU_OUT\ + 0xA4DF0EB5, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1} +DEFINE_GUIDSTRUCT("A4DF0EB5-BAC9-11d2-B7A8-0060083316C1", KSAUDFNAME_DMUSIC_MPU_OUT); +#define KSAUDFNAME_DMUSIC_MPU_OUT DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_OUT) + +#define STATIC_KSAUDFNAME_DMUSIC_MPU_IN\ + 0xB2EC0A7D, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1} +DEFINE_GUIDSTRUCT("B2EC0A7D-BAC9-11d2-B7A8-0060083316C1", KSAUDFNAME_DMUSIC_MPU_IN); +#define KSAUDFNAME_DMUSIC_MPU_IN DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_IN) + +#define STATIC_IID_IMXF\ + 0xc096df9e, 0xfb09, 0x11d1, {0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1} +DEFINE_GUIDSTRUCT("c096df9e-fb09-11d1-81b0-0060083316c1", IID_IMXF); +#define IID_IMXF DEFINE_GUIDNAMED(IID_IMXF) + +#define DMUS_KEF_EVENT_COMPLETE 0x0000 +#define DMUS_KEF_EVENT_INCOMPLETE 0x0001 +#define DMUS_KEF_PACKAGE_EVENT 0x0002 +#define kBytePositionNone (~(ULONGLONG)0) + +#define SHORT_EVT(evt) ((evt)->cbEvent <= sizeof(PBYTE)) +#define PACKAGE_EVT(evt) ((evt)->usFlags & DMUS_KEF_PACKAGE_EVENT) +#define INCOMPLETE_EVT(evt) ((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE) +#define COMPLETE_EVT(evt) (((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE) == 0) + +#define SET_INCOMPLETE_EVT(evt) ((evt)->usFlags |= DMUS_KEF_EVENT_INCOMPLETE) +#define SET_COMPLETE_EVT(evt) ((evt)->usFlags &= (~DMUS_KEF_EVENT_INCOMPLETE)) +#define SET_PACKAGE_EVT(evt) ((evt)->usFlags |= DMUS_KEF_PACKAGE_EVENT) +#define CLEAR_PACKAGE_EVT(evt) ((evt)->usFlags &= (~DMUS_KEF_PACKAGE_EVENT)) + #endif /* _DMUSICKS_ */
Added: trunk/reactos/include/ddk/dmusprop.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/dmusprop.h?rev=... ============================================================================== --- trunk/reactos/include/ddk/dmusprop.h (added) +++ trunk/reactos/include/ddk/dmusprop.h [iso-8859-1] Mon Nov 1 00:17:07 2010 @@ -1,0 +1,203 @@ +#ifndef _DMusProp_ +#define _DMusProp_ + +//#include "dmusbuff.h" + +#define STATIC_KSDATAFORMAT_SUBTYPE_DIRECTMUSIC\ + 0x1a82f8bc, 0x3f8b, 0x11d2, {0xb7, 0x74, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1} +DEFINE_GUIDSTRUCT("1a82f8bc-3f8b-11d2-b774-0060083316c1", KSDATAFORMAT_SUBTYPE_DIRECTMUSIC); +#define KSDATAFORMAT_SUBTYPE_DIRECTMUSIC DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DIRECTMUSIC) + +#define STATIC_KSNODETYPE_DMSYNTH\ + 0x94824f88, 0x6183, 0x11d2, {0x8f, 0x7a, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef} +DEFINE_GUIDSTRUCT("94824F88-6183-11d2-8F7A-00C04FBF8FEF", KSNODETYPE_DMSYNTH); +#define KSNODETYPE_DMSYNTH DEFINE_GUIDNAMED(KSNODETYPE_DMSYNTH) + +#define STATIC_KSNODETYPE_DMSYNTH_CAPS\ + 0xbca2a2f1, 0x93c6, 0x11d2, {0xba, 0x1d, 0x0, 0x0, 0xf8, 0x75, 0xac, 0x12} +DEFINE_GUIDSTRUCT("bca2a2f1-93c6-11d2-ba1d-0000f875ac12", KSNODETYPE_DMSYNTH_CAPS); +#define KSNODETYPE_DMSYNTH_CAPS DEFINE_GUIDNAMED(KSNODETYPE_DMSYNTH_CAPS) + +#define STATIC_KSPROPSETID_Synth_Dls\ + 0xd523fa2c, 0xdee3, 0x11d1, {0xa7, 0x89, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} +DEFINE_GUIDSTRUCT("d523fa2c-dee3-11d1-a789-0000f875ac12", KSPROPSETID_Synth_Dls); +#define KSPROPSETID_Synth_Dls DEFINE_GUIDNAMED(KSPROPSETID_Synth_Dls) + +typedef enum +{ + KSPROPERTY_SYNTH_DLS_DOWNLOAD = 0, + KSPROPERTY_SYNTH_DLS_UNLOAD, + KSPROPERTY_SYNTH_DLS_COMPACT, + KSPROPERTY_SYNTH_DLS_APPEND, + KSPROPERTY_SYNTH_DLS_WAVEFORMAT +} KSPROPERTY_SYNTH_DLS; + +typedef struct _SYNTH_BUFFER +{ + ULONG BufferSize; + PVOID BufferAddress; +} SYNTH_BUFFER, *PSYNTH_BUFFER; + +typedef struct _SYNTHDOWNLOAD +{ + HANDLE DownloadHandle; + BOOL Free; +} SYNTHDOWNLOAD, *PSYNTHDOWNLOAD; + +#define STATIC_KSPROPSETID_Synth\ + 0xfedfae25L, 0xe46e, 0x11d1, {0xaa, 0xce, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12} +DEFINE_GUIDSTRUCT("fedfae25-e46e-11d1-aace-0000f875ac12", KSPROPSETID_Synth); +#define KSPROPSETID_Synth DEFINE_GUIDNAMED(KSPROPSETID_Synth) + +typedef enum +{ + KSPROPERTY_SYNTH_VOLUME = 0, + KSPROPERTY_SYNTH_VOLUMEBOOST, + KSPROPERTY_SYNTH_CAPS, + KSPROPERTY_SYNTH_PORTPARAMETERS, + KSPROPERTY_SYNTH_CHANNELGROUPS, + KSPROPERTY_SYNTH_VOICEPRIORITY, + KSPROPERTY_SYNTH_LATENCYCLOCK, + KSPROPERTY_SYNTH_RUNNINGSTATS +} KSPROPERTY_SYNTH; + +#define SYNTH_PC_DLS (0x00000001) +#define SYNTH_PC_EXTERNAL (0x00000002) +#define SYNTH_PC_SOFTWARESYNTH (0x00000004) +#define SYNTH_PC_MEMORYSIZEFIXED (0x00000008) +#define SYNTH_PC_GMINHARDWARE (0x00000010) +#define SYNTH_PC_GSINHARDWARE (0x00000020) +#define SYNTH_PC_SYSTEMMEMORY (0x7fffffff) + +#if (NTDDI_VERSION < NTDDI_WINXP) +#define SYNTH_PC_REVERB (0x00000040) +#elif (NTDDI_VERSION >= NTDDI_WINXP) +#define SYNTH_PC_XGINHARDWARE (0x00000040) +#define SYNTH_PC_DLS2 (0x00000200) +#define SYNTH_PC_REVERB (0x40000000) +#endif + +typedef struct _SYNTHCAPS +{ + GUID Guid; + DWORD Flags; + DWORD MemorySize; + DWORD MaxChannelGroups; + DWORD MaxVoices; + DWORD MaxAudioChannels; + DWORD EffectFlags; + WCHAR Description[128]; +} SYNTHCAPS, *PSYNTHCAPS; + + +typedef struct _SYNTH_PORTPARAMS +{ + DWORD ValidParams; + DWORD Voices; + DWORD ChannelGroups; + DWORD AudioChannels; + DWORD SampleRate; + DWORD EffectsFlags; + DWORD Share; +} SYNTH_PORTPARAMS, *PSYNTH_PORTPARAMS; + +#define SYNTH_PORTPARAMS_VOICES 0x00000001 +#define SYNTH_PORTPARAMS_CHANNELGROUPS 0x00000002 +#define SYNTH_PORTPARAMS_AUDIOCHANNELS 0x00000004 +#define SYNTH_PORTPARAMS_SAMPLERATE 0x00000008 +#define SYNTH_PORTPARAMS_EFFECTS 0x00000020 +#define SYNTH_PORTPARAMS_SHARE 0x00000040 + +#define SYNTH_EFFECT_NONE 0x00000000 +#define SYNTH_EFFECT_REVERB 0x00000001 +#define SYNTH_EFFECT_CHORUS 0x00000002 +#define SYNTH_EFFECT_DELAY 0x00000004 + +typedef struct _SYNTHVOICEPRIORITY_INSTANCE +{ + DWORD ChannelGroup; + DWORD Channel; +} SYNTHVOICEPRIORITY_INSTANCE, *PSYNTHVOICEPRIORITY_INSTANCE; + +typedef struct _SYNTH_STATS +{ + DWORD ValidStats; + DWORD Voices; + DWORD TotalCPU; + DWORD CPUPerVoice; + DWORD LostNotes; + DWORD FreeMemory; + LONG PeakVolume; +} SYNTH_STATS, *PSYNTH_STATS; + + +#define SYNTH_STATS_VOICES (1 << 0) +#define SYNTH_STATS_TOTAL_CPU (1 << 1) +#define SYNTH_STATS_CPU_PER_VOICE (1 << 2) +#define SYNTH_STATS_LOST_NOTES (1 << 3) +#define SYNTH_STATS_PEAK_VOLUME (1 << 4) +#define SYNTH_STATS_FREE_MEMORY (1 << 5) + +#ifndef _DIRECTAUDIO_PRIORITIES_DEFINED_ +#define _DIRECTAUDIO_PRIORITIES_DEFINED_ + +#define DAUD_CRITICAL_VOICE_PRIORITY (0xF0000000) +#define DAUD_HIGH_VOICE_PRIORITY (0xC0000000) +#define DAUD_STANDARD_VOICE_PRIORITY (0x80000000) +#define DAUD_LOW_VOICE_PRIORITY (0x40000000) +#define DAUD_PERSIST_VOICE_PRIORITY (0x10000000) + +#define DAUD_CHAN1_VOICE_PRIORITY_OFFSET (0x0000000E) +#define DAUD_CHAN2_VOICE_PRIORITY_OFFSET (0x0000000D) +#define DAUD_CHAN3_VOICE_PRIORITY_OFFSET (0x0000000C) +#define DAUD_CHAN4_VOICE_PRIORITY_OFFSET (0x0000000B) +#define DAUD_CHAN5_VOICE_PRIORITY_OFFSET (0x0000000A) +#define DAUD_CHAN6_VOICE_PRIORITY_OFFSET (0x00000009) +#define DAUD_CHAN7_VOICE_PRIORITY_OFFSET (0x00000008) +#define DAUD_CHAN8_VOICE_PRIORITY_OFFSET (0x00000007) +#define DAUD_CHAN9_VOICE_PRIORITY_OFFSET (0x00000006) +#define DAUD_CHAN10_VOICE_PRIORITY_OFFSET (0x0000000F) +#define DAUD_CHAN11_VOICE_PRIORITY_OFFSET (0x00000005) +#define DAUD_CHAN12_VOICE_PRIORITY_OFFSET (0x00000004) +#define DAUD_CHAN13_VOICE_PRIORITY_OFFSET (0x00000003) +#define DAUD_CHAN14_VOICE_PRIORITY_OFFSET (0x00000002) +#define DAUD_CHAN15_VOICE_PRIORITY_OFFSET (0x00000001) +#define DAUD_CHAN16_VOICE_PRIORITY_OFFSET (0x00000000) + +#define DAUD_CHAN1_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN1_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN2_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN2_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN3_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN3_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN4_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN4_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN5_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN5_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN6_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN6_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN7_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN7_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN8_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN8_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN9_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN9_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN10_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN10_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN11_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN11_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN12_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN12_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN13_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN13_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN14_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN14_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN15_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN15_VOICE_PRIORITY_OFFSET) +#define DAUD_CHAN16_DEF_VOICE_PRIORITY (DAUD_STANDARD_VOICE_PRIORITY | DAUD_CHAN16_VOICE_PRIORITY_OFFSET) +#endif + +typedef struct _SYNTH_REVERB_PARAMS +{ + float fInGain; + float fReverbMix; + float fReverbTime; + float fHighFreqRTRatio; +} SYNTH_REVERB_PARAMS, *PSYNTH_REVERB_PARAMS; + + +#define STATIC_KSPROPSETID_SynthClock \ + 0xfedfae26L, 0xe46e, 0x11d1, 0xaa, 0xce, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12 +DEFINE_GUIDSTRUCT("fedfae26-e46e-11d1-aace-0000f875ac12", KSPROPSETID_SynthClock); +#define KSPROPSETID_SynthClock DEFINE_GUIDNAMED(KSPROPSETID_SynthClock) + +typedef enum +{ + KSPROPERTY_SYNTH_MASTERCLOCK +} KSPROPERTY_SYNTHCLOCK; +#endif
Propchange: trunk/reactos/include/ddk/dmusprop.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/include/ddk/portcls.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/portcls.h?rev=4... ============================================================================== --- trunk/reactos/include/ddk/portcls.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/portcls.h [iso-8859-1] Mon Nov 1 00:17:07 2010 @@ -1958,6 +1958,12 @@
typedef IPowerNotify *PPOWERNOTIFY;
+#define IMP_IPowerNotify\ + STDMETHODIMP_(void) PowerChangeNotify\ + ( IN POWER_STATE PowerState\ + ) + + #undef INTERFACE
/* =============================================================== @@ -2158,6 +2164,11 @@
#undef INTERFACE
+#if (NTDDI_VERSION >= NTDDI_WINXP) +DEFINE_GUID(IID_IMusicTechnology, +0x80396C3CL, 0xCBCB, 0x409B, 0x9F, 0x65, 0x4F, 0x1E, 0x74, 0x67, 0xCD, 0xAF); +#endif + /* =============================================================== IDmaOperations Interface */ @@ -2364,6 +2375,10 @@ PcGetTimeInterval( IN ULONGLONG Since);
+#define GTI_SECONDS(t) (ULONGLONG(t)*10000000) +#define GTI_MILLISECONDS(t) (ULONGLONG(t)*10000) +#define GTI_MICROSECONDS(t) (ULONGLONG(t)*10) + PORTCLASSAPI NTSTATUS NTAPI PcRegisterSubdevice( IN PDEVICE_OBJECT DeviceObject,
Modified: trunk/reactos/include/psdk/ks.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ks.h?rev=49388... ============================================================================== --- trunk/reactos/include/psdk/ks.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ks.h [iso-8859-1] Mon Nov 1 00:17:07 2010 @@ -1015,28 +1015,6 @@ #define KSPROPSETID_Itd3d /* KSPROPERTY_ITD3D_PARAMS -*/ - -#define KSPROPSETID_Synth -/* - KSPROPERTY_SYNTH_CAPS - KSPROPERTY_SYNTH_CHANNELGROUPS - KSPROPERTY_SYNTH_LATENCYCLOCK - KSPROPERTY_SYNTH_MASTERCLOCK - KSPROPERTY_SYNTH_PORTPARAMETERS - KSPROPERTY_SYNTH_RUNNINGSTATS - KSPROPERTY_SYNTH_VOICEPRIORITY - KSPROPERTY_SYNTH_VOLUME - KSPROPERTY_SYNTH_VOLUMEBOOST -*/ - -#define KSPROPSETID_Synth_Dls -/* - KSPROPERTY_SYNTH_DLS_APPEND - KSPROPERTY_SYNTH_DLS_COMPACT - KSPROPERTY_SYNTH_DLS_DOWNLOAD - KSPROPERTY_SYNTH_DLS_UNLOAD - KSPROPERTY_SYNTH_DLS_WAVEFORMAT */
#define KSPROPSETID_TopologyNode
Modified: trunk/reactos/include/psdk/ksmedia.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ksmedia.h?rev=... ============================================================================== --- trunk/reactos/include/psdk/ksmedia.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ksmedia.h [iso-8859-1] Mon Nov 1 00:17:07 2010 @@ -686,4 +686,52 @@ ULONG Accuracy; } KSRTAUDIO_HWREGISTER, *PKSRTAUDIO_HWREGISTER;
+#define KSNODEPIN_STANDARD_IN 1 +#define KSNODEPIN_STANDARD_OUT 0 + +#define KSNODEPIN_SUM_MUX_IN 1 +#define KSNODEPIN_SUM_MUX_OUT 0 + +#define KSNODEPIN_DEMUX_IN 0 +#define KSNODEPIN_DEMUX_OUT 1 + +#if (NTDDI_VERSION < NTDDI_VISTA) + +#define KSNODEPIN_AEC_RENDER_IN 1 +#define KSNODEPIN_AEC_RENDER_OUT 0 +#define KSNODEPIN_AEC_CAPTURE_IN 2 +#define KSNODEPIN_AEC_CAPTURE_OUT 3 + #endif + + +#define STATIC_KSMUSIC_TECHNOLOGY_PORT\ + 0x86C92E60L, 0x62E8, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} +DEFINE_GUIDSTRUCT("86C92E60-62E8-11CF-A5D6-28DB04C10000", KSMUSIC_TECHNOLOGY_PORT); +#define KSMUSIC_TECHNOLOGY_PORT DEFINE_GUIDNAMED(KSMUSIC_TECHNOLOGY_PORT) + +#define STATIC_KSDATAFORMAT_SUBTYPE_MIDI_BUS\ + 0x2CA15FA0L, 0x6CFE, 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00} +DEFINE_GUIDSTRUCT("2CA15FA0-6CFE-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI_BUS); +#define KSDATAFORMAT_SUBTYPE_MIDI_BUS DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI_BUS) + +#define STATIC_KSAUDFNAME_MIDI\ + 0x185FEDF8L, 0x9905, 0x11D1, 0x95, 0xA9, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0xD3 +DEFINE_GUIDSTRUCT("185FEDF8-9905-11D1-95A9-00C04FB925D3", KSAUDFNAME_MIDI); +#define KSAUDFNAME_MIDI DEFINE_GUIDNAMED(KSAUDFNAME_MIDI) + +#define STATIC_KSNODETYPE_SYNTHESIZER\ + DEFINE_USB_TERMINAL_GUID(0x0713) +DEFINE_GUIDSTRUCT("DFF220F3-F70F-11D0-B917-00A0C9223196", KSNODETYPE_SYNTHESIZER); +#define KSNODETYPE_SYNTHESIZER DEFINE_GUIDNAMED(KSNODETYPE_SYNTHESIZER) + +typedef struct +{ + KSDATARANGE DataRange; + GUID Technology; + ULONG Channels; + ULONG Notes; + ULONG ChannelMask; +} KSDATARANGE_MUSIC, *PKSDATARANGE_MUSIC; + +#endif