summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2013-01-20 20:03:08 +0000
committerKirill Volinsky <mataes2007@gmail.com>2013-01-20 20:03:08 +0000
commitc80d492694898726e4500dc9d299f6aaff6535d0 (patch)
tree10df78f881a19098f2700e0dc3ce0321f555ace7 /plugins
parent3748ec9f1574e63059e9adca1d89bd1f4b35131d (diff)
sndVol removed too - use bass_interface
git-svn-id: http://svn.miranda-ng.org/main/trunk@3202 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins')
-rw-r--r--plugins/!NotAdopted/sndVol/DxErr8.libbin1210560 -> 0 bytes
-rw-r--r--plugins/!NotAdopted/sndVol/IcoLib.h25
-rw-r--r--plugins/!NotAdopted/sndVol/README37
-rw-r--r--plugins/!NotAdopted/sndVol/dls1.h267
-rw-r--r--plugins/!NotAdopted/sndVol/dls2.h130
-rw-r--r--plugins/!NotAdopted/sndVol/dmdls.h199
-rw-r--r--plugins/!NotAdopted/sndVol/dmerror.h843
-rw-r--r--plugins/!NotAdopted/sndVol/dmplugin.h280
-rw-r--r--plugins/!NotAdopted/sndVol/dmusbuff.h41
-rw-r--r--plugins/!NotAdopted/sndVol/dmusicc.h784
-rw-r--r--plugins/!NotAdopted/sndVol/dmusici.h1883
-rw-r--r--plugins/!NotAdopted/sndVol/dmutil.cpp689
-rw-r--r--plugins/!NotAdopted/sndVol/dmutil.h126
-rw-r--r--plugins/!NotAdopted/sndVol/dsound.h2358
-rw-r--r--plugins/!NotAdopted/sndVol/dxerr8.h99
-rw-r--r--plugins/!NotAdopted/sndVol/dxguid.libbin408634 -> 0 bytes
-rw-r--r--plugins/!NotAdopted/sndVol/dxutil.cpp226
-rw-r--r--plugins/!NotAdopted/sndVol/dxutil.h49
-rw-r--r--plugins/!NotAdopted/sndVol/m_cluiframes.h128
-rw-r--r--plugins/!NotAdopted/sndVol/mradio-muted.icobin318 -> 0 bytes
-rw-r--r--plugins/!NotAdopted/sndVol/mradio.icobin318 -> 0 bytes
-rw-r--r--plugins/!NotAdopted/sndVol/nosnd.icobin2550 -> 0 bytes
-rw-r--r--plugins/!NotAdopted/sndVol/optionsdlg.cpp205
-rw-r--r--plugins/!NotAdopted/sndVol/optionsdlg.h1
-rw-r--r--plugins/!NotAdopted/sndVol/playSnd.cpp136
-rw-r--r--plugins/!NotAdopted/sndVol/playSnd.h24
-rw-r--r--plugins/!NotAdopted/sndVol/plugin.cpp478
-rw-r--r--plugins/!NotAdopted/sndVol/plugin.h44
-rw-r--r--plugins/!NotAdopted/sndVol/resource.h31
-rw-r--r--plugins/!NotAdopted/sndVol/snd.icobin2550 -> 0 bytes
-rw-r--r--plugins/!NotAdopted/sndVol/sndVol.apsbin41060 -> 0 bytes
-rw-r--r--plugins/!NotAdopted/sndVol/sndVol.dsp203
-rw-r--r--plugins/!NotAdopted/sndVol/sndVol.dsw29
-rw-r--r--plugins/!NotAdopted/sndVol/sndVol.rc199
-rw-r--r--plugins/!NotAdopted/sndVol/sndVol.sln23
-rw-r--r--plugins/!NotAdopted/sndVol/sndVol.vcproj540
36 files changed, 0 insertions, 10077 deletions
diff --git a/plugins/!NotAdopted/sndVol/DxErr8.lib b/plugins/!NotAdopted/sndVol/DxErr8.lib
deleted file mode 100644
index 0e1ce15675..0000000000
--- a/plugins/!NotAdopted/sndVol/DxErr8.lib
+++ /dev/null
Binary files differ
diff --git a/plugins/!NotAdopted/sndVol/IcoLib.h b/plugins/!NotAdopted/sndVol/IcoLib.h
deleted file mode 100644
index 86666553dd..0000000000
--- a/plugins/!NotAdopted/sndVol/IcoLib.h
+++ /dev/null
@@ -1,25 +0,0 @@
-typedef struct {
- int cbSize;
- char *pszSection; //section name used to group icons
- char *pszDescription; //description for options dialog
- char *pszName; //name to refer to icon when playing and in db
- char *pszDefaultFile; //default icon file to use
- int iDefaultIndex;
-} SKINICONDESC;
-
-//
-// Add a icon into options UI
-//
-// wParam = (WPARAM)0
-// lParam = (LPARAM)(SKINICONDESC*)sid;
-//
-#define MS_SKIN2_ADDICON "Skin2/Icons/AddIcon"
-//
-// Retrieve HICON with name specified in lParam
-// Returned HICON SHOULDN'T be destroyed, it managed by IcoLib
-//
-#define MS_SKIN2_GETICON "Skin2/Icons/GetIcon"
-//
-// Icons change notification
-//
-#define ME_SKIN2_ICONSCHANGED "Skin2/IconsChanged"
diff --git a/plugins/!NotAdopted/sndVol/README b/plugins/!NotAdopted/sndVol/README
deleted file mode 100644
index 3d326ad9b0..0000000000
--- a/plugins/!NotAdopted/sndVol/README
+++ /dev/null
@@ -1,37 +0,0 @@
-This is a slightly modified version of the original sndVol plugin which
-was written by Std.
-
-The following things have changed:
-----------------------------------
-
-* added ability to set the volume for the mRadio plugin (if installed).
- (this is optional, you can still use sndVol for ONLY setting the volume
- for event sounds and handle mRadio volume directly in mRadio).
-
-* added ability to mute mRadio when muting event sounds (again, optional.)
-
-* added 2 items to the option page to allow enabling the features above
- (mRadio support).
-
-* added ability to change background colour of the sndVol frame.
-
-* added 2nd mute button to mute mRadio ONLY (event sounds will stay
- unmuted). This button is only visible when the mRadio plugin is
- installed and detected. The 2 buttons may be synced when the option
- "mute mRadio" on the options page is enabled, so it is still possible
- to mute both event sounds and radio with a single click.
-
-* UPDATED FOR Miranda 0.8.x.x or later.
-
- You can also right-click this button to open mRadio settings.
-
----------------------
-
-contact: Nightwish (miranda forums or http://www.miranda.or.at/forums/
- silvercircle@gmail.com
- ICQ: 7769309
- MSN: silvercircle@gmail.com
-
-LICENSE: GPL, most of the code was originally written by Std and distributed
- under GPL.
-
diff --git a/plugins/!NotAdopted/sndVol/dls1.h b/plugins/!NotAdopted/sndVol/dls1.h
deleted file mode 100644
index b33425de9a..0000000000
--- a/plugins/!NotAdopted/sndVol/dls1.h
+++ /dev/null
@@ -1,267 +0,0 @@
-/*==========================================================================;
-//
-// dls1.h
-//
-//
-// Description:
-//
-// Interface defines and structures for the Instrument Collection Form
-// RIFF DLS.
-//
-//
-// Written by Sonic Foundry 1996. Released for public use.
-//
-//=========================================================================*/
-
-#ifndef _INC_DLS1
-#define _INC_DLS1
-
-/*//////////////////////////////////////////////////////////////////////////
-//
-//
-// Layout of an instrument collection:
-//
-//
-// RIFF [] 'DLS ' [dlid,colh,INSTLIST,WAVEPOOL,INFOLIST]
-//
-// INSTLIST
-// LIST [] 'lins'
-// LIST [] 'ins ' [dlid,insh,RGNLIST,ARTLIST,INFOLIST]
-// LIST [] 'ins ' [dlid,insh,RGNLIST,ARTLIST,INFOLIST]
-// LIST [] 'ins ' [dlid,insh,RGNLIST,ARTLIST,INFOLIST]
-//
-// RGNLIST
-// LIST [] 'lrgn'
-// LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
-// LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
-// LIST [] 'rgn ' [rgnh,wsmp,wlnk,ARTLIST]
-//
-// ARTLIST
-// LIST [] 'lart'
-// 'art1' level 1 Articulation connection graph
-// 'art2' level 2 Articulation connection graph
-// '3rd1' Possible 3rd party articulation structure 1
-// '3rd2' Possible 3rd party articulation structure 2 .... and so on
-//
-// WAVEPOOL
-// ptbl [] [pool table]
-// LIST [] 'wvpl'
-// [path],
-// [path],
-// LIST [] 'wave' [dlid,RIFFWAVE]
-// LIST [] 'wave' [dlid,RIFFWAVE]
-// LIST [] 'wave' [dlid,RIFFWAVE]
-// LIST [] 'wave' [dlid,RIFFWAVE]
-// LIST [] 'wave' [dlid,RIFFWAVE]
-//
-// INFOLIST
-// LIST [] 'INFO'
-// 'icmt' 'One of those crazy comments.'
-// 'icop' 'Copyright (C) 1996 Sonic Foundry'
-//
-/////////////////////////////////////////////////////////////////////////*/
-
-
-/*/////////////////////////////////////////////////////////////////////////
-// FOURCC's used in the DLS file
-/////////////////////////////////////////////////////////////////////////*/
-
-#define FOURCC_DLS mmioFOURCC('D','L','S',' ')
-#define FOURCC_DLID mmioFOURCC('d','l','i','d')
-#define FOURCC_COLH mmioFOURCC('c','o','l','h')
-#define FOURCC_WVPL mmioFOURCC('w','v','p','l')
-#define FOURCC_PTBL mmioFOURCC('p','t','b','l')
-#define FOURCC_PATH mmioFOURCC('p','a','t','h')
-#define FOURCC_wave mmioFOURCC('w','a','v','e')
-#define FOURCC_LINS mmioFOURCC('l','i','n','s')
-#define FOURCC_INS mmioFOURCC('i','n','s',' ')
-#define FOURCC_INSH mmioFOURCC('i','n','s','h')
-#define FOURCC_LRGN mmioFOURCC('l','r','g','n')
-#define FOURCC_RGN mmioFOURCC('r','g','n',' ')
-#define FOURCC_RGNH mmioFOURCC('r','g','n','h')
-#define FOURCC_LART mmioFOURCC('l','a','r','t')
-#define FOURCC_ART1 mmioFOURCC('a','r','t','1')
-#define FOURCC_WLNK mmioFOURCC('w','l','n','k')
-#define FOURCC_WSMP mmioFOURCC('w','s','m','p')
-#define FOURCC_VERS mmioFOURCC('v','e','r','s')
-
-/*/////////////////////////////////////////////////////////////////////////
-// Articulation connection graph definitions
-/////////////////////////////////////////////////////////////////////////*/
-
-/* Generic Sources */
-#define CONN_SRC_NONE 0x0000
-#define CONN_SRC_LFO 0x0001
-#define CONN_SRC_KEYONVELOCITY 0x0002
-#define CONN_SRC_KEYNUMBER 0x0003
-#define CONN_SRC_EG1 0x0004
-#define CONN_SRC_EG2 0x0005
-#define CONN_SRC_PITCHWHEEL 0x0006
-
-/* Midi Controllers 0-127 */
-#define CONN_SRC_CC1 0x0081
-#define CONN_SRC_CC7 0x0087
-#define CONN_SRC_CC10 0x008a
-#define CONN_SRC_CC11 0x008b
-
-/* Generic Destinations */
-#define CONN_DST_NONE 0x0000
-#define CONN_DST_ATTENUATION 0x0001
-#define CONN_DST_PITCH 0x0003
-#define CONN_DST_PAN 0x0004
-
-/* LFO Destinations */
-#define CONN_DST_LFO_FREQUENCY 0x0104
-#define CONN_DST_LFO_STARTDELAY 0x0105
-
-/* EG1 Destinations */
-#define CONN_DST_EG1_ATTACKTIME 0x0206
-#define CONN_DST_EG1_DECAYTIME 0x0207
-#define CONN_DST_EG1_RELEASETIME 0x0209
-#define CONN_DST_EG1_SUSTAINLEVEL 0x020a
-
-/* EG2 Destinations */
-#define CONN_DST_EG2_ATTACKTIME 0x030a
-#define CONN_DST_EG2_DECAYTIME 0x030b
-#define CONN_DST_EG2_RELEASETIME 0x030d
-#define CONN_DST_EG2_SUSTAINLEVEL 0x030e
-
-#define CONN_TRN_NONE 0x0000
-#define CONN_TRN_CONCAVE 0x0001
-
-typedef struct _DLSID {
- ULONG ulData1;
- USHORT usData2;
- USHORT usData3;
- BYTE abData4[8];
-} DLSID, FAR *LPDLSID;
-
-typedef struct _DLSVERSION {
- DWORD dwVersionMS;
- DWORD dwVersionLS;
-}DLSVERSION, FAR *LPDLSVERSION;
-
-
-typedef struct _CONNECTION {
- USHORT usSource;
- USHORT usControl;
- USHORT usDestination;
- USHORT usTransform;
- LONG lScale;
- }CONNECTION, FAR *LPCONNECTION;
-
-
-/* Level 1 Articulation Data */
-
-typedef struct _CONNECTIONLIST {
- ULONG cbSize; /* size of the connection list structure */
- ULONG cConnections; /* count of connections in the list */
- } CONNECTIONLIST, FAR *LPCONNECTIONLIST;
-
-
-
-/*/////////////////////////////////////////////////////////////////////////
-// Generic type defines for regions and instruments
-/////////////////////////////////////////////////////////////////////////*/
-
-typedef struct _RGNRANGE {
- USHORT usLow;
- USHORT usHigh;
-}RGNRANGE, FAR * LPRGNRANGE;
-
-#define F_INSTRUMENT_DRUMS 0x80000000
-
-typedef struct _MIDILOCALE {
- ULONG ulBank;
- ULONG ulInstrument;
-}MIDILOCALE, FAR *LPMIDILOCALE;
-
-/*/////////////////////////////////////////////////////////////////////////
-// Header structures found in an DLS file for collection, instruments, and
-// regions.
-/////////////////////////////////////////////////////////////////////////*/
-
-#define F_RGN_OPTION_SELFNONEXCLUSIVE 0x0001
-
-typedef struct _RGNHEADER {
- RGNRANGE RangeKey; /* Key range */
- RGNRANGE RangeVelocity; /* Velocity Range */
- USHORT fusOptions; /* Synthesis options for this range */
- USHORT usKeyGroup; /* Key grouping for non simultaneous play */
- /* 0 = no group, 1 up is group */
- /* for Level 1 only groups 1-15 are allowed */
-}RGNHEADER, FAR *LPRGNHEADER;
-
-typedef struct _INSTHEADER {
- ULONG cRegions; /* Count of regions in this instrument */
- MIDILOCALE Locale; /* Intended MIDI locale of this instrument */
-}INSTHEADER, FAR *LPINSTHEADER;
-
-typedef struct _DLSHEADER {
- ULONG cInstruments; /* Count of instruments in the collection */
-}DLSHEADER, FAR *LPDLSHEADER;
-
-/*////////////////////////////////////////////////////////////////////////////
-// definitions for the Wave link structure
-////////////////////////////////////////////////////////////////////////////*/
-
-/* **** For level 1 only WAVELINK_CHANNEL_MONO is valid **** */
-/* ulChannel allows for up to 32 channels of audio with each bit position */
-/* specifiying a channel of playback */
-
-#define WAVELINK_CHANNEL_LEFT 0x0001l
-#define WAVELINK_CHANNEL_RIGHT 0x0002l
-
-#define F_WAVELINK_PHASE_MASTER 0x0001
-
-typedef struct _WAVELINK { /* any paths or links are stored right after struct */
- USHORT fusOptions; /* options flags for this wave */
- USHORT usPhaseGroup; /* Phase grouping for locking channels */
- ULONG ulChannel; /* channel placement */
- ULONG ulTableIndex; /* index into the wave pool table, 0 based */
-}WAVELINK, FAR *LPWAVELINK;
-
-#define POOL_CUE_NULL 0xffffffffl
-
-typedef struct _POOLCUE {
- ULONG ulOffset; /* Offset to the entry in the list */
-}POOLCUE, FAR *LPPOOLCUE;
-
-typedef struct _POOLTABLE {
- ULONG cbSize; /* size of the pool table structure */
- ULONG cCues; /* count of cues in the list */
- } POOLTABLE, FAR *LPPOOLTABLE;
-
-/*////////////////////////////////////////////////////////////////////////////
-// Structures for the "wsmp" chunk
-////////////////////////////////////////////////////////////////////////////*/
-
-#define F_WSMP_NO_TRUNCATION 0x0001l
-#define F_WSMP_NO_COMPRESSION 0x0002l
-
-
-typedef struct _rwsmp {
- ULONG cbSize;
- USHORT usUnityNote; /* MIDI Unity Playback Note */
- SHORT sFineTune; /* Fine Tune in log tuning */
- LONG lAttenuation; /* Overall Attenuation to be applied to data */
- ULONG fulOptions; /* Flag options */
- ULONG cSampleLoops; /* Count of Sample loops, 0 loops is one shot */
- } WSMPL, FAR *LPWSMPL;
-
-
-/* This loop type is a normal forward playing loop which is continually */
-/* played until the envelope reaches an off threshold in the release */
-/* portion of the volume envelope */
-
-#define WLOOP_TYPE_FORWARD 0
-
-typedef struct _rloop {
- ULONG cbSize;
- ULONG ulType; /* Loop Type */
- ULONG ulStart; /* Start of loop in samples */
- ULONG ulLength; /* Length of loop in samples */
-} WLOOP, FAR *LPWLOOP;
-
-#endif /*_INC_DLS1 */
-
diff --git a/plugins/!NotAdopted/sndVol/dls2.h b/plugins/!NotAdopted/sndVol/dls2.h
deleted file mode 100644
index b372f35033..0000000000
--- a/plugins/!NotAdopted/sndVol/dls2.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-
- dls2.h
-
- Description:
-
- Interface defines and structures for the DLS2 extensions of DLS.
-
-
- Written by Microsoft 1998. Released for public use.
-
-*/
-
-#ifndef _INC_DLS2
-#define _INC_DLS2
-
-/*
- FOURCC's used in the DLS2 file, in addition to DLS1 chunks
-*/
-
-#define FOURCC_RGN2 mmioFOURCC('r','g','n','2')
-#define FOURCC_LAR2 mmioFOURCC('l','a','r','2')
-#define FOURCC_ART2 mmioFOURCC('a','r','t','2')
-#define FOURCC_CDL mmioFOURCC('c','d','l',' ')
-#define FOURCC_DLID mmioFOURCC('d','l','i','d')
-
-/*
- Articulation connection graph definitions. These are in addition to
- the definitions in the DLS1 header.
-*/
-
-/* Generic Sources (in addition to DLS1 sources. */
-#define CONN_SRC_POLYPRESSURE 0x0007 /* Polyphonic Pressure */
-#define CONN_SRC_CHANNELPRESSURE 0x0008 /* Channel Pressure */
-#define CONN_SRC_VIBRATO 0x0009 /* Vibrato LFO */
-#define CONN_SRC_MONOPRESSURE 0x000a /* MIDI Mono pressure */
-
-
-/* Midi Controllers */
-#define CONN_SRC_CC91 0x00db /* Reverb Send */
-#define CONN_SRC_CC93 0x00dd /* Chorus Send */
-
-
-/* Generic Destinations */
-#define CONN_DST_GAIN 0x0001 /* Same as CONN_DST_ ATTENUATION, but more appropriate terminology. */
-#define CONN_DST_KEYNUMBER 0x0005 /* Key Number Generator */
-
-/* Audio Channel Output Destinations */
-#define CONN_DST_LEFT 0x0010 /* Left Channel Send */
-#define CONN_DST_RIGHT 0x0011 /* Right Channel Send */
-#define CONN_DST_CENTER 0x0012 /* Center Channel Send */
-#define CONN_DST_LEFTREAR 0x0013 /* Left Rear Channel Send */
-#define CONN_DST_RIGHTREAR 0x0014 /* Right Rear Channel Send */
-#define CONN_DST_LFE_CHANNEL 0x0015 /* LFE Channel Send */
-#define CONN_DST_CHORUS 0x0080 /* Chorus Send */
-#define CONN_DST_REVERB 0x0081 /* Reverb Send */
-
-/* Vibrato LFO Destinations */
-#define CONN_DST_VIB_FREQUENCY 0x0114 /* Vibrato Frequency */
-#define CONN_DST_VIB_STARTDELAY 0x0115 /* Vibrato Start Delay */
-
-/* EG1 Destinations */
-#define CONN_DST_EG1_DELAYTIME 0x020B /* EG1 Delay Time */
-#define CONN_DST_EG1_HOLDTIME 0x020C /* EG1 Hold Time */
-#define CONN_DST_EG1_SHUTDOWNTIME 0x020D /* EG1 Shutdown Time */
-
-
-/* EG2 Destinations */
-#define CONN_DST_EG2_DELAYTIME 0x030F /* EG2 Delay Time */
-#define CONN_DST_EG2_HOLDTIME 0x0310 /* EG2 Hold Time */
-
-
-/* Filter Destinations */
-#define CONN_DST_FILTER_CUTOFF 0x0500 /* Filter Cutoff Frequency */
-#define CONN_DST_FILTER_Q 0x0501 /* Filter Resonance */
-
-
-/* Transforms */
-#define CONN_TRN_CONVEX 0x0002 /* Convex Transform */
-#define CONN_TRN_SWITCH 0x0003 /* Switch Transform */
-
-
-/* Conditional chunk operators */
- #define DLS_CDL_AND 0x0001 /* X = X & Y */
- #define DLS_CDL_OR 0x0002 /* X = X | Y */
- #define DLS_CDL_XOR 0x0003 /* X = X ^ Y */
- #define DLS_CDL_ADD 0x0004 /* X = X + Y */
- #define DLS_CDL_SUBTRACT 0x0005 /* X = X - Y */
- #define DLS_CDL_MULTIPLY 0x0006 /* X = X * Y */
- #define DLS_CDL_DIVIDE 0x0007 /* X = X / Y */
- #define DLS_CDL_LOGICAL_AND 0x0008 /* X = X && Y */
- #define DLS_CDL_LOGICAL_OR 0x0009 /* X = X || Y */
- #define DLS_CDL_LT 0x000A /* X = (X < Y) */
- #define DLS_CDL_LE 0x000B /* X = (X <= Y) */
- #define DLS_CDL_GT 0x000C /* X = (X > Y) */
- #define DLS_CDL_GE 0x000D /* X = (X >= Y) */
- #define DLS_CDL_EQ 0x000E /* X = (X == Y) */
- #define DLS_CDL_NOT 0x000F /* X = !X */
- #define DLS_CDL_CONST 0x0010 /* 32-bit constant */
- #define DLS_CDL_QUERY 0x0011 /* 32-bit value returned from query */
- #define DLS_CDL_QUERYSUPPORTED 0x0012 /* Test to see if query is supported by synth */
-
-/*
- Loop and release
-*/
-
-#define WLOOP_TYPE_RELEASE 1
-
-/*
- WaveLink chunk <wlnk-ck>
-*/
-
-#define F_WAVELINK_MULTICHANNEL 0x0002
-
-
-/*
- DLSID queries for <cdl-ck>
-*/
-
-DEFINE_GUID(DLSID_GMInHardware, 0x178f2f24, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(DLSID_GSInHardware, 0x178f2f25, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(DLSID_XGInHardware, 0x178f2f26, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(DLSID_SupportsDLS1, 0x178f2f27, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(DLSID_SupportsDLS2, 0xf14599e5, 0x4689, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(DLSID_SampleMemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(DLSID_ManufacturersID, 0xb03e1181, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
-DEFINE_GUID(DLSID_ProductID, 0xb03e1182, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
-DEFINE_GUID(DLSID_SamplePlaybackRate, 0x2a91f713, 0xa4bf, 0x11d2, 0xbb, 0xdf, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
-
-#endif /* _INC_DLS2 */
diff --git a/plugins/!NotAdopted/sndVol/dmdls.h b/plugins/!NotAdopted/sndVol/dmdls.h
deleted file mode 100644
index 8d0677842a..0000000000
--- a/plugins/!NotAdopted/sndVol/dmdls.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/************************************************************************
-* *
-* dmdls.h -- DLS download definitions for DirectMusic API's *
-* *
-* Copyright (c) Microsoft Corporation. All rights reserved. *
-* *
-************************************************************************/
-
-#ifndef _DMDLS_
-#define _DMDLS_
-
-#include "dls1.h"
-
-typedef long PCENT; /* Pitch cents */
-typedef long GCENT; /* Gain cents */
-typedef long TCENT; /* Time cents */
-typedef long PERCENT; /* Per.. cent! */
-
-typedef LONGLONG REFERENCE_TIME;
-typedef REFERENCE_TIME *LPREFERENCE_TIME;
-
-#ifndef MAKE_FOURCC
-#define MAKEFOURCC(ch0, ch1, ch2, ch3) \
- ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
- ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))
-
-
-typedef DWORD FOURCC; /* a four character code */
-#endif
-
-typedef struct _DMUS_DOWNLOADINFO
-{
- DWORD dwDLType; /* Instrument or Wave */
- DWORD dwDLId; /* Unique identifier to tag this download. */
- DWORD dwNumOffsetTableEntries; /* Number of index in the offset address table. */
- DWORD cbSize; /* Total size of this memory chunk. */
-} DMUS_DOWNLOADINFO;
-
-#define DMUS_DOWNLOADINFO_INSTRUMENT 1
-#define DMUS_DOWNLOADINFO_WAVE 2
-#define DMUS_DOWNLOADINFO_INSTRUMENT2 3 /* New version for better DLS2 support. */
-
-/* Support for oneshot and streaming wave data
- */
-#define DMUS_DOWNLOADINFO_WAVEARTICULATION 4 /* Wave articulation data */
-#define DMUS_DOWNLOADINFO_STREAMINGWAVE 5 /* One chunk of a streaming */
-#define DMUS_DOWNLOADINFO_ONESHOTWAVE 6
-
-#define DMUS_DEFAULT_SIZE_OFFSETTABLE 1
-
-/* Flags for DMUS_INSTRUMENT's ulFlags member */
-
-#define DMUS_INSTRUMENT_GM_INSTRUMENT (1 << 0)
-
-typedef struct _DMUS_OFFSETTABLE
-{
- ULONG ulOffsetTable[DMUS_DEFAULT_SIZE_OFFSETTABLE];
-} DMUS_OFFSETTABLE;
-
-typedef struct _DMUS_INSTRUMENT
-{
- ULONG ulPatch;
- ULONG ulFirstRegionIdx;
- ULONG ulGlobalArtIdx; /* If zero the instrument does not have an articulation */
- ULONG ulFirstExtCkIdx; /* If zero no 3rd party entenstion chunks associated with the instrument */
- ULONG ulCopyrightIdx; /* If zero no Copyright information associated with the instrument */
- ULONG ulFlags;
-} DMUS_INSTRUMENT;
-
-typedef struct _DMUS_REGION
-{
- RGNRANGE RangeKey;
- RGNRANGE RangeVelocity;
- USHORT fusOptions;
- USHORT usKeyGroup;
- ULONG ulRegionArtIdx; /* If zero the region does not have an articulation */
- ULONG ulNextRegionIdx; /* If zero no more regions */
- ULONG ulFirstExtCkIdx; /* If zero no 3rd party entenstion chunks associated with the region */
- WAVELINK WaveLink;
- WSMPL WSMP; /* If WSMP.cSampleLoops > 1 then a WLOOP is included */
- WLOOP WLOOP[1];
-} DMUS_REGION;
-
-typedef struct _DMUS_LFOPARAMS
-{
- PCENT pcFrequency;
- TCENT tcDelay;
- GCENT gcVolumeScale;
- PCENT pcPitchScale;
- GCENT gcMWToVolume;
- PCENT pcMWToPitch;
-} DMUS_LFOPARAMS;
-
-typedef struct _DMUS_VEGPARAMS
-{
- TCENT tcAttack;
- TCENT tcDecay;
- PERCENT ptSustain;
- TCENT tcRelease;
- TCENT tcVel2Attack;
- TCENT tcKey2Decay;
-} DMUS_VEGPARAMS;
-
-typedef struct _DMUS_PEGPARAMS
-{
- TCENT tcAttack;
- TCENT tcDecay;
- PERCENT ptSustain;
- TCENT tcRelease;
- TCENT tcVel2Attack;
- TCENT tcKey2Decay;
- PCENT pcRange;
-} DMUS_PEGPARAMS;
-
-typedef struct _DMUS_MSCPARAMS
-{
- PERCENT ptDefaultPan;
-} DMUS_MSCPARAMS;
-
-typedef struct _DMUS_ARTICPARAMS
-{
- DMUS_LFOPARAMS LFO;
- DMUS_VEGPARAMS VolEG;
- DMUS_PEGPARAMS PitchEG;
- DMUS_MSCPARAMS Misc;
-} DMUS_ARTICPARAMS;
-
-typedef struct _DMUS_ARTICULATION /* Articulation chunk for DMUS_DOWNLOADINFO_INSTRUMENT format. */
-{
- ULONG ulArt1Idx; /* DLS Level 1 articulation chunk */
- ULONG ulFirstExtCkIdx; /* 3rd party extenstion chunks associated with the articulation */
-} DMUS_ARTICULATION;
-
-typedef struct _DMUS_ARTICULATION2 /* Articulation chunk for DMUS_DOWNLOADINFO_INSTRUMENT2 format. */
-{
- ULONG ulArtIdx; /* DLS Level 1/2 articulation chunk */
- ULONG ulFirstExtCkIdx; /* 3rd party extenstion chunks associated with the articulation */
- ULONG ulNextArtIdx; /* Additional articulation chunks */
-} DMUS_ARTICULATION2;
-
-#define DMUS_MIN_DATA_SIZE 4
-/* The actual number is determined by cbSize of struct _DMUS_EXTENSIONCHUNK */
-
-typedef struct _DMUS_EXTENSIONCHUNK
-{
- ULONG cbSize; /* Size of extension chunk */
- ULONG ulNextExtCkIdx; /* If zero no more 3rd party entenstion chunks */
- FOURCC ExtCkID;
- BYTE byExtCk[DMUS_MIN_DATA_SIZE]; /* The actual number that follows is determined by cbSize */
-} DMUS_EXTENSIONCHUNK;
-
-/* The actual number is determined by cbSize of struct _DMUS_COPYRIGHT */
-
-typedef struct _DMUS_COPYRIGHT
-{
- ULONG cbSize; /* Size of copyright information */
- BYTE byCopyright[DMUS_MIN_DATA_SIZE]; /* The actual number that follows is determined by cbSize */
-} DMUS_COPYRIGHT;
-
-typedef struct _DMUS_WAVEDATA
-{
- ULONG cbSize;
- BYTE byData[DMUS_MIN_DATA_SIZE];
-} DMUS_WAVEDATA;
-
-typedef struct _DMUS_WAVE
-{
- ULONG ulFirstExtCkIdx; /* If zero no 3rd party entenstion chunks associated with the wave */
- ULONG ulCopyrightIdx; /* If zero no Copyright information associated with the wave */
- ULONG ulWaveDataIdx; /* Location of actual wave data. */
- WAVEFORMATEX WaveformatEx;
-} DMUS_WAVE;
-
-typedef struct _DMUS_NOTERANGE *LPDMUS_NOTERANGE;
-typedef struct _DMUS_NOTERANGE
-{
- DWORD dwLowNote; /* Sets the low note for the range of MIDI note events to which the instrument responds.*/
- DWORD dwHighNote; /* Sets the high note for the range of MIDI note events to which the instrument responds.*/
-} DMUS_NOTERANGE;
-
-typedef struct _DMUS_WAVEARTDL
-{
- ULONG ulDownloadIdIdx; /* Download ID's of each buffer */
- ULONG ulBus; /* Playback bus */
- ULONG ulBuffers; /* Buffers */
- ULONG ulMasterDLId; /* Download ID of master voice of slave group */
- USHORT usOptions; /* Same as DLS2 region options */
-} DMUS_WAVEARTDL,
- *LPDMUS_WAVEARTDL;
-
-typedef struct _DMUS_WAVEDL
-{
- ULONG cbWaveData; /* Bytes of wave data */
-} DMUS_WAVEDL,
- *LPDMUS_WAVEDL;
-
-#endif
-
-
diff --git a/plugins/!NotAdopted/sndVol/dmerror.h b/plugins/!NotAdopted/sndVol/dmerror.h
deleted file mode 100644
index 9279f735b9..0000000000
--- a/plugins/!NotAdopted/sndVol/dmerror.h
+++ /dev/null
@@ -1,843 +0,0 @@
-/************************************************************************
-* *
-* dmerror.h -- Error codes returned by DirectMusic API's *
-* *
-* Copyright (c) Microsoft Corporation. All rights reserved. *
-* *
-************************************************************************/
-
-#ifndef _DMERROR_
-#define _DMERROR_
-
-#define FACILITY_DIRECTMUSIC 0x878 /* Shared with DirectSound */
-#define DMUS_ERRBASE 0x1000 /* Make error codes human readable in hex */
-
-#ifndef MAKE_HRESULT
-#define MAKE_HRESULT(sev,fac,code) \
- ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
-#endif
-
-#define MAKE_DMHRESULTSUCCESS(code) MAKE_HRESULT(0, FACILITY_DIRECTMUSIC, (DMUS_ERRBASE + (code)))
-#define MAKE_DMHRESULTERROR(code) MAKE_HRESULT(1, FACILITY_DIRECTMUSIC, (DMUS_ERRBASE + (code)))
-
-/* DMUS_S_PARTIALLOAD
- *
- * The object could only load partially. This can happen if some components are
- * not registered properly, such as embedded tracks and tools. This can also happen
- * if some content is missing. For example, if a segment uses a DLS collection that
- * is not in the loader's current search directory.
- */
-#define DMUS_S_PARTIALLOAD MAKE_DMHRESULTSUCCESS(0x091)
-
-/* DMUS_S_PARTIALDOWNLOAD
- *
- * Return value from IDirectMusicBand::Download() which indicates that
- * some of the instruments safely downloaded, but others failed. This usually
- * occurs when some instruments are on PChannels not supported by the performance
- * or port.
- */
-#define DMUS_S_PARTIALDOWNLOAD MAKE_DMHRESULTSUCCESS(0x092)
-
-/* DMUS_S_REQUEUE
- *
- * Return value from IDirectMusicTool::ProcessPMsg() which indicates to the
- * performance that it should cue the PMsg again automatically.
- */
-#define DMUS_S_REQUEUE MAKE_DMHRESULTSUCCESS(0x200)
-
-/* DMUS_S_FREE
- *
- * Return value from IDirectMusicTool::ProcessPMsg() which indicates to the
- * performance that it should free the PMsg automatically.
- */
-#define DMUS_S_FREE MAKE_DMHRESULTSUCCESS(0x201)
-
-/* DMUS_S_END
- *
- * Return value from IDirectMusicTrack::Play() which indicates to the
- * segment that the track has no more data after mtEnd.
- */
-#define DMUS_S_END MAKE_DMHRESULTSUCCESS(0x202)
-
-/* DMUS_S_STRING_TRUNCATED
- *
- * Returned string has been truncated to fit the buffer size.
- */
-#define DMUS_S_STRING_TRUNCATED MAKE_DMHRESULTSUCCESS(0x210)
-
-/* DMUS_S_LAST_TOOL
- *
- * Returned from IDirectMusicGraph::StampPMsg(), this indicates that the PMsg
- * is already stamped with the last tool in the graph. The returned PMsg's
- * tool pointer is now NULL.
- */
-#define DMUS_S_LAST_TOOL MAKE_DMHRESULTSUCCESS(0x211)
-
-/* DMUS_S_OVER_CHORD
- *
- * Returned from IDirectMusicPerformance::MusicToMIDI(), this indicates
- * that no note has been calculated because the music value has the note
- * at a position higher than the top note of the chord. This applies only
- * to DMUS_PLAYMODE_NORMALCHORD play mode. This success code indicates
- * that the caller should not do anything with the note. It is not meant
- * to be played against this chord.
- */
-#define DMUS_S_OVER_CHORD MAKE_DMHRESULTSUCCESS(0x212)
-
-/* DMUS_S_UP_OCTAVE
- *
- * Returned from IDirectMusicPerformance::MIDIToMusic(), and
- * IDirectMusicPerformance::MusicToMIDI(), this indicates
- * that the note conversion generated a note value that is below 0,
- * so it has been bumped up one or more octaves to be in the proper
- * MIDI range of 0 through 127.
- * Note that this is valid for MIDIToMusic() when using play modes
- * DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of
- * which store MIDI values in wMusicValue. With MusicToMIDI(), it is
- * valid for all play modes.
- * Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.
- */
-#define DMUS_S_UP_OCTAVE MAKE_DMHRESULTSUCCESS(0x213)
-
-/* DMUS_S_DOWN_OCTAVE
- *
- * Returned from IDirectMusicPerformance::MIDIToMusic(), and
- * IDirectMusicPerformance::MusicToMIDI(), this indicates
- * that the note conversion generated a note value that is above 127,
- * so it has been bumped down one or more octaves to be in the proper
- * MIDI range of 0 through 127.
- * Note that this is valid for MIDIToMusic() when using play modes
- * DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of
- * which store MIDI values in wMusicValue. With MusicToMIDI(), it is
- * valid for all play modes.
- * Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.
- */
-#define DMUS_S_DOWN_OCTAVE MAKE_DMHRESULTSUCCESS(0x214)
-
-/* DMUS_S_NOBUFFERCONTROL
- *
- * Although the audio output from the port will be routed to the
- * same device as the given DirectSound buffer, buffer controls
- * such as pan and volume will not affect the output.
- *
- */
-#define DMUS_S_NOBUFFERCONTROL MAKE_DMHRESULTSUCCESS(0x215)
-
-/* DMUS_S_GARBAGE_COLLECTED
- *
- * The requested operation was not performed because during CollectGarbage
- * the loader determined that the object had been released.
- */
-#define DMUS_S_GARBAGE_COLLECTED MAKE_DMHRESULTSUCCESS(0x216)
-
-/* DMUS_E_DRIVER_FAILED
- *
- * An unexpected error was returned from a device driver, indicating
- * possible failure of the driver or hardware.
- */
-#define DMUS_E_DRIVER_FAILED MAKE_DMHRESULTERROR(0x0101)
-
-/* DMUS_E_PORTS_OPEN
- *
- * The requested operation cannot be performed while there are
- * instantiated ports in any process in the system.
- */
-#define DMUS_E_PORTS_OPEN MAKE_DMHRESULTERROR(0x0102)
-
-/* DMUS_E_DEVICE_IN_USE
- *
- * The requested device is already in use (possibly by a non-DirectMusic
- * client) and cannot be opened again.
- */
-#define DMUS_E_DEVICE_IN_USE MAKE_DMHRESULTERROR(0x0103)
-
-/* DMUS_E_INSUFFICIENTBUFFER
- *
- * Buffer is not large enough for requested operation.
- */
-#define DMUS_E_INSUFFICIENTBUFFER MAKE_DMHRESULTERROR(0x0104)
-
-/* DMUS_E_BUFFERNOTSET
- *
- * No buffer was prepared for the download data.
- */
-#define DMUS_E_BUFFERNOTSET MAKE_DMHRESULTERROR(0x0105)
-
-/* DMUS_E_BUFFERNOTAVAILABLE
- *
- * Download failed due to inability to access or create download buffer.
- */
-#define DMUS_E_BUFFERNOTAVAILABLE MAKE_DMHRESULTERROR(0x0106)
-
-/* DMUS_E_NOTADLSCOL
- *
- * Error parsing DLS collection. File is corrupt.
- */
-#define DMUS_E_NOTADLSCOL MAKE_DMHRESULTERROR(0x0108)
-
-/* DMUS_E_INVALIDOFFSET
- *
- * Wave chunks in DLS collection file are at incorrect offsets.
- */
-#define DMUS_E_INVALIDOFFSET MAKE_DMHRESULTERROR(0x0109)
-
-/* DMUS_E_ALREADY_LOADED
- *
- * Second attempt to load a DLS collection that is currently open.
- */
-#define DMUS_E_ALREADY_LOADED MAKE_DMHRESULTERROR(0x0111)
-
-/* DMUS_E_INVALIDPOS
- *
- * Error reading wave data from DLS collection. Indicates bad file.
- */
-#define DMUS_E_INVALIDPOS MAKE_DMHRESULTERROR(0x0113)
-
-/* DMUS_E_INVALIDPATCH
- *
- * There is no instrument in the collection that matches patch number.
- */
-#define DMUS_E_INVALIDPATCH MAKE_DMHRESULTERROR(0x0114)
-
-/* DMUS_E_CANNOTSEEK
- *
- * The IStream* doesn't support Seek().
- */
-#define DMUS_E_CANNOTSEEK MAKE_DMHRESULTERROR(0x0115)
-
-/* DMUS_E_CANNOTWRITE
- *
- * The IStream* doesn't support Write().
- */
-#define DMUS_E_CANNOTWRITE MAKE_DMHRESULTERROR(0x0116)
-
-/* DMUS_E_CHUNKNOTFOUND
- *
- * The RIFF parser doesn't contain a required chunk while parsing file.
- */
-#define DMUS_E_CHUNKNOTFOUND MAKE_DMHRESULTERROR(0x0117)
-
-/* DMUS_E_INVALID_DOWNLOADID
- *
- * Invalid download id was used in the process of creating a download buffer.
- */
-#define DMUS_E_INVALID_DOWNLOADID MAKE_DMHRESULTERROR(0x0119)
-
-/* DMUS_E_NOT_DOWNLOADED_TO_PORT
- *
- * Tried to unload an object that was not downloaded or previously unloaded.
- */
-#define DMUS_E_NOT_DOWNLOADED_TO_PORT MAKE_DMHRESULTERROR(0x0120)
-
-/* DMUS_E_ALREADY_DOWNLOADED
- *
- * Buffer was already downloaded to synth.
- */
-#define DMUS_E_ALREADY_DOWNLOADED MAKE_DMHRESULTERROR(0x0121)
-
-/* DMUS_E_UNKNOWN_PROPERTY
- *
- * The specified property item was not recognized by the target object.
- */
-#define DMUS_E_UNKNOWN_PROPERTY MAKE_DMHRESULTERROR(0x0122)
-
-/* DMUS_E_SET_UNSUPPORTED
- *
- * The specified property item may not be set on the target object.
- */
-#define DMUS_E_SET_UNSUPPORTED MAKE_DMHRESULTERROR(0x0123)
-
-/* DMUS_E_GET_UNSUPPORTED
- *
- * The specified property item may not be retrieved from the target object.
- */
-#define DMUS_E_GET_UNSUPPORTED MAKE_DMHRESULTERROR(0x0124)
-
-/* DMUS_E_NOTMONO
- *
- * Wave chunk has more than one interleaved channel. DLS format requires MONO.
- */
-#define DMUS_E_NOTMONO MAKE_DMHRESULTERROR(0x0125)
-
-/* DMUS_E_BADARTICULATION
- *
- * Invalid articulation chunk in DLS collection.
- */
-#define DMUS_E_BADARTICULATION MAKE_DMHRESULTERROR(0x0126)
-
-/* DMUS_E_BADINSTRUMENT
- *
- * Invalid instrument chunk in DLS collection.
- */
-#define DMUS_E_BADINSTRUMENT MAKE_DMHRESULTERROR(0x0127)
-
-/* DMUS_E_BADWAVELINK
- *
- * Wavelink chunk in DLS collection points to invalid wave.
- */
-#define DMUS_E_BADWAVELINK MAKE_DMHRESULTERROR(0x0128)
-
-/* DMUS_E_NOARTICULATION
- *
- * Articulation missing from instrument in DLS collection.
- */
-#define DMUS_E_NOARTICULATION MAKE_DMHRESULTERROR(0x0129)
-
-/* DMUS_E_NOTPCM
- *
- * Downoaded DLS wave is not in PCM format.
-*/
-#define DMUS_E_NOTPCM MAKE_DMHRESULTERROR(0x012A)
-
-/* DMUS_E_BADWAVE
- *
- * Bad wave chunk in DLS collection
- */
-#define DMUS_E_BADWAVE MAKE_DMHRESULTERROR(0x012B)
-
-/* DMUS_E_BADOFFSETTABLE
- *
- * Offset Table for download buffer has errors.
- */
-#define DMUS_E_BADOFFSETTABLE MAKE_DMHRESULTERROR(0x012C)
-
-/* DMUS_E_UNKNOWNDOWNLOAD
- *
- * Attempted to download unknown data type.
- */
-#define DMUS_E_UNKNOWNDOWNLOAD MAKE_DMHRESULTERROR(0x012D)
-
-/* DMUS_E_NOSYNTHSINK
- *
- * The operation could not be completed because no sink was connected to
- * the synthesizer.
- */
-#define DMUS_E_NOSYNTHSINK MAKE_DMHRESULTERROR(0x012E)
-
-/* DMUS_E_ALREADYOPEN
- *
- * An attempt was made to open the software synthesizer while it was already
- * open.
- * ASSERT?
- */
-#define DMUS_E_ALREADYOPEN MAKE_DMHRESULTERROR(0x012F)
-
-/* DMUS_E_ALREADYCLOSE
- *
- * An attempt was made to close the software synthesizer while it was already
- * open.
- * ASSERT?
- */
-#define DMUS_E_ALREADYCLOSED MAKE_DMHRESULTERROR(0x0130)
-
-/* DMUS_E_SYNTHNOTCONFIGURED
- *
- * The operation could not be completed because the software synth has not
- * yet been fully configured.
- * ASSERT?
- */
-#define DMUS_E_SYNTHNOTCONFIGURED MAKE_DMHRESULTERROR(0x0131)
-
-/* DMUS_E_SYNTHACTIVE
- *
- * The operation cannot be carried out while the synthesizer is active.
- */
-#define DMUS_E_SYNTHACTIVE MAKE_DMHRESULTERROR(0x0132)
-
-/* DMUS_E_CANNOTREAD
- *
- * An error occurred while attempting to read from the IStream* object.
- */
-#define DMUS_E_CANNOTREAD MAKE_DMHRESULTERROR(0x0133)
-
-/* DMUS_E_DMUSIC_RELEASED
- *
- * The operation cannot be performed because the final instance of the
- * DirectMusic object was released. Ports cannot be used after final
- * release of the DirectMusic object.
- */
-#define DMUS_E_DMUSIC_RELEASED MAKE_DMHRESULTERROR(0x0134)
-
-/* DMUS_E_BUFFER_EMPTY
- *
- * There was no data in the referenced buffer.
- */
-#define DMUS_E_BUFFER_EMPTY MAKE_DMHRESULTERROR(0x0135)
-
-/* DMUS_E_BUFFER_FULL
- *
- * There is insufficient space to insert the given event into the buffer.
- */
-#define DMUS_E_BUFFER_FULL MAKE_DMHRESULTERROR(0x0136)
-
-/* DMUS_E_PORT_NOT_CAPTURE
- *
- * The given operation could not be carried out because the port is a
- * capture port.
- */
-#define DMUS_E_PORT_NOT_CAPTURE MAKE_DMHRESULTERROR(0x0137)
-
-/* DMUS_E_PORT_NOT_RENDER
- *
- * The given operation could not be carried out because the port is a
- * render port.
- */
-#define DMUS_E_PORT_NOT_RENDER MAKE_DMHRESULTERROR(0x0138)
-
-/* DMUS_E_DSOUND_NOT_SET
- *
- * The port could not be created because no DirectSound has been specified.
- * Specify a DirectSound interface via the IDirectMusic::SetDirectSound
- * method; pass NULL to have DirectMusic manage usage of DirectSound.
- */
-#define DMUS_E_DSOUND_NOT_SET MAKE_DMHRESULTERROR(0x0139)
-
-/* DMUS_E_ALREADY_ACTIVATED
- *
- * The operation cannot be carried out while the port is active.
- */
-#define DMUS_E_ALREADY_ACTIVATED MAKE_DMHRESULTERROR(0x013A)
-
-/* DMUS_E_INVALIDBUFFER
- *
- * Invalid DirectSound buffer was handed to port.
- */
-#define DMUS_E_INVALIDBUFFER MAKE_DMHRESULTERROR(0x013B)
-
-/* DMUS_E_WAVEFORMATNOTSUPPORTED
- *
- * Invalid buffer format was handed to the synth sink.
- */
-#define DMUS_E_WAVEFORMATNOTSUPPORTED MAKE_DMHRESULTERROR(0x013C)
-
-/* DMUS_E_SYNTHINACTIVE
- *
- * The operation cannot be carried out while the synthesizer is inactive.
- */
-#define DMUS_E_SYNTHINACTIVE MAKE_DMHRESULTERROR(0x013D)
-
-/* DMUS_E_DSOUND_ALREADY_SET
- *
- * IDirectMusic::SetDirectSound has already been called. It may not be
- * changed while in use.
- */
-#define DMUS_E_DSOUND_ALREADY_SET MAKE_DMHRESULTERROR(0x013E)
-
-/* DMUS_E_INVALID_EVENT
- *
- * The given event is invalid (either it is not a valid MIDI message
- * or it makes use of running status). The event cannot be packed
- * into the buffer.
- */
-#define DMUS_E_INVALID_EVENT MAKE_DMHRESULTERROR(0x013F)
-
-/* DMUS_E_UNSUPPORTED_STREAM
- *
- * The IStream* object does not contain data supported by the loading object.
- */
-#define DMUS_E_UNSUPPORTED_STREAM MAKE_DMHRESULTERROR(0x0150)
-
-/* DMUS_E_ALREADY_INITED
- *
- * The object has already been initialized.
- */
-#define DMUS_E_ALREADY_INITED MAKE_DMHRESULTERROR(0x0151)
-
-/* DMUS_E_INVALID_BAND
- *
- * The file does not contain a valid band.
- */
-#define DMUS_E_INVALID_BAND MAKE_DMHRESULTERROR(0x0152)
-
-/* DMUS_E_TRACK_HDR_NOT_FIRST_CK
- *
- * The IStream* object's data does not have a track header as the first chunk,
- * and therefore can not be read by the segment object.
- */
-#define DMUS_E_TRACK_HDR_NOT_FIRST_CK MAKE_DMHRESULTERROR(0x0155)
-
-/* DMUS_E_TOOL_HDR_NOT_FIRST_CK
- *
- * The IStream* object's data does not have a tool header as the first chunk,
- * and therefore can not be read by the graph object.
- */
-#define DMUS_E_TOOL_HDR_NOT_FIRST_CK MAKE_DMHRESULTERROR(0x0156)
-
-/* DMUS_E_INVALID_TRACK_HDR
- *
- * The IStream* object's data contains an invalid track header (ckid is 0 and
- * fccType is NULL,) and therefore can not be read by the segment object.
- */
-#define DMUS_E_INVALID_TRACK_HDR MAKE_DMHRESULTERROR(0x0157)
-
-/* DMUS_E_INVALID_TOOL_HDR
- *
- * The IStream* object's data contains an invalid tool header (ckid is 0 and
- * fccType is NULL,) and therefore can not be read by the graph object.
- */
-#define DMUS_E_INVALID_TOOL_HDR MAKE_DMHRESULTERROR(0x0158)
-
-/* DMUS_E_ALL_TOOLS_FAILED
- *
- * The graph object was unable to load all tools from the IStream* object data.
- * This may be due to errors in the stream, or the tools being incorrectly
- * registered on the client.
- */
-#define DMUS_E_ALL_TOOLS_FAILED MAKE_DMHRESULTERROR(0x0159)
-
-/* DMUS_E_ALL_TRACKS_FAILED
- *
- * The segment object was unable to load all tracks from the IStream* object data.
- * This may be due to errors in the stream, or the tracks being incorrectly
- * registered on the client.
- */
-#define DMUS_E_ALL_TRACKS_FAILED MAKE_DMHRESULTERROR(0x0160)
-
-/* DMUS_E_NOT_FOUND
- *
- * The requested item was not contained by the object.
- */
-#define DMUS_E_NOT_FOUND MAKE_DMHRESULTERROR(0x0161)
-
-/* DMUS_E_NOT_INIT
- *
- * A required object is not initialized or failed to initialize.
- */
-#define DMUS_E_NOT_INIT MAKE_DMHRESULTERROR(0x0162)
-
-/* DMUS_E_TYPE_DISABLED
- *
- * The requested parameter type is currently disabled. Parameter types may
- * be enabled and disabled by certain calls to SetParam().
- */
-#define DMUS_E_TYPE_DISABLED MAKE_DMHRESULTERROR(0x0163)
-
-/* DMUS_E_TYPE_UNSUPPORTED
- *
- * The requested parameter type is not supported on the object.
- */
-#define DMUS_E_TYPE_UNSUPPORTED MAKE_DMHRESULTERROR(0x0164)
-
-/* DMUS_E_TIME_PAST
- *
- * The time is in the past, and the operation can not succeed.
- */
-#define DMUS_E_TIME_PAST MAKE_DMHRESULTERROR(0x0165)
-
-/* DMUS_E_TRACK_NOT_FOUND
- *
- * The requested track is not contained by the segment.
- */
-#define DMUS_E_TRACK_NOT_FOUND MAKE_DMHRESULTERROR(0x0166)
-
-/* DMUS_E_TRACK_NO_CLOCKTIME_SUPPORT
- *
- * The track does not support clock time playback or getparam.
- */
-#define DMUS_E_TRACK_NO_CLOCKTIME_SUPPORT MAKE_DMHRESULTERROR(0x0167)
-
-/* DMUS_E_NO_MASTER_CLOCK
- *
- * There is no master clock in the performance. Be sure to call
- * IDirectMusicPerformance::Init().
- */
-#define DMUS_E_NO_MASTER_CLOCK MAKE_DMHRESULTERROR(0x0170)
-
-/* DMUS_E_LOADER_NOCLASSID
- *
- * The class id field is required and missing in the DMUS_OBJECTDESC.
- */
-#define DMUS_E_LOADER_NOCLASSID MAKE_DMHRESULTERROR(0x0180)
-
-/* DMUS_E_LOADER_BADPATH
- *
- * The requested file path is invalid.
- */
-#define DMUS_E_LOADER_BADPATH MAKE_DMHRESULTERROR(0x0181)
-
-/* DMUS_E_LOADER_FAILEDOPEN
- *
- * File open failed - either file doesn't exist or is locked.
- */
-#define DMUS_E_LOADER_FAILEDOPEN MAKE_DMHRESULTERROR(0x0182)
-
-/* DMUS_E_LOADER_FORMATNOTSUPPORTED
- *
- * Search data type is not supported.
- */
-#define DMUS_E_LOADER_FORMATNOTSUPPORTED MAKE_DMHRESULTERROR(0x0183)
-
-/* DMUS_E_LOADER_FAILEDCREATE
- *
- * Unable to find or create object.
- */
-#define DMUS_E_LOADER_FAILEDCREATE MAKE_DMHRESULTERROR(0x0184)
-
-/* DMUS_E_LOADER_OBJECTNOTFOUND
- *
- * Object was not found.
- */
-#define DMUS_E_LOADER_OBJECTNOTFOUND MAKE_DMHRESULTERROR(0x0185)
-
-/* DMUS_E_LOADER_NOFILENAME
- *
- * The file name is missing from the DMUS_OBJECTDESC.
- */
-#define DMUS_E_LOADER_NOFILENAME MAKE_DMHRESULTERROR(0x0186)
-
-/* DMUS_E_INVALIDFILE
- *
- * The file requested is not a valid file.
- */
-#define DMUS_E_INVALIDFILE MAKE_DMHRESULTERROR(0x0200)
-
-/* DMUS_E_ALREADY_EXISTS
- *
- * The tool is already contained in the graph. Create a new instance.
- */
-#define DMUS_E_ALREADY_EXISTS MAKE_DMHRESULTERROR(0x0201)
-
-/* DMUS_E_OUT_OF_RANGE
- *
- * Value is out of range, for instance the requested length is longer than
- * the segment.
- */
-#define DMUS_E_OUT_OF_RANGE MAKE_DMHRESULTERROR(0x0202)
-
-/* DMUS_E_SEGMENT_INIT_FAILED
- *
- * Segment initialization failed, most likely due to a critical memory situation.
- */
-#define DMUS_E_SEGMENT_INIT_FAILED MAKE_DMHRESULTERROR(0x0203)
-
-/* DMUS_E_ALREADY_SENT
- *
- * The DMUS_PMSG has already been sent to the performance object via
- * IDirectMusicPerformance::SendPMsg().
- */
-#define DMUS_E_ALREADY_SENT MAKE_DMHRESULTERROR(0x0204)
-
-/* DMUS_E_CANNOT_FREE
- *
- * The DMUS_PMSG was either not allocated by the performance via
- * IDirectMusicPerformance::AllocPMsg(), or it was already freed via
- * IDirectMusicPerformance::FreePMsg().
- */
-#define DMUS_E_CANNOT_FREE MAKE_DMHRESULTERROR(0x0205)
-
-/* DMUS_E_CANNOT_OPEN_PORT
- *
- * The default system port could not be opened.
- */
-#define DMUS_E_CANNOT_OPEN_PORT MAKE_DMHRESULTERROR(0x0206)
-
-/* DMUS_E_CANNOT_CONVERT
- *
- * A call to MIDIToMusic() or MusicToMIDI() resulted in an error because
- * the requested conversion could not happen. This usually occurs when the
- * provided DMUS_CHORD_KEY structure has an invalid chord or scale pattern.
- */
-#define DMUS_E_CANNOT_CONVERT MAKE_DMHRESULTERROR(0x0207)
-/* misspelling in previous versions of DirectX preserved for backward compatibility */
-#define DMUS_E_CONNOT_CONVERT DMUS_E_CANNOT_CONVERT
-
-/* DMUS_E_DESCEND_CHUNK_FAIL
- *
- * DMUS_E_DESCEND_CHUNK_FAIL is returned when the end of the file
- * was reached before the desired chunk was found.
- */
-#define DMUS_E_DESCEND_CHUNK_FAIL MAKE_DMHRESULTERROR(0x0210)
-
-/* DMUS_E_NOT_LOADED
- *
- * An attempt to use this object failed because it first needs to
- * be loaded.
- */
-#define DMUS_E_NOT_LOADED MAKE_DMHRESULTERROR(0x0211)
-
-/* DMUS_E_SCRIPT_LANGUAGE_INCOMPATIBLE
- *
- * The activeX scripting engine for the script's language is not compatible with
- * DirectMusic.
- *
- */
-#define DMUS_E_SCRIPT_LANGUAGE_INCOMPATIBLE MAKE_DMHRESULTERROR(0x0213)
-
-/* DMUS_E_SCRIPT_UNSUPPORTED_VARTYPE
- *
- * A varient was used that had a type that is not supported by DirectMusic.
- *
- */
-#define DMUS_E_SCRIPT_UNSUPPORTED_VARTYPE MAKE_DMHRESULTERROR(0x0214)
-
-/* DMUS_E_SCRIPT_ERROR_IN_SCRIPT
- *
- * An error was encountered while parsing or executing the script.
- * The pErrorInfo parameter (if supplied) was filled with information about the error.
- */
-#define DMUS_E_SCRIPT_ERROR_IN_SCRIPT MAKE_DMHRESULTERROR(0x0215)
-
-/* DMUS_E_SCRIPT_CANTLOAD_OLEAUT32
- *
- * Loading of oleaut32.dll failed. VBScript and other activeX scripting languages
- * require use of oleaut32.dll. On platforms where oleaut32.dll is not present, only
- * the DirectMusicScript language, which doesn't require oleaut32.dll can be used.
- */
-#define DMUS_E_SCRIPT_CANTLOAD_OLEAUT32 MAKE_DMHRESULTERROR(0x0216)
-
-/* DMUS_E_SCRIPT_LOADSCRIPT_ERROR
- *
- * An error occured while parsing a script loaded using LoadScript. The script that
- * was loaded contains an error.
- */
-#define DMUS_E_SCRIPT_LOADSCRIPT_ERROR MAKE_DMHRESULTERROR(0x0217)
-
-/* DMUS_E_SCRIPT_INVALID_FILE
- *
- * The script file is invalid.
- */
-#define DMUS_E_SCRIPT_INVALID_FILE MAKE_DMHRESULTERROR(0x0218)
-
-/* DMUS_E_INVALID_SCRIPTTRACK
- *
- * The file contains an invalid script track.
- */
-#define DMUS_E_INVALID_SCRIPTTRACK MAKE_DMHRESULTERROR(0x0219)
-
-/* DMUS_E_SCRIPT_VARIABLE_NOT_FOUND
- *
- * The script does not contain a variable with the specified name.
- */
-#define DMUS_E_SCRIPT_VARIABLE_NOT_FOUND MAKE_DMHRESULTERROR(0x021A)
-
-/* DMUS_E_SCRIPT_ROUTINE_NOT_FOUND
- *
- * The script does not contain a routine with the specified name.
- */
-#define DMUS_E_SCRIPT_ROUTINE_NOT_FOUND MAKE_DMHRESULTERROR(0x021B)
-
-/* DMUS_E_SCRIPT_CONTENT_READONLY
- *
- * Scripts variables for content referenced or embedded in a script cannot be set.
- */
-#define DMUS_E_SCRIPT_CONTENT_READONLY MAKE_DMHRESULTERROR(0x021C)
-
-/* DMUS_E_SCRIPT_NOT_A_REFERENCE
- *
- * Attempt was made to set a script's variable by reference to a value that was
- * not an object type.
- */
-#define DMUS_E_SCRIPT_NOT_A_REFERENCE MAKE_DMHRESULTERROR(0x021D)
-
-/* DMUS_E_SCRIPT_VALUE_NOT_SUPPORTED
- *
- * Attempt was made to set a script's variable by value to an object that does
- * not support a default value property.
- */
-#define DMUS_E_SCRIPT_VALUE_NOT_SUPPORTED MAKE_DMHRESULTERROR(0x021E)
-
-/* DMUS_E_INVALID_SEGMENTTRIGGERTRACK
- *
- * The file contains an invalid segment trigger track.
- */
-#define DMUS_E_INVALID_SEGMENTTRIGGERTRACK MAKE_DMHRESULTERROR(0x0220)
-
-/* DMUS_E_INVALID_LYRICSTRACK
- *
- * The file contains an invalid lyrics track.
- */
-#define DMUS_E_INVALID_LYRICSTRACK MAKE_DMHRESULTERROR(0x0221)
-
-/* DMUS_E_INVALID_PARAMCONTROLTRACK
- *
- * The file contains an invalid parameter control track.
- */
-#define DMUS_E_INVALID_PARAMCONTROLTRACK MAKE_DMHRESULTERROR(0x0222)
-
-/* DMUS_E_AUDIOVBSCRIPT_SYNTAXERROR
- *
- * A script written in AudioVBScript could not be read because it contained a statement that
- * is not allowed by the AudioVBScript language.
- */
-#define DMUS_E_AUDIOVBSCRIPT_SYNTAXERROR MAKE_DMHRESULTERROR(0x0223)
-
-/* DMUS_E_AUDIOVBSCRIPT_RUNTIMEERROR
- *
- * A script routine written in AudioVBScript failed because an invalid operation occurred. For example,
- * adding the number 3 to a segment object would produce this error. So would attempting to call a routine
- * that doesn't exist.
- */
-#define DMUS_E_AUDIOVBSCRIPT_RUNTIMEERROR MAKE_DMHRESULTERROR(0x0224)
-
-/* DMUS_E_AUDIOVBSCRIPT_OPERATIONFAILURE
- *
- * A script routine written in AudioVBScript failed because a function outside of a script failed to complete.
- * For example, a call to PlaySegment that fails to play because of low memory would return this error.
- */
-#define DMUS_E_AUDIOVBSCRIPT_OPERATIONFAILURE MAKE_DMHRESULTERROR(0x0225)
-
-/* DMUS_E_AUDIOPATHS_NOT_VALID
- *
- * The Performance has set up some PChannels using the AssignPChannel command, which
- * makes it not capable of supporting audio paths.
- */
-#define DMUS_E_AUDIOPATHS_NOT_VALID MAKE_DMHRESULTERROR(0x0226)
-
-/* DMUS_E_AUDIOPATHS_IN_USE
- *
- * This is the inverse of the previous error.
- * The Performance has set up some audio paths, which makes is incompatible
- * with the calls to allocate pchannels, etc.
- */
-#define DMUS_E_AUDIOPATHS_IN_USE MAKE_DMHRESULTERROR(0x0227)
-
-/* DMUS_E_NO_AUDIOPATH_CONFIG
- *
- * A segment was asked for its embedded audio path configuration,
- * but there isn't any.
- */
-#define DMUS_E_NO_AUDIOPATH_CONFIG MAKE_DMHRESULTERROR(0x0228)
-
-/* DMUS_E_AUDIOPATH_INACTIVE
- *
- * An audiopath is inactive, perhaps because closedown was called.
- */
-#define DMUS_E_AUDIOPATH_INACTIVE MAKE_DMHRESULTERROR(0x0229)
-
-/* DMUS_E_AUDIOPATH_NOBUFFER
- *
- * An audiopath failed to create because a requested buffer could not be created.
- */
-#define DMUS_E_AUDIOPATH_NOBUFFER MAKE_DMHRESULTERROR(0x022A)
-
-/* DMUS_E_AUDIOPATH_NOPORT
- *
- * An audiopath could not be used for playback because it lacked port assignments.
- */
-#define DMUS_E_AUDIOPATH_NOPORT MAKE_DMHRESULTERROR(0x022B)
-
-/* DMUS_E_NO_AUDIOPATH
- *
- * Attempt was made to play segment in audiopath mode and there was no audiopath.
- */
-#define DMUS_E_NO_AUDIOPATH MAKE_DMHRESULTERROR(0x022C)
-
-/* DMUS_E_INVALIDCHUNK
- *
- * Invalid data was found in a RIFF file chunk.
- */
-#define DMUS_E_INVALIDCHUNK MAKE_DMHRESULTERROR(0x022D)
-
-/* DMUS_E_AUDIOPATH_NOGLOBALFXBUFFER
- *
- * Attempt was made to create an audiopath that sends to a global effects buffer which did not exist.
- */
-#define DMUS_E_AUDIOPATH_NOGLOBALFXBUFFER MAKE_DMHRESULTERROR(0x022E)
-
-/* DMUS_E_INVALID_CONTAINER_OBJECT
- *
- * The file does not contain a valid container object.
- */
-#define DMUS_E_INVALID_CONTAINER_OBJECT MAKE_DMHRESULTERROR(0x022F)
-
-#endif
diff --git a/plugins/!NotAdopted/sndVol/dmplugin.h b/plugins/!NotAdopted/sndVol/dmplugin.h
deleted file mode 100644
index 7c7d311f92..0000000000
--- a/plugins/!NotAdopted/sndVol/dmplugin.h
+++ /dev/null
@@ -1,280 +0,0 @@
-/************************************************************************
-* *
-* dmplugin.h -- This module contains the API for plugins for the *
-* DirectMusic performance layer *
-* *
-* Copyright (c) Microsoft Corporation. All rights reserved. *
-* *
-************************************************************************/
-
-#ifndef _DMPLUGIN_
-#define _DMPLUGIN_
-
-#include <windows.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#include <mmsystem.h>
-#include <dmusici.h>
-
-#include <pshpack8.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-interface IDirectMusicTrack;
-interface IDirectMusicTool;
-interface IDirectMusicTool8;
-interface IDirectMusicTrack8;
-interface IDirectMusicPerformance;
-interface IDirectMusicPerformance8;
-interface IDirectMusicSegment;
-interface IDirectMusicSegment8;
-interface IDirectMusicSegmentState;
-interface IDirectMusicSegmentState8;
-interface IDirectMusicGraph;
-#ifndef __cplusplus
-typedef interface IDirectMusicTrack IDirectMusicTrack;
-typedef interface IDirectMusicTool IDirectMusicTool;
-typedef interface IDirectMusicTool8 IDirectMusicTool8;
-typedef interface IDirectMusicTrack8 IDirectMusicTrack8;
-typedef interface IDirectMusicPerformance IDirectMusicPerformance;
-typedef interface IDirectMusicPerformance8 IDirectMusicPerformance8;
-typedef interface IDirectMusicSegment IDirectMusicSegment;
-typedef interface IDirectMusicSegment8 IDirectMusicSegment8;
-typedef interface IDirectMusicSegmentState IDirectMusicSegmentState;
-typedef interface IDirectMusicSegmentState8 IDirectMusicSegmentState8;
-typedef interface IDirectMusicGraph IDirectMusicGraph;
-#endif
-
-typedef struct _DMUS_PMSG DMUS_PMSG;
-typedef long MUSIC_TIME;
-
-/* Registry location for tools */
-#define DMUS_REGSTR_PATH_TOOLS "Software\\Microsoft\\DirectMusic\\Tools"
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicTool */
-#undef INTERFACE
-#define INTERFACE IDirectMusicTool
-DECLARE_INTERFACE_(IDirectMusicTool, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicTool */
- STDMETHOD(Init) (THIS_ IDirectMusicGraph* pGraph) PURE;
- STDMETHOD(GetMsgDeliveryType) (THIS_ DWORD* pdwDeliveryType ) PURE;
- STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD* pdwNumElements ) PURE;
- STDMETHOD(GetMediaTypes) (THIS_ DWORD** padwMediaTypes,
- DWORD dwNumElements) PURE;
- STDMETHOD(ProcessPMsg) (THIS_ IDirectMusicPerformance* pPerf,
- DMUS_PMSG* pPMSG) PURE;
- STDMETHOD(Flush) (THIS_ IDirectMusicPerformance* pPerf,
- DMUS_PMSG* pPMSG,
- REFERENCE_TIME rtTime) PURE;
-};
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicTool8 */
-#undef INTERFACE
-#define INTERFACE IDirectMusicTool8
-DECLARE_INTERFACE_(IDirectMusicTool8, IDirectMusicTool)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicTool */
- STDMETHOD(Init) (THIS_ IDirectMusicGraph* pGraph) PURE;
- STDMETHOD(GetMsgDeliveryType) (THIS_ DWORD* pdwDeliveryType ) PURE;
- STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD* pdwNumElements ) PURE;
- STDMETHOD(GetMediaTypes) (THIS_ DWORD** padwMediaTypes,
- DWORD dwNumElements) PURE;
- STDMETHOD(ProcessPMsg) (THIS_ IDirectMusicPerformance* pPerf,
- DMUS_PMSG* pPMSG) PURE;
- STDMETHOD(Flush) (THIS_ IDirectMusicPerformance* pPerf,
- DMUS_PMSG* pPMSG,
- REFERENCE_TIME rtTime) PURE;
- /* IDirectMusicTool8 */
- STDMETHOD(Clone) (THIS_ IDirectMusicTool ** ppTool) PURE;
-};
-
-
-/* The following flags are sent in the IDirectMusicTrack::Play() method */
-/* inside the dwFlags parameter */
-typedef enum enumDMUS_TRACKF_FLAGS
-{
- DMUS_TRACKF_SEEK = 1, /* set on a seek */
- DMUS_TRACKF_LOOP = 2, /* set on a loop (repeat) */
- DMUS_TRACKF_START = 4, /* set on first call to Play */
- DMUS_TRACKF_FLUSH = 8, /* set when this call is in response to a flush on the perfomance */
- DMUS_TRACKF_DIRTY = 0x10, /* set when the track should consider any cached values from a previous call to GetParam to be invalidated */
- /* The following flags are DX8 only. */
- DMUS_TRACKF_NOTIFY_OFF = 0x20, /* tells track not to send notifications. */
- DMUS_TRACKF_PLAY_OFF = 0x40, /* tells track not to play anything (but can still send notifications.) */
- DMUS_TRACKF_LOOPEND = 0x80, /* set when the end of range is also a loop end. */
- DMUS_TRACKF_STOP = 0x100, /* set when the end of range is also end of playing this segment. */
- DMUS_TRACKF_RECOMPOSE = 0x200, /* set to indicate the track should compose. */
- DMUS_TRACKF_CLOCK = 0x400, /* set when time parameters are in reference (clock) time. Only valid for PlayEx(). */
-} DMUS_TRACKF_FLAGS;
-
-/* The following flags are sent in the IDirectMusicTrack8::GetParamEx() and SetParamEx() methods */
-/* inside the dwFlags parameter */
-#define DMUS_TRACK_PARAMF_CLOCK 0x01 /* set when the time is measured is in reference (clock) time */
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicTrack */
-#undef INTERFACE
-#define INTERFACE IDirectMusicTrack
-DECLARE_INTERFACE_(IDirectMusicTrack, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicTrack */
- STDMETHOD(Init) (THIS_ IDirectMusicSegment* pSegment) PURE;
- STDMETHOD(InitPlay) (THIS_ IDirectMusicSegmentState* pSegmentState,
- IDirectMusicPerformance* pPerformance,
- void** ppStateData,
- DWORD dwVirtualTrackID,
- DWORD dwFlags) PURE;
- STDMETHOD(EndPlay) (THIS_ void* pStateData) PURE;
- STDMETHOD(Play) (THIS_ void* pStateData,
- MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd,
- MUSIC_TIME mtOffset,
- DWORD dwFlags,
- IDirectMusicPerformance* pPerf,
- IDirectMusicSegmentState* pSegSt,
- DWORD dwVirtualID) PURE;
- STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
- MUSIC_TIME mtTime,
- MUSIC_TIME* pmtNext,
- void* pParam) PURE;
- STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
- MUSIC_TIME mtTime,
- void* pParam) PURE;
- STDMETHOD(IsParamSupported) (THIS_ REFGUID rguidType) PURE;
- STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(RemoveNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(Clone) (THIS_ MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd,
- IDirectMusicTrack** ppTrack) PURE;
-};
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicTrack8 */
-#undef INTERFACE
-#define INTERFACE IDirectMusicTrack8
-DECLARE_INTERFACE_(IDirectMusicTrack8, IDirectMusicTrack)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicTrack */
- STDMETHOD(Init) (THIS_ IDirectMusicSegment* pSegment) PURE;
- STDMETHOD(InitPlay) (THIS_ IDirectMusicSegmentState* pSegmentState,
- IDirectMusicPerformance* pPerformance,
- void** ppStateData,
- DWORD dwVirtualTrackID,
- DWORD dwFlags) PURE;
- STDMETHOD(EndPlay) (THIS_ void* pStateData) PURE;
- STDMETHOD(Play) (THIS_ void* pStateData,
- MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd,
- MUSIC_TIME mtOffset,
- DWORD dwFlags,
- IDirectMusicPerformance* pPerf,
- IDirectMusicSegmentState* pSegSt,
- DWORD dwVirtualID) PURE;
- STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
- MUSIC_TIME mtTime,
- MUSIC_TIME* pmtNext,
- void* pParam) PURE;
- STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
- MUSIC_TIME mtTime,
- void* pParam) PURE;
- STDMETHOD(IsParamSupported) (THIS_ REFGUID rguidType) PURE;
- STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(RemoveNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(Clone) (THIS_ MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd,
- IDirectMusicTrack** ppTrack) PURE;
- /* IDirectMusicTrack8 */
- STDMETHOD(PlayEx) (THIS_ void* pStateData,
- REFERENCE_TIME rtStart,
- REFERENCE_TIME rtEnd,
- REFERENCE_TIME rtOffset,
- DWORD dwFlags,
- IDirectMusicPerformance* pPerf,
- IDirectMusicSegmentState* pSegSt,
- DWORD dwVirtualID) PURE;
- STDMETHOD(GetParamEx) (THIS_ REFGUID rguidType, /* Command type. */
- REFERENCE_TIME rtTime, /* Time, in ref time if dwFlags == DMUS_TRACK_PARAMF_CLOCK. Otherwise, music time. */
- REFERENCE_TIME* prtNext, /* Time of next parameter, relative to rtTime, in music or clock time units. */
- void* pParam, /* Pointer to the parameter data. */
- void * pStateData, /* State data for track instance. */
- DWORD dwFlags) PURE; /* Control flags. */
- STDMETHOD(SetParamEx) (THIS_ REFGUID rguidType,
- REFERENCE_TIME rtTime,
- void* pParam, /* Pointer to the parameter data. */
- void * pStateData, /* State data for track instance. */
- DWORD dwFlags) PURE; /* Control flags. */
- STDMETHOD(Compose) (THIS_ IUnknown* pContext, /* Context for composition */
- DWORD dwTrackGroup,
- IDirectMusicTrack** ppResultTrack) PURE;
- STDMETHOD(Join) (THIS_ IDirectMusicTrack* pNewTrack,
- MUSIC_TIME mtJoin,
- IUnknown* pContext, /* Context for joining */
- DWORD dwTrackGroup,
- IDirectMusicTrack** ppResultTrack) PURE;
-};
-
-/* CLSID's */
-DEFINE_GUID(CLSID_DirectMusicTempoTrack,0xd2ac2885, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicSeqTrack,0xd2ac2886, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicSysExTrack,0xd2ac2887, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicTimeSigTrack,0xd2ac2888, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicChordTrack,0xd2ac288b, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicCommandTrack,0xd2ac288c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicStyleTrack,0xd2ac288d, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicMotifTrack,0xd2ac288e, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicSignPostTrack,0xf17e8672, 0xc3b4, 0x11d1, 0x87, 0xb, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicBandTrack,0xd2ac2894, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicChordMapTrack,0xd2ac2896, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicMuteTrack,0xd2ac2898, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* New CLSID's for DX8 */
-DEFINE_GUID(CLSID_DirectMusicScriptTrack,0x4108fa85, 0x3586, 0x11d3, 0x8b, 0xd7, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {4108FA85-3586-11d3-8BD7-00600893B1B6} */
-DEFINE_GUID(CLSID_DirectMusicMarkerTrack,0x55a8fd00, 0x4288, 0x11d3, 0x9b, 0xd1, 0x8a, 0xd, 0x61, 0xc8, 0x88, 0x35);
-DEFINE_GUID(CLSID_DirectMusicSegmentTriggerTrack, 0xbae4d665, 0x4ea1, 0x11d3, 0x8b, 0xda, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {BAE4D665-4EA1-11d3-8BDA-00600893B1B6} */
-DEFINE_GUID(CLSID_DirectMusicLyricsTrack, 0x995c1cf5, 0x54ff, 0x11d3, 0x8b, 0xda, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {995C1CF5-54FF-11d3-8BDA-00600893B1B6} */
-DEFINE_GUID(CLSID_DirectMusicParamControlTrack, 0x4be0537b, 0x5c19, 0x11d3, 0x8b, 0xdc, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {4BE0537B-5C19-11d3-8BDC-00600893B1B6} */
-DEFINE_GUID(CLSID_DirectMusicWaveTrack,0xeed36461, 0x9ea5, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
-
-/* IID's */
-DEFINE_GUID(IID_IDirectMusicTrack, 0xf96029a1, 0x4282, 0x11d2, 0x87, 0x17, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicTool,0xd2ac28ba, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Interface IDs for DX8 */
-/* changed interfaces (GUID only) */
-DEFINE_GUID(IID_IDirectMusicTool8, 0xe674303, 0x3b05, 0x11d3, 0x9b, 0xd1, 0xf9, 0xe7, 0xf0, 0xa0, 0x15, 0x36);
-DEFINE_GUID(IID_IDirectMusicTrack8, 0xe674304, 0x3b05, 0x11d3, 0x9b, 0xd1, 0xf9, 0xe7, 0xf0, 0xa0, 0x15, 0x36);
-
-#ifdef __cplusplus
-}; /* extern "C" */
-#endif
-
-#include <poppack.h>
-
-#endif /* #ifndef _DMPLUGIN_ */
diff --git a/plugins/!NotAdopted/sndVol/dmusbuff.h b/plugins/!NotAdopted/sndVol/dmusbuff.h
deleted file mode 100644
index 68414014b3..0000000000
--- a/plugins/!NotAdopted/sndVol/dmusbuff.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/***************************************************************************
-* *
-* DMusBuff.h -- This module defines the buffer format for DirectMusic *
-* Shared file between user mode and kernel mode components *
-* *
-* Copyright (c) 1998, Microsoft Corp. All rights reserved. *
-* *
-***************************************************************************/
-
-#ifndef _DMusBuff_
-#define _DMusBuff_
-
-/* Format of DirectMusic events in a buffer
- *
- * A buffer contains 1 or more events, each with the following header.
- * Immediately following the header is the event data. The header+data
- * size is rounded to the nearest quadword (8 bytes).
- */
-
-#include <pshpack4.h> /* Do not pad at end - that's where the data is */
-typedef struct _DMUS_EVENTHEADER *LPDMUS_EVENTHEADER;
-typedef struct _DMUS_EVENTHEADER
-{
- DWORD cbEvent; /* Unrounded bytes in event */
- DWORD dwChannelGroup; /* Channel group of event */
- REFERENCE_TIME rtDelta; /* Delta from start time of entire buffer */
- DWORD dwFlags; /* Flags DMUS_EVENT_xxx */
-} DMUS_EVENTHEADER;
-#include <poppack.h>
-
-#define DMUS_EVENT_STRUCTURED 0x00000001 /* Unstructured data (SysEx, etc.) */
-
-/* The number of bytes to allocate for an event with 'cb' data bytes.
- */
-#define QWORD_ALIGN(x) (((x) + 7) & ~7)
-#define DMUS_EVENT_SIZE(cb) QWORD_ALIGN(sizeof(DMUS_EVENTHEADER) + cb)
-
-
-#endif /* _DMusBuff_ */
-
-
diff --git a/plugins/!NotAdopted/sndVol/dmusicc.h b/plugins/!NotAdopted/sndVol/dmusicc.h
deleted file mode 100644
index 74f18685e7..0000000000
--- a/plugins/!NotAdopted/sndVol/dmusicc.h
+++ /dev/null
@@ -1,784 +0,0 @@
-/************************************************************************
-* *
-* dmusicc.h -- This module defines the DirectMusic core API's *
-* *
-* Copyright (c) Microsoft Corporation. All rights reserved. *
-* *
-************************************************************************/
-
-#ifndef _DMUSICC_
-#define _DMUSICC_
-
-#include <windows.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#include <mmsystem.h>
-
-#include "dls1.h"
-#include "dmerror.h"
-#include "dmdls.h"
-#include "dsound.h"
-#include "dmusbuff.h"
-
-#include <pshpack8.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef ULONGLONG SAMPLE_TIME;
-typedef ULONGLONG SAMPLE_POSITION;
-typedef SAMPLE_TIME *LPSAMPLE_TIME;
-
-#define DMUS_MAX_DESCRIPTION 128
-#define DMUS_MAX_DRIVER 128
-
-typedef struct _DMUS_BUFFERDESC *LPDMUS_BUFFERDESC;
-typedef struct _DMUS_BUFFERDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidBufferFormat;
- DWORD cbBuffer;
-} DMUS_BUFFERDESC;
-
-/* DMUS_EFFECT_ flags are used in the dwEffectFlags fields of both DMUS_PORTCAPS
- * and DMUS_PORTPARAMS.
- */
-#define DMUS_EFFECT_NONE 0x00000000
-#define DMUS_EFFECT_REVERB 0x00000001
-#define DMUS_EFFECT_CHORUS 0x00000002
-#define DMUS_EFFECT_DELAY 0x00000004
-
-/* For DMUS_PORTCAPS dwClass
- */
-#define DMUS_PC_INPUTCLASS (0)
-#define DMUS_PC_OUTPUTCLASS (1)
-
-/* For DMUS_PORTCAPS dwFlags
- */
-#define DMUS_PC_DLS (0x00000001) // Supports DLS downloading and DLS level 1.
-#define DMUS_PC_EXTERNAL (0x00000002) // External MIDI module.
-#define DMUS_PC_SOFTWARESYNTH (0x00000004) // Software synthesizer.
-#define DMUS_PC_MEMORYSIZEFIXED (0x00000008) // Memory size is fixed.
-#define DMUS_PC_GMINHARDWARE (0x00000010) // GM sound set is built in, no need to download.
-#define DMUS_PC_GSINHARDWARE (0x00000020) // GS sound set is built in.
-#define DMUS_PC_XGINHARDWARE (0x00000040) // XG sound set is built in.
-#define DMUS_PC_DIRECTSOUND (0x00000080) // Connects to DirectSound via a DirectSound buffer.
-#define DMUS_PC_SHAREABLE (0x00000100) // Synth can be actively shared by multiple apps at once.
-#define DMUS_PC_DLS2 (0x00000200) // Supports DLS2 instruments.
-#define DMUS_PC_AUDIOPATH (0x00000400) // Multiple outputs can be connected to DirectSound for audiopaths.
-#define DMUS_PC_WAVE (0x00000800) // Supports streaming and one shot waves.
-
-#define DMUS_PC_SYSTEMMEMORY (0x7FFFFFFF) // Sample memory is system memory.
-
-
-typedef struct _DMUS_PORTCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidPort;
- DWORD dwClass;
- DWORD dwType;
- DWORD dwMemorySize;
- DWORD dwMaxChannelGroups;
- DWORD dwMaxVoices;
- DWORD dwMaxAudioChannels;
- DWORD dwEffectFlags;
- WCHAR wszDescription[DMUS_MAX_DESCRIPTION];
-} DMUS_PORTCAPS;
-
-typedef DMUS_PORTCAPS *LPDMUS_PORTCAPS;
-
-/* Values for DMUS_PORTCAPS dwType. This field indicates the underlying
- * driver type of the port.
- */
-#define DMUS_PORT_WINMM_DRIVER (0)
-#define DMUS_PORT_USER_MODE_SYNTH (1)
-#define DMUS_PORT_KERNEL_MODE (2)
-
-/* These flags (set in dwValidParams) indicate which other members of the */
-/* DMUS_PORTPARAMS are valid. */
-/* */
-#define DMUS_PORTPARAMS_VOICES 0x00000001
-#define DMUS_PORTPARAMS_CHANNELGROUPS 0x00000002
-#define DMUS_PORTPARAMS_AUDIOCHANNELS 0x00000004
-#define DMUS_PORTPARAMS_SAMPLERATE 0x00000008
-#define DMUS_PORTPARAMS_EFFECTS 0x00000020
-#define DMUS_PORTPARAMS_SHARE 0x00000040
-#define DMUS_PORTPARAMS_FEATURES 0x00000080 /* DirectX 8.0 and above */
-
-typedef struct _DMUS_PORTPARAMS
-{
- DWORD dwSize;
- DWORD dwValidParams;
- DWORD dwVoices;
- DWORD dwChannelGroups;
- DWORD dwAudioChannels;
- DWORD dwSampleRate;
- DWORD dwEffectFlags;
- BOOL fShare;
-} DMUS_PORTPARAMS7;
-
-typedef struct _DMUS_PORTPARAMS8
-{
- DWORD dwSize;
- DWORD dwValidParams;
- DWORD dwVoices;
- DWORD dwChannelGroups;
- DWORD dwAudioChannels;
- DWORD dwSampleRate;
- DWORD dwEffectFlags;
- BOOL fShare;
- DWORD dwFeatures;
-} DMUS_PORTPARAMS8;
-
-#define DMUS_PORT_FEATURE_AUDIOPATH 0x00000001 /* Supports audiopath connection to DirectSound buffers. */
-#define DMUS_PORT_FEATURE_STREAMING 0x00000002 /* Supports streaming waves through the synth. */
-
-
-typedef DMUS_PORTPARAMS8 DMUS_PORTPARAMS;
-typedef DMUS_PORTPARAMS *LPDMUS_PORTPARAMS;
-
-typedef struct _DMUS_SYNTHSTATS *LPDMUS_SYNTHSTATS;
-typedef struct _DMUS_SYNTHSTATS8 *LPDMUS_SYNTHSTATS8;
-typedef struct _DMUS_SYNTHSTATS
-{
- DWORD dwSize; /* Size in bytes of the structure */
- DWORD dwValidStats; /* Flags indicating which fields below are valid. */
- DWORD dwVoices; /* Average number of voices playing. */
- DWORD dwTotalCPU; /* Total CPU usage as percent * 100. */
- DWORD dwCPUPerVoice; /* CPU per voice as percent * 100. */
- DWORD dwLostNotes; /* Number of notes lost in 1 second. */
- DWORD dwFreeMemory; /* Free memory in bytes */
- long lPeakVolume; /* Decibel level * 100. */
-} DMUS_SYNTHSTATS;
-
-typedef struct _DMUS_SYNTHSTATS8
-{
- DWORD dwSize; /* Size in bytes of the structure */
- DWORD dwValidStats; /* Flags indicating which fields below are valid. */
- DWORD dwVoices; /* Average number of voices playing. */
- DWORD dwTotalCPU; /* Total CPU usage as percent * 100. */
- DWORD dwCPUPerVoice; /* CPU per voice as percent * 100. */
- DWORD dwLostNotes; /* Number of notes lost in 1 second. */
- DWORD dwFreeMemory; /* Free memory in bytes */
- long lPeakVolume; /* Decibel level * 100. */
- DWORD dwSynthMemUse; /* Memory used by synth wave data */
-} DMUS_SYNTHSTATS8;
-
-#define DMUS_SYNTHSTATS_VOICES (1 << 0)
-#define DMUS_SYNTHSTATS_TOTAL_CPU (1 << 1)
-#define DMUS_SYNTHSTATS_CPU_PER_VOICE (1 << 2)
-#define DMUS_SYNTHSTATS_LOST_NOTES (1 << 3)
-#define DMUS_SYNTHSTATS_PEAK_VOLUME (1 << 4)
-#define DMUS_SYNTHSTATS_FREE_MEMORY (1 << 5)
-
-#define DMUS_SYNTHSTATS_SYSTEMMEMORY DMUS_PC_SYSTEMMEMORY
-
-typedef struct _DMUS_WAVES_REVERB_PARAMS
-{
- float fInGain; /* Input gain in dB (to avoid output overflows) */
- float fReverbMix; /* Reverb mix in dB. 0dB means 100% wet reverb (no direct signal)
- Negative values gives less wet signal.
- The coeficients are calculated so that the overall output level stays
- (approximately) constant regardless of the ammount of reverb mix. */
- float fReverbTime; /* The reverb decay time, in milliseconds. */
- float fHighFreqRTRatio; /* The ratio of the high frequencies to the global reverb time.
- Unless very 'splashy-bright' reverbs are wanted, this should be set to
- a value < 1.0.
- For example if dRevTime==1000ms and dHighFreqRTRatio=0.1 than the
- decay time for high frequencies will be 100ms.*/
-
-} DMUS_WAVES_REVERB_PARAMS;
-
-/* Note: Default values for Reverb are:
- fInGain = 0.0dB (no change in level)
- fReverbMix = -10.0dB (a reasonable reverb mix)
- fReverbTime = 1000.0ms (one second global reverb time)
- fHighFreqRTRatio = 0.001 (the ratio of the high frequencies to the global reverb time)
-*/
-
-typedef enum
-{
- DMUS_CLOCK_SYSTEM = 0,
- DMUS_CLOCK_WAVE = 1
-} DMUS_CLOCKTYPE;
-
-#define DMUS_CLOCKF_GLOBAL 0x00000001
-
-typedef struct _DMUS_CLOCKINFO7 *LPDMUS_CLOCKINFO7;
-typedef struct _DMUS_CLOCKINFO7
-{
- DWORD dwSize;
- DMUS_CLOCKTYPE ctType;
- GUID guidClock; /* Identifies this time source */
- WCHAR wszDescription[DMUS_MAX_DESCRIPTION];
-} DMUS_CLOCKINFO7;
-
-typedef struct _DMUS_CLOCKINFO8 *LPDMUS_CLOCKINFO8;
-typedef struct _DMUS_CLOCKINFO8
-{
- DWORD dwSize;
- DMUS_CLOCKTYPE ctType;
- GUID guidClock; /* Identifies this time source */
- WCHAR wszDescription[DMUS_MAX_DESCRIPTION];
- DWORD dwFlags;
-} DMUS_CLOCKINFO8;
-
-typedef DMUS_CLOCKINFO8 DMUS_CLOCKINFO;
-typedef DMUS_CLOCKINFO *LPDMUS_CLOCKINFO;
-
-/* Default bus identifiers
- *
- * The first 17 are direct mappings to the destinations defined in both
- * the MMA DLS Level 2 specification and the Microsoft Multi-Channel audio
- * specification.
- */
-#define DSBUSID_FIRST_SPKR_LOC 0
-#define DSBUSID_FRONT_LEFT 0
-#define DSBUSID_LEFT 0 /* Front left is also just left */
-#define DSBUSID_FRONT_RIGHT 1
-#define DSBUSID_RIGHT 1 /* Ditto front right */
-#define DSBUSID_FRONT_CENTER 2
-#define DSBUSID_LOW_FREQUENCY 3
-#define DSBUSID_BACK_LEFT 4
-#define DSBUSID_BACK_RIGHT 5
-#define DSBUSID_FRONT_LEFT_OF_CENTER 6
-#define DSBUSID_FRONT_RIGHT_OF_CENTER 7
-#define DSBUSID_BACK_CENTER 8
-#define DSBUSID_SIDE_LEFT 9
-#define DSBUSID_SIDE_RIGHT 10
-#define DSBUSID_TOP_CENTER 11
-#define DSBUSID_TOP_FRONT_LEFT 12
-#define DSBUSID_TOP_FRONT_CENTER 13
-#define DSBUSID_TOP_FRONT_RIGHT 14
-#define DSBUSID_TOP_BACK_LEFT 15
-#define DSBUSID_TOP_BACK_CENTER 16
-#define DSBUSID_TOP_BACK_RIGHT 17
-#define DSBUSID_LAST_SPKR_LOC 17
-
-#define DSBUSID_IS_SPKR_LOC(id) ( ((id) >= DSBUSID_FIRST_SPKR_LOC) && ((id) <= DSBUSID_LAST_SPKR_LOC) )
-
-/* These bus identifiers are for the standard DLS effect sends
- */
-#define DSBUSID_REVERB_SEND 64
-#define DSBUSID_CHORUS_SEND 65
-
-/* Dynamic bus identifiers start here. See the documentation for how
- * synthesizers map the output of voices to static and dynamic
- * bus identifiers.
- */
-#define DSBUSID_DYNAMIC_0 512
-
-/* Null bus, used to identify busses that have no function mapping.
-*/
-#define DSBUSID_NULL 0xFFFFFFFF
-
-interface IDirectMusic;
-interface IDirectMusic8;
-interface IDirectMusicBuffer;
-interface IDirectMusicPort;
-interface IDirectMusicThru;
-interface IReferenceClock;
-
-#ifndef __cplusplus
-
-typedef interface IDirectMusic IDirectMusic;
-typedef interface IDirectMusic8 IDirectMusic8;
-typedef interface IDirectMusicPort IDirectMusicPort;
-typedef interface IDirectMusicBuffer IDirectMusicBuffer;
-typedef interface IDirectMusicThru IDirectMusicThru;
-typedef interface IReferenceClock IReferenceClock;
-
-#endif /* C++ */
-
-typedef IDirectMusic *LPDIRECTMUSIC;
-typedef IDirectMusic8 *LPDIRECTMUSIC8;
-typedef IDirectMusicPort *LPDIRECTMUSICPORT;
-typedef IDirectMusicBuffer *LPDIRECTMUSICBUFFER;
-
-#undef INTERFACE
-#define INTERFACE IDirectMusic
-DECLARE_INTERFACE_(IDirectMusic, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusic */
- STDMETHOD(EnumPort) (THIS_ DWORD dwIndex,
- LPDMUS_PORTCAPS pPortCaps) PURE;
- STDMETHOD(CreateMusicBuffer) (THIS_ LPDMUS_BUFFERDESC pBufferDesc,
- LPDIRECTMUSICBUFFER *ppBuffer,
- LPUNKNOWN pUnkOuter) PURE;
- STDMETHOD(CreatePort) (THIS_ REFCLSID rclsidPort,
- LPDMUS_PORTPARAMS pPortParams,
- LPDIRECTMUSICPORT *ppPort,
- LPUNKNOWN pUnkOuter) PURE;
- STDMETHOD(EnumMasterClock) (THIS_ DWORD dwIndex,
- LPDMUS_CLOCKINFO lpClockInfo) PURE;
- STDMETHOD(GetMasterClock) (THIS_ LPGUID pguidClock,
- IReferenceClock **ppReferenceClock) PURE;
- STDMETHOD(SetMasterClock) (THIS_ REFGUID rguidClock) PURE;
- STDMETHOD(Activate) (THIS_ BOOL fEnable) PURE;
- STDMETHOD(GetDefaultPort) (THIS_ LPGUID pguidPort) PURE;
- STDMETHOD(SetDirectSound) (THIS_ LPDIRECTSOUND pDirectSound,
- HWND hWnd) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IDirectMusic8
-DECLARE_INTERFACE_(IDirectMusic8, IDirectMusic)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusic */
- STDMETHOD(EnumPort) (THIS_ DWORD dwIndex,
- LPDMUS_PORTCAPS pPortCaps) PURE;
- STDMETHOD(CreateMusicBuffer) (THIS_ LPDMUS_BUFFERDESC pBufferDesc,
- LPDIRECTMUSICBUFFER *ppBuffer,
- LPUNKNOWN pUnkOuter) PURE;
- STDMETHOD(CreatePort) (THIS_ REFCLSID rclsidPort,
- LPDMUS_PORTPARAMS pPortParams,
- LPDIRECTMUSICPORT *ppPort,
- LPUNKNOWN pUnkOuter) PURE;
- STDMETHOD(EnumMasterClock) (THIS_ DWORD dwIndex,
- LPDMUS_CLOCKINFO lpClockInfo) PURE;
- STDMETHOD(GetMasterClock) (THIS_ LPGUID pguidClock,
- IReferenceClock **ppReferenceClock) PURE;
- STDMETHOD(SetMasterClock) (THIS_ REFGUID rguidClock) PURE;
- STDMETHOD(Activate) (THIS_ BOOL fEnable) PURE;
- STDMETHOD(GetDefaultPort) (THIS_ LPGUID pguidPort) PURE;
- STDMETHOD(SetDirectSound) (THIS_ LPDIRECTSOUND pDirectSound,
- HWND hWnd) PURE;
- /* IDirectMusic8 */
- STDMETHOD(SetExternalMasterClock)
- (THIS_ IReferenceClock *pClock) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicBuffer
-DECLARE_INTERFACE_(IDirectMusicBuffer, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicBuffer */
- STDMETHOD(Flush) (THIS) PURE;
- STDMETHOD(TotalTime) (THIS_ LPREFERENCE_TIME prtTime) PURE;
-
- STDMETHOD(PackStructured) (THIS_ REFERENCE_TIME rt,
- DWORD dwChannelGroup,
- DWORD dwChannelMessage) PURE;
-
- STDMETHOD(PackUnstructured) (THIS_ REFERENCE_TIME rt,
- DWORD dwChannelGroup,
- DWORD cb,
- LPBYTE lpb) PURE;
-
- STDMETHOD(ResetReadPtr) (THIS) PURE;
- STDMETHOD(GetNextEvent) (THIS_ LPREFERENCE_TIME prt,
- LPDWORD pdwChannelGroup,
- LPDWORD pdwLength,
- LPBYTE *ppData) PURE;
-
- STDMETHOD(GetRawBufferPtr) (THIS_ LPBYTE *ppData) PURE;
- STDMETHOD(GetStartTime) (THIS_ LPREFERENCE_TIME prt) PURE;
- STDMETHOD(GetUsedBytes) (THIS_ LPDWORD pcb) PURE;
- STDMETHOD(GetMaxBytes) (THIS_ LPDWORD pcb) PURE;
- STDMETHOD(GetBufferFormat) (THIS_ LPGUID pGuidFormat) PURE;
-
- STDMETHOD(SetStartTime) (THIS_ REFERENCE_TIME rt) PURE;
- STDMETHOD(SetUsedBytes) (THIS_ DWORD cb) PURE;
-};
-
-typedef IDirectMusicBuffer IDirectMusicBuffer8;
-typedef IDirectMusicBuffer8 *LPDIRECTMUSICBUFFER8;
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicInstrument
-DECLARE_INTERFACE_(IDirectMusicInstrument, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicInstrument */
- STDMETHOD(GetPatch) (THIS_ DWORD* pdwPatch) PURE;
- STDMETHOD(SetPatch) (THIS_ DWORD dwPatch) PURE;
-};
-
-typedef IDirectMusicInstrument IDirectMusicInstrument8;
-typedef IDirectMusicInstrument8 *LPDIRECTMUSICINSTRUMENT8;
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicDownloadedInstrument
-DECLARE_INTERFACE_(IDirectMusicDownloadedInstrument, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicDownloadedInstrument */
- /* None at this time */
-};
-
-typedef IDirectMusicDownloadedInstrument IDirectMusicDownloadedInstrument8;
-typedef IDirectMusicDownloadedInstrument8 *LPDIRECTMUSICDOWNLOADEDINSTRUMENT8;
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicCollection
-DECLARE_INTERFACE_(IDirectMusicCollection, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicCollection */
- STDMETHOD(GetInstrument) (THIS_ DWORD dwPatch,
- IDirectMusicInstrument** ppInstrument) PURE;
- STDMETHOD(EnumInstrument) (THIS_ DWORD dwIndex,
- DWORD* pdwPatch,
- LPWSTR pwszName,
- DWORD dwNameLen) PURE;
-};
-
-typedef IDirectMusicCollection IDirectMusicCollection8;
-typedef IDirectMusicCollection8 *LPDIRECTMUSICCOLLECTION8;
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicDownload
-DECLARE_INTERFACE_(IDirectMusicDownload , IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicDownload */
- STDMETHOD(GetBuffer) (THIS_ void** ppvBuffer,
- DWORD* pdwSize) PURE;
-};
-
-typedef IDirectMusicDownload IDirectMusicDownload8;
-typedef IDirectMusicDownload8 *LPDIRECTMUSICDOWNLOAD8;
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicPortDownload
-DECLARE_INTERFACE_(IDirectMusicPortDownload, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicPortDownload */
- STDMETHOD(GetBuffer) (THIS_ DWORD dwDLId,
- IDirectMusicDownload** ppIDMDownload) PURE;
- STDMETHOD(AllocateBuffer) (THIS_ DWORD dwSize,
- IDirectMusicDownload** ppIDMDownload) PURE;
- STDMETHOD(GetDLId) (THIS_ DWORD* pdwStartDLId,
- DWORD dwCount) PURE;
- STDMETHOD(GetAppend) (THIS_ DWORD* pdwAppend) PURE;
- STDMETHOD(Download) (THIS_ IDirectMusicDownload* pIDMDownload) PURE;
- STDMETHOD(Unload) (THIS_ IDirectMusicDownload* pIDMDownload) PURE;
-};
-
-typedef IDirectMusicPortDownload IDirectMusicPortDownload8;
-typedef IDirectMusicPortDownload8 *LPDIRECTMUSICPORTDOWNLOAD8;
-
-/* Standard values for voice priorities. Numerically higher priorities are higher in priority.
- * These priorities are used to set the voice priority for all voices on a channel. They are
- * used in the dwPriority parameter of IDirectMusicPort::GetPriority and returned in the
- * lpwPriority parameter of pdwPriority.
- *
- * These priorities are shared with DirectSound.
- */
-
-#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)
-
-/* These are the default priorities assigned if not overridden. By default priorities are
- * equal across channel groups (e.g. channel 5 on channel group 1 has the same priority as
- * channel 5 on channel group 2).
- *
- * In accordance with DLS level 1, channel 10 has the highest priority, followed by 1 through 16
- * except for 10.
- */
-#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 /* _DIRECTAUDIO_PRIORITIES_DEFINED_ */
-
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicPort
-DECLARE_INTERFACE_(IDirectMusicPort, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicPort */
- /* */
- STDMETHOD(PlayBuffer) (THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE;
- STDMETHOD(SetReadNotificationHandle) (THIS_ HANDLE hEvent) PURE;
- STDMETHOD(Read) (THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE;
- STDMETHOD(DownloadInstrument) (THIS_ IDirectMusicInstrument *pInstrument,
- IDirectMusicDownloadedInstrument **ppDownloadedInstrument,
- DMUS_NOTERANGE *pNoteRanges,
- DWORD dwNumNoteRanges) PURE;
- STDMETHOD(UnloadInstrument) (THIS_ IDirectMusicDownloadedInstrument *pDownloadedInstrument) PURE;
- STDMETHOD(GetLatencyClock) (THIS_ IReferenceClock **ppClock) PURE;
- STDMETHOD(GetRunningStats) (THIS_ LPDMUS_SYNTHSTATS pStats) PURE;
- STDMETHOD(Compact) (THIS) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDMUS_PORTCAPS pPortCaps) PURE;
- STDMETHOD(DeviceIoControl) (THIS_ DWORD dwIoControlCode,
- LPVOID lpInBuffer,
- DWORD nInBufferSize,
- LPVOID lpOutBuffer,
- DWORD nOutBufferSize,
- LPDWORD lpBytesReturned,
- LPOVERLAPPED lpOverlapped) PURE;
- STDMETHOD(SetNumChannelGroups) (THIS_ DWORD dwChannelGroups) PURE;
- STDMETHOD(GetNumChannelGroups) (THIS_ LPDWORD pdwChannelGroups) PURE;
- STDMETHOD(Activate) (THIS_ BOOL fActive) PURE;
- STDMETHOD(SetChannelPriority) (THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE;
- STDMETHOD(GetChannelPriority) (THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE;
- STDMETHOD(SetDirectSound) (THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE;
- STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize, LPDWORD pdwBufferSize) PURE;
-};
-
-typedef IDirectMusicPort IDirectMusicPort8;
-typedef IDirectMusicPort8 *LPDIRECTMUSICPORT8;
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicThru
-DECLARE_INTERFACE_(IDirectMusicThru, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicThru
- */
- STDMETHOD(ThruChannel) (THIS_ DWORD dwSourceChannelGroup,
- DWORD dwSourceChannel,
- DWORD dwDestinationChannelGroup,
- DWORD dwDestinationChannel,
- LPDIRECTMUSICPORT pDestinationPort) PURE;
-};
-
-typedef IDirectMusicThru IDirectMusicThru8;
-typedef IDirectMusicThru8 *LPDIRECTMUSICTHRU8;
-
-#ifndef __IReferenceClock_INTERFACE_DEFINED__
-#define __IReferenceClock_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IReferenceClock,0x56a86897,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-
-#undef INTERFACE
-#define INTERFACE IReferenceClock
-DECLARE_INTERFACE_(IReferenceClock, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IReferenceClock */
- /* */
-
- /* get the time now */
- STDMETHOD(GetTime) (THIS_ REFERENCE_TIME *pTime) PURE;
-
- /* ask for an async notification that a time has elapsed */
- STDMETHOD(AdviseTime) (THIS_ REFERENCE_TIME baseTime, /* base time */
- REFERENCE_TIME streamTime, /* stream offset time */
- HANDLE hEvent, /* advise via this event */
- DWORD * pdwAdviseCookie) PURE; /* where your cookie goes */
-
- /* ask for an async periodic notification that a time has elapsed */
- STDMETHOD(AdvisePeriodic) (THIS_ REFERENCE_TIME startTime, /* starting at this time */
- REFERENCE_TIME periodTime, /* time between notifications */
- HANDLE hSemaphore, /* advise via a semaphore */
- DWORD * pdwAdviseCookie) PURE; /* where your cookie goes */
-
- /* cancel a request for notification */
- STDMETHOD(Unadvise) (THIS_ DWORD dwAdviseCookie) PURE;
-};
-
-#endif /* __IReferenceClock_INTERFACE_DEFINED__ */
-
-DEFINE_GUID(CLSID_DirectMusic,0x636b9f10,0x0c7d,0x11d1,0x95,0xb2,0x00,0x20,0xaf,0xdc,0x74,0x21);
-DEFINE_GUID(CLSID_DirectMusicCollection,0x480ff4b0, 0x28b2, 0x11d1, 0xbe, 0xf7, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef);
-DEFINE_GUID(CLSID_DirectMusicSynth,0x58C2B4D0,0x46E7,0x11D1,0x89,0xAC,0x00,0xA0,0xC9,0x05,0x41,0x29);
-
-DEFINE_GUID(IID_IDirectMusic,0x6536115a,0x7b2d,0x11d2,0xba,0x18,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(IID_IDirectMusicBuffer,0xd2ac2878, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicPort, 0x08f2d8c9,0x37c2,0x11d2,0xb9,0xf9,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(IID_IDirectMusicThru, 0xced153e7, 0x3606, 0x11d2, 0xb9, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(IID_IDirectMusicPortDownload,0xd2ac287a, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicDownload,0xd2ac287b, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicCollection,0xd2ac287c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicInstrument,0xd2ac287d, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicDownloadedInstrument,0xd2ac287e, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-
-/* Alternate interface ID for IID_IDirectMusic, available in DX7 release and after. */
-DEFINE_GUID(IID_IDirectMusic2,0x6fc2cae1, 0xbc78, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-
-DEFINE_GUID(IID_IDirectMusic8,0x2d3629f7,0x813d,0x4939,0x85,0x08,0xf0,0x5c,0x6b,0x75,0xfd,0x97);
-
-#define IID_IDirectMusicThru8 IID_IDirectMusicThru
-#define IID_IDirectMusicPortDownload8 IID_IDirectMusicPortDownload
-#define IID_IDirectMusicDownload8 IID_IDirectMusicDownload
-#define IID_IDirectMusicCollection8 IID_IDirectMusicCollection
-#define IID_IDirectMusicInstrument8 IID_IDirectMusicInstrument
-#define IID_IDirectMusicDownloadedInstrument8 IID_IDirectMusicDownloadedInstrument
-#define IID_IDirectMusicPort8 IID_IDirectMusicPort
-
-
-/* Property Query GUID_DMUS_PROP_GM_Hardware - Local GM set, no need to download
- * Property Query GUID_DMUS_PROP_GS_Hardware - Local GS set, no need to download
- * Property Query GUID_DMUS_PROP_XG_Hardware - Local XG set, no need to download
- * Property Query GUID_DMUS_PROP_DLS1 - Support DLS level 1
- * Property Query GUID_DMUS_PROP_INSTRUMENT2 - Support new INSTRUMENT2 download format
- * Property Query GUID_DMUS_PROP_XG_Capable - Support minimum requirements of XG
- * Property Query GUID_DMUS_PROP_GS_Capable - Support minimum requirements of GS
- * Property Query GUID_DMUS_PROP_SynthSink_DSOUND - Synthsink talks to DirectSound
- * Property Query GUID_DMUS_PROP_SynthSink_WAVE - Synthsink talks to Wave device
- *
- * Item 0: Supported
- * Returns a DWORD which is non-zero if the feature is supported
- */
-DEFINE_GUID(GUID_DMUS_PROP_GM_Hardware, 0x178f2f24, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(GUID_DMUS_PROP_GS_Hardware, 0x178f2f25, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(GUID_DMUS_PROP_XG_Hardware, 0x178f2f26, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(GUID_DMUS_PROP_XG_Capable, 0x6496aba1, 0x61b0, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_GS_Capable, 0x6496aba2, 0x61b0, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_DLS1, 0x178f2f27, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(GUID_DMUS_PROP_DLS2, 0xf14599e5, 0x4689, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_INSTRUMENT2, 0x865fd372, 0x9f67, 0x11d2, 0x87, 0x2a, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_DMUS_PROP_SynthSink_DSOUND,0xaa97844, 0xc877, 0x11d1, 0x87, 0xc, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_DMUS_PROP_SynthSink_WAVE,0xaa97845, 0xc877, 0x11d1, 0x87, 0xc, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_DMUS_PROP_SampleMemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-DEFINE_GUID(GUID_DMUS_PROP_SamplePlaybackRate, 0x2a91f713, 0xa4bf, 0x11d2, 0xbb, 0xdf, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
-
-/* Property Get/Set GUID_DMUS_PROP_WriteLatency
- *
- * Item 0: Synth buffer write latency, in milliseconds
- * Get/Set SynthSink latency, the average time after the play head that the next buffer gets written.
- */
-DEFINE_GUID(GUID_DMUS_PROP_WriteLatency,0x268a0fa0, 0x60f2, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-
-/* Property Get/Set GUID_DMUS_PROP_WritePeriod
- *
- * Item 0: Synth buffer write period, in milliseconds
- * Get/Set SynthSink buffer write period, time span between successive writes.
- */
-DEFINE_GUID(GUID_DMUS_PROP_WritePeriod,0x268a0fa1, 0x60f2, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-
-/* Property Get GUID_DMUS_PROP_MemorySize
- *
- * Item 0: Memory size
- * Returns a DWORD containing the total number of bytes of sample RAM
- */
-DEFINE_GUID(GUID_DMUS_PROP_MemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-
-/* Property Set GUID_DMUS_PROP_WavesReverb
- *
- * Item 0: DMUS_WAVES_REVERB structure
- * Sets reverb parameters
- */
-DEFINE_GUID(GUID_DMUS_PROP_WavesReverb,0x4cb5622, 0x32e5, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-
-/* Property Set GUID_DMUS_PROP_Effects
- *
- * Item 0: DWORD with effects flags.
- * Get/Set effects bits, same as dwEffectFlags in DMUS_PORTPARAMS and DMUS_PORTCAPS:
- * DMUS_EFFECT_NONE
- * DMUS_EFFECT_REVERB
- * DMUS_EFFECT_CHORUS
- */
-DEFINE_GUID(GUID_DMUS_PROP_Effects, 0xcda8d611, 0x684a, 0x11d2, 0x87, 0x1e, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Property Set GUID_DMUS_PROP_LegacyCaps
- *
- * Item 0: The MIDINCAPS or MIDIOUTCAPS which describes the port's underlying WinMM device. This property is only supported
- * by ports which wrap WinMM devices.
- */
-
-DEFINE_GUID(GUID_DMUS_PROP_LegacyCaps,0xcfa7cdc2, 0x00a1, 0x11d2, 0xaa, 0xd5, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-
-/* Property Set GUID_DMUS_PROP_Volume
- *
- * Item 0: A long which contains an offset, in 1/100 dB, to be added to the final volume
- *
- */
-DEFINE_GUID(GUID_DMUS_PROP_Volume, 0xfedfae25L, 0xe46e, 0x11d1, 0xaa, 0xce, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
-
-/* Min and Max values for setting volume with GUID_DMUS_PROP_Volume */
-
-#define DMUS_VOLUME_MAX 2000 /* +20 dB */
-#define DMUS_VOLUME_MIN -20000 /* -200 dB */
-
-#ifdef __cplusplus
-}; /* extern "C" */
-#endif
-
-#include <poppack.h>
-
-#endif /* #ifndef _DMUSICC_ */
diff --git a/plugins/!NotAdopted/sndVol/dmusici.h b/plugins/!NotAdopted/sndVol/dmusici.h
deleted file mode 100644
index 0af3a12f8b..0000000000
--- a/plugins/!NotAdopted/sndVol/dmusici.h
+++ /dev/null
@@ -1,1883 +0,0 @@
-/************************************************************************
-* *
-* dmusici.h -- This module contains the API for the *
-* DirectMusic performance layer *
-* *
-* Copyright (c) Microsoft Corporation. All rights reserved. *
-* *
-************************************************************************/
-
-#ifndef _DMUSICI_
-#define _DMUSICI_
-
-#include <windows.h>
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-
-#include <mmsystem.h>
-#include <dmusicc.h>
-/* plugin (track and tool) interfaces. This #include will eventually go away. */
-#include <dmplugin.h>
-
-#include <pshpack8.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef WORD TRANSITION_TYPE;
-typedef __int64 REFERENCE_TIME;
-typedef long MUSIC_TIME;
-
-#define MT_MIN 0x80000000 /* Minimum music time value. */
-#define MT_MAX 0x7FFFFFFF /* Maximum music time value. */
-
-#define DMUS_PPQ 768 /* parts per quarter note */
-
-interface IDirectMusicTrack;
-interface IDirectMusicPerformance;
-interface IDirectMusicPerformance8;
-interface IDirectMusicTool;
-interface IDirectMusicSegment;
-interface IDirectMusicSegment8;
-interface IDirectMusicSegmentState;
-interface IDirectMusicSegmentState8;
-interface IDirectMusicGraph;
-interface IDirectMusicBuffer;
-interface IDirectMusicInstrument;
-interface IDirectMusicDownloadedInstrument;
-interface IDirectMusicBand;
-interface IDirectMusicChordMap;
-interface IDirectMusicLoader;
-interface IDirectMusicLoader8;
-interface IDirectMusicScript;
-interface IDirectMusicObject;
-interface IDirectMusicStyle8;
-interface IDirectMusicPatternTrack;
-interface IDirectMusicContainer;
-interface IDirectMusicTool8;
-interface IDirectMusicTrack8;
-interface IDirectMusicAudioPath;
-#ifndef __cplusplus
-typedef interface IDirectMusicTrack IDirectMusicTrack;
-typedef interface IDirectMusicPerformance IDirectMusicPerformance;
-typedef interface IDirectMusicPerformance8 IDirectMusicPerformance8;
-typedef interface IDirectMusicTool IDirectMusicTool;
-typedef interface IDirectMusicSegment IDirectMusicSegment;
-typedef interface IDirectMusicSegment8 IDirectMusicSegment8;
-typedef interface IDirectMusicSegmentState IDirectMusicSegmentState;
-typedef interface IDirectMusicSegmentState8 IDirectMusicSegmentState8;
-typedef interface IDirectMusicGraph IDirectMusicGraph;
-typedef interface IDirectMusicBuffer IDirectMusicBuffer;
-typedef interface IDirectMusicInstrument IDirectMusicInstrument;
-typedef interface IDirectMusicDownloadedInstrument IDirectMusicDownloadedInstrument;
-typedef interface IDirectMusicBand IDirectMusicBand;
-typedef interface IDirectMusicChordMap IDirectMusicChordMap;
-typedef interface IDirectMusicObject IDirectMusicObject;
-typedef interface IDirectMusicLoader IDirectMusicLoader;
-typedef interface IDirectMusicLoader8 IDirectMusicLoader8;
-typedef interface IDirectMusicScript IDirectMusicScript;
-typedef interface IDirectMusicStyle8 IDirectMusicStyle8;
-typedef interface IDirectMusicPatternTrack IDirectMusicPatternTrack;
-typedef interface IDirectMusicContainer IDirectMusicContainer;
-typedef interface IDirectMusicTool8 IDirectMusicTool8;
-typedef interface IDirectMusicTrack8 IDirectMusicTrack8;
-typedef interface IDirectMusicAudioPath IDirectMusicAudioPath;
-#endif
-
-typedef enum enumDMUS_STYLET_TYPES
-{
- DMUS_STYLET_PATTERN = 0,
- DMUS_STYLET_MOTIF = 1,
-} DMUS_STYLET_TYPES;
-
-
-typedef enum enumDMUS_COMMANDT_TYPES
-{
- DMUS_COMMANDT_GROOVE = 0,
- DMUS_COMMANDT_FILL = 1,
- DMUS_COMMANDT_INTRO = 2,
- DMUS_COMMANDT_BREAK = 3,
- DMUS_COMMANDT_END = 4,
- DMUS_COMMANDT_ENDANDINTRO = 5
-} DMUS_COMMANDT_TYPES;
-
-typedef enum enumDMUS_SHAPET_TYPES
-{
- DMUS_SHAPET_FALLING = 0,
- DMUS_SHAPET_LEVEL = 1,
- DMUS_SHAPET_LOOPABLE = 2,
- DMUS_SHAPET_LOUD = 3,
- DMUS_SHAPET_QUIET = 4,
- DMUS_SHAPET_PEAKING = 5,
- DMUS_SHAPET_RANDOM = 6,
- DMUS_SHAPET_RISING = 7,
- DMUS_SHAPET_SONG = 8
-} DMUS_SHAPET_TYPES;
-
-typedef enum enumDMUS_COMPOSEF_FLAGS
-{
- DMUS_COMPOSEF_NONE = 0,
- DMUS_COMPOSEF_ALIGN = 0x1,
- DMUS_COMPOSEF_OVERLAP = 0x2,
- DMUS_COMPOSEF_IMMEDIATE = 0x4,
- DMUS_COMPOSEF_GRID = 0x8,
- DMUS_COMPOSEF_BEAT = 0x10,
- DMUS_COMPOSEF_MEASURE = 0x20,
- DMUS_COMPOSEF_AFTERPREPARETIME = 0x40,
- DMUS_COMPOSEF_VALID_START_BEAT = 0x80, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur on any beat. */
- DMUS_COMPOSEF_VALID_START_GRID = 0x100, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur on any grid. */
- DMUS_COMPOSEF_VALID_START_TICK = 0x200, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur any time. */
- DMUS_COMPOSEF_SEGMENTEND = 0x400, /* Play the transition at the end of the current segment. */
- DMUS_COMPOSEF_MARKER = 0x800, /* Play the transition at the next marker in the current segment. */
- DMUS_COMPOSEF_MODULATE = 0x1000,
- DMUS_COMPOSEF_LONG = 0x2000,
- DMUS_COMPOSEF_ENTIRE_TRANSITION = 0x4000, /* play the entire transition pattern */
- DMUS_COMPOSEF_1BAR_TRANSITION = 0x8000, /* play one bar of the transition pattern */
- DMUS_COMPOSEF_ENTIRE_ADDITION = 0x10000, /* play the additional pattern in its entirety */
- DMUS_COMPOSEF_1BAR_ADDITION = 0x20000, /* play one bar of the additional pattern */
- DMUS_COMPOSEF_VALID_START_MEASURE = 0x40000, /* In conjunction with DMUS_COMPOSEF_ALIGN, allows the switch to occur on any bar. */
- DMUS_COMPOSEF_DEFAULT = 0x80000, /* Use segment's default boundary */
- DMUS_COMPOSEF_NOINVALIDATE = 0x100000, /* Play without invalidating the currently playing segment(s) */
- DMUS_COMPOSEF_USE_AUDIOPATH = 0x200000, /* Uses the audio paths that are embedded in the segments */
- DMUS_COMPOSEF_INVALIDATE_PRI = 0x400000 /* Invalidate only the current primary seg state */
-} DMUS_COMPOSEF_FLAGS;
-
-#define DMUS_PMSG_PART \
- DWORD dwSize; \
- REFERENCE_TIME rtTime; /* real time (in 100 nanosecond increments) */ \
- MUSIC_TIME mtTime; /* music time */ \
- DWORD dwFlags; /* various bits (see DMUS_PMSGF_FLAGS enumeration) */ \
- DWORD dwPChannel; /* Performance Channel. The Performance can */ \
- /* use this to determine the port/channel. */ \
- DWORD dwVirtualTrackID; /* virtual track ID */ \
- IDirectMusicTool* pTool; /* tool interface pointer */ \
- IDirectMusicGraph* pGraph; /* tool graph interface pointer */ \
- DWORD dwType; /* PMSG type (see DMUS_PMSGT_TYPES defines) */ \
- DWORD dwVoiceID; /* unique voice id which allows synthesizers to */ \
- /* identify a specific event. For DirectX 6.0, */ \
- /* this field should always be 0. */ \
- DWORD dwGroupID; /* Track group id */ \
- IUnknown* punkUser; /* user com pointer, auto released upon PMSG free */
-
-/* every DMUS_PMSG is based off of this structure. The Performance needs
- to access these members consistently in every PMSG that goes through it. */
-typedef struct _DMUS_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
-} DMUS_PMSG;
-
-#define DMUS_PCHANNEL_BROADCAST_PERFORMANCE 0xFFFFFFFF /* PMsg is sent on all PChannels of the performance. */
-#define DMUS_PCHANNEL_BROADCAST_AUDIOPATH 0xFFFFFFFE /* PMsg is sent on all PChannels of the audio path. */
-#define DMUS_PCHANNEL_BROADCAST_SEGMENT 0xFFFFFFFD /* PMsg is sent on all PChannels of the segment. */
-#define DMUS_PCHANNEL_BROADCAST_GROUPS 0xFFFFFFFC /* A duplicate PMsg is for each Channels Groups in the performance. */
-
-/* The DMUS_PATH constants are used in conjunction with GetObjectInPath to find a requested
- interface at a particular stage in the audio path.
-*/
-#define DMUS_PATH_SEGMENT 0x1000 /* Get the segment itself (from a segment state.) */
-#define DMUS_PATH_SEGMENT_TRACK 0x1100 /* Look in Track List of Segment. */
-#define DMUS_PATH_SEGMENT_GRAPH 0x1200 /* Get the segment's tool graph. */
-#define DMUS_PATH_SEGMENT_TOOL 0x1300 /* Look in Tool Graph of Segment. */
-#define DMUS_PATH_AUDIOPATH 0x2000 /* Get the audiopath itself (from a segment state.) */
-#define DMUS_PATH_AUDIOPATH_GRAPH 0x2200 /* Get the audiopath's tool graph. */
-#define DMUS_PATH_AUDIOPATH_TOOL 0x2300 /* Look in Tool Graph of Audio Path. */
-#define DMUS_PATH_PERFORMANCE 0x3000 /* Access the performance. */
-#define DMUS_PATH_PERFORMANCE_GRAPH 0x3200 /* Get the performance's tool graph. */
-#define DMUS_PATH_PERFORMANCE_TOOL 0x3300 /* Look in Tool Graph of Performance. */
-#define DMUS_PATH_PORT 0x4000 /* Access the synth. */
-#define DMUS_PATH_BUFFER 0x6000 /* Look in DirectSoundBuffer. */
-#define DMUS_PATH_BUFFER_DMO 0x6100 /* Access a DMO in the buffer. */
-#define DMUS_PATH_MIXIN_BUFFER 0x7000 /* Look in a global mixin buffer. */
-#define DMUS_PATH_MIXIN_BUFFER_DMO 0x7100 /* Access a DMO in a global mixin buffer. */
-#define DMUS_PATH_PRIMARY_BUFFER 0x8000 /* Access the primary buffer. */
-
-/* To ignore PChannels when calling GetObjectInPath(), use the DMUS_PCHANNEL_ALL constant. */
-#define DMUS_PCHANNEL_ALL 0xFFFFFFFB
-
-/* The DMUS_APATH types are used in conjunction with CreateStandardAudioPath to
- build default path types. _SHARED_ means the same buffer is shared across multiple
- instantiations of the audiopath type. _DYNAMIC_ means a unique buffer is created
- every time.
-*/
-
-#define DMUS_APATH_SHARED_STEREOPLUSREVERB 1 /* A standard music set up with stereo outs and reverb. */
-#define DMUS_APATH_DYNAMIC_3D 6 /* An audio path with one dynamic bus from the synth feeding to a dynamic 3d buffer. Does not send to env reverb. */
-#define DMUS_APATH_DYNAMIC_MONO 7 /* An audio path with one dynamic bus from the synth feeding to a dynamic mono buffer. */
-#define DMUS_APATH_DYNAMIC_STEREO 8 /* An audio path with two dynamic buses from the synth feeding to a dynamic stereo buffer. */
-
-typedef struct _DMUS_AUDIOPARAMS
-{
- DWORD dwSize; /* Size of this structure. */
- BOOL fInitNow; /* If true, the sink and synth are created immediately and results returned in this structure. */
- DWORD dwValidData; /* Flags indicating which fields below are valid. */
- DWORD dwFeatures; /* Required DMUS_AUDIOF features. */
- DWORD dwVoices; /* Required number of voices. */
- DWORD dwSampleRate; /* Sample rate of synths and sink. */
- CLSID clsidDefaultSynth; /* Class ID of default synthesizer. */
-} DMUS_AUDIOPARAMS;
-
-/* dwFeatures flags. These indicate which features are required for the audio environment. */
-#define DMUS_AUDIOF_3D 0x1 /* Require 3D buffers. */
-#define DMUS_AUDIOF_ENVIRON 0x2 /* Require environmental modeling. */
-#define DMUS_AUDIOF_EAX 0x4 /* Require use of EAX effects. */
-#define DMUS_AUDIOF_DMOS 0x8 /* Require use of additional DMOs. */
-#define DMUS_AUDIOF_STREAMING 0x10 /* Require support for streaming waves. */
-#define DMUS_AUDIOF_BUFFERS 0x20 /* Require support for multiple buffers (all above cases need this.) */
-#define DMUS_AUDIOF_ALL 0x3F /* Requires everything. */
-
-/* dwValidData flags. These indicate which fields in DMUS_AUDIOPARAMS have been filled in. If fInitNow is set, these also return what was allocated. */
-#define DMUS_AUDIOPARAMS_FEATURES 0x00000001
-#define DMUS_AUDIOPARAMS_VOICES 0x00000002
-#define DMUS_AUDIOPARAMS_SAMPLERATE 0x00000004
-#define DMUS_AUDIOPARAMS_DEFAULTSYNTH 0x00000008
-
-/* DMUS_PMSGF_FLAGS fill the DMUS_PMSG's dwFlags member */
-typedef enum enumDMUS_PMSGF_FLAGS
-{
- DMUS_PMSGF_REFTIME = 1, /* if rtTime is valid */
- DMUS_PMSGF_MUSICTIME = 2, /* if mtTime is valid */
- DMUS_PMSGF_TOOL_IMMEDIATE = 4, /* if PMSG should be processed immediately */
- DMUS_PMSGF_TOOL_QUEUE = 8, /* if PMSG should be processed a little early, at Queue time */
- DMUS_PMSGF_TOOL_ATTIME = 0x10, /* if PMSG should be processed at the time stamp */
- DMUS_PMSGF_TOOL_FLUSH = 0x20, /* if PMSG is being flushed */
- DMUS_PMSGF_LOCKTOREFTIME = 0x40, /* if rtTime can not be overriden by a tempo change. */
- DMUS_PMSGF_DX8 = 0x80 /* if the message has DX8 or later extensions. */
- /* The values of DMUS_TIME_RESOLVE_FLAGS may also be used inside the */
- /* DMUS_PMSG's dwFlags member. */
-} DMUS_PMSGF_FLAGS;
-
-/* DMUS_PMSGT_TYPES fill the DMUS_PMSG's dwType member */
-typedef enum enumDMUS_PMSGT_TYPES
-{
- DMUS_PMSGT_MIDI = 0, /* MIDI short message */
- DMUS_PMSGT_NOTE = 1, /* Interactive Music Note */
- DMUS_PMSGT_SYSEX = 2, /* MIDI long message (system exclusive message) */
- DMUS_PMSGT_NOTIFICATION = 3, /* Notification message */
- DMUS_PMSGT_TEMPO = 4, /* Tempo message */
- DMUS_PMSGT_CURVE = 5, /* Control change / pitch bend, etc. curve */
- DMUS_PMSGT_TIMESIG = 6, /* Time signature */
- DMUS_PMSGT_PATCH = 7, /* Patch changes */
- DMUS_PMSGT_TRANSPOSE = 8, /* Transposition messages */
- DMUS_PMSGT_CHANNEL_PRIORITY = 9, /* Channel priority */
- DMUS_PMSGT_STOP = 10, /* Stop message */
- DMUS_PMSGT_DIRTY = 11, /* Tells Tools that cache GetParam() info to refresh */
- DMUS_PMSGT_WAVE = 12, /* Carries control information for playing a wave. */
- DMUS_PMSGT_LYRIC = 13, /* Lyric message from lyric track. */
- DMUS_PMSGT_SCRIPTLYRIC = 14, /* Lyric message sent by a script with the Trace function. */
- DMUS_PMSGT_USER = 255 /* User message */
-} DMUS_PMSGT_TYPES;
-
-/* DMUS_SEGF_FLAGS correspond to IDirectMusicPerformance::PlaySegment, and other API */
-typedef enum enumDMUS_SEGF_FLAGS
-{
- DMUS_SEGF_REFTIME = 1<<6, /* 0x40 Time parameter is in reference time */
- DMUS_SEGF_SECONDARY = 1<<7, /* 0x80 Secondary segment */
- DMUS_SEGF_QUEUE = 1<<8, /* 0x100 Queue at the end of the primary segment queue (primary only) */
- DMUS_SEGF_CONTROL = 1<<9, /* 0x200 Play as a control track (secondary segments only) */
- DMUS_SEGF_AFTERPREPARETIME = 1<<10, /* 0x400 Play after the prepare time (See IDirectMusicPerformance::GetPrepareTime) */
- DMUS_SEGF_GRID = 1<<11, /* 0x800 Play on grid boundary */
- DMUS_SEGF_BEAT = 1<<12, /* 0x1000 Play on beat boundary */
- DMUS_SEGF_MEASURE = 1<<13, /* 0x2000 Play on measure boundary */
- DMUS_SEGF_DEFAULT = 1<<14, /* 0x4000 Use segment's default boundary */
- DMUS_SEGF_NOINVALIDATE = 1<<15, /* 0x8000 Play without invalidating the currently playing segment(s) */
- DMUS_SEGF_ALIGN = 1<<16, /* 0x10000 Align segment with requested boundary, but switch at first valid point */
- DMUS_SEGF_VALID_START_BEAT = 1<<17, /* 0x20000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any beat. */
- DMUS_SEGF_VALID_START_GRID = 1<<18, /* 0x40000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any grid. */
- DMUS_SEGF_VALID_START_TICK = 1<<19, /* 0x80000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur any time. */
- DMUS_SEGF_AUTOTRANSITION = 1<<20, /* 0x100000 Compose and play a transition segment, using the transition template. */
- DMUS_SEGF_AFTERQUEUETIME = 1<<21, /* 0x200000 Make sure to play after the queue time. This is default for primary segments */
- DMUS_SEGF_AFTERLATENCYTIME = 1<<22, /* 0x400000 Make sure to play after the latency time. This is true for all segments, so this is a nop */
- DMUS_SEGF_SEGMENTEND = 1<<23, /* 0x800000 Play at the next end of segment. */
- DMUS_SEGF_MARKER = 1<<24, /* 0x1000000 Play at next marker in the primary segment. If there are no markers, default to any other resolution requests. */
- DMUS_SEGF_TIMESIG_ALWAYS = 1<<25, /* 0x2000000 Even if there is no primary segment, align start time with current time signature. */
- DMUS_SEGF_USE_AUDIOPATH = 1<<26, /* 0x4000000 Uses the audio path that is embedded in the segment. */
- DMUS_SEGF_VALID_START_MEASURE = 1<<27, /* 0x8000000 In conjunction with DMUS_SEGF_ALIGN, allows the switch to occur on any bar. */
- DMUS_SEGF_INVALIDATE_PRI = 1<<28 /* 0x10000000 invalidate only the current primary seg state */
-} DMUS_SEGF_FLAGS;
-
-#define DMUS_SEG_REPEAT_INFINITE 0xFFFFFFFF /* For IDirectMusicSegment::SetRepeat*/
-#define DMUS_SEG_ALLTRACKS 0x80000000 /* For IDirectMusicSegment::SetParam() and SetTrackConfig() - selects all tracks instead on nth index. */
-#define DMUS_SEG_ANYTRACK 0x80000000 /* For IDirectMusicSegment::GetParam() - checks each track until it finds one that returns data (not DMUS_E_NOT_FOUND.) */
-
-
-/* DMUS_TIME_RESOLVE_FLAGS correspond to IDirectMusicPerformance::GetResolvedTime, and can */
-/* also be used interchangeably with the corresponding DMUS_SEGF_FLAGS, since their values */
-/* are intentionally the same */
-typedef enum enumDMUS_TIME_RESOLVE_FLAGS
-{
- DMUS_TIME_RESOLVE_AFTERPREPARETIME = DMUS_SEGF_AFTERPREPARETIME,
- DMUS_TIME_RESOLVE_AFTERQUEUETIME = DMUS_SEGF_AFTERQUEUETIME,
- DMUS_TIME_RESOLVE_AFTERLATENCYTIME = DMUS_SEGF_AFTERLATENCYTIME,
- DMUS_TIME_RESOLVE_GRID = DMUS_SEGF_GRID,
- DMUS_TIME_RESOLVE_BEAT = DMUS_SEGF_BEAT,
- DMUS_TIME_RESOLVE_MEASURE = DMUS_SEGF_MEASURE,
- DMUS_TIME_RESOLVE_MARKER = DMUS_SEGF_MARKER,
- DMUS_TIME_RESOLVE_SEGMENTEND = DMUS_SEGF_SEGMENTEND,
-} DMUS_TIME_RESOLVE_FLAGS;
-
-/* The following flags are sent inside the DMUS_CHORD_KEY.dwFlags parameter */
-typedef enum enumDMUS_CHORDKEYF_FLAGS
-{
- DMUS_CHORDKEYF_SILENT = 1, /* is the chord silent? */
-} DMUS_CHORDKEYF_FLAGS;
-
-#define DMUS_MAXSUBCHORD 8
-
-typedef struct _DMUS_SUBCHORD
-{
- DWORD dwChordPattern; /* Notes in the subchord */
- DWORD dwScalePattern; /* Notes in the scale */
- DWORD dwInversionPoints; /* Where inversions can occur */
- DWORD dwLevels; /* Which levels are supported by this subchord */
- BYTE bChordRoot; /* Root of the subchord */
- BYTE bScaleRoot; /* Root of the scale */
-} DMUS_SUBCHORD;
-
-typedef struct _DMUS_CHORD_KEY
-{
- WCHAR wszName[16]; /* Name of the chord */
- WORD wMeasure; /* Measure this falls on */
- BYTE bBeat; /* Beat this falls on */
- BYTE bSubChordCount; /* Number of chords in the list of subchords */
- DMUS_SUBCHORD SubChordList[DMUS_MAXSUBCHORD]; /* List of sub chords */
- DWORD dwScale; /* Scale underlying the entire chord */
- BYTE bKey; /* Key underlying the entire chord */
- BYTE bFlags; /* Miscelaneous flags */
-} DMUS_CHORD_KEY;
-
-/* DMUS_NOTE_PMSG */
-typedef struct _DMUS_NOTE_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- MUSIC_TIME mtDuration; /* duration */
- WORD wMusicValue; /* Description of note in chord and key. */
- WORD wMeasure; /* Measure in which this note occurs */
- short nOffset; /* Offset from grid at which this note occurs */
- BYTE bBeat; /* Beat (in measure) at which this note occurs */
- BYTE bGrid; /* Grid offset from beat at which this note occurs */
- BYTE bVelocity; /* Note velocity */
- BYTE bFlags; /* see DMUS_NOTEF_FLAGS */
- BYTE bTimeRange; /* Range to randomize time. */
- BYTE bDurRange; /* Range to randomize duration. */
- BYTE bVelRange; /* Range to randomize velocity. */
- BYTE bPlayModeFlags; /* Play mode */
- BYTE bSubChordLevel; /* Which subchord level this note uses. */
- BYTE bMidiValue; /* The MIDI note value, converted from wMusicValue */
- char cTranspose; /* Transposition to add to midi note value after converted from wMusicValue. */
-} DMUS_NOTE_PMSG;
-
-typedef enum enumDMUS_NOTEF_FLAGS
-{
- DMUS_NOTEF_NOTEON = 1, /* Set if this is a MIDI Note On. Otherwise, it is MIDI Note Off */
- /* DX8 flags: */
- DMUS_NOTEF_NOINVALIDATE = 2, /* Don't invalidate this note off. */
- DMUS_NOTEF_NOINVALIDATE_INSCALE = 4,/* Don't invalidate if still within the scale. */
- DMUS_NOTEF_NOINVALIDATE_INCHORD = 8,/* Don't invalidate if still within the chord. */
- DMUS_NOTEF_REGENERATE = 0x10, /* Regenerate the note on an invalidate. */
-} DMUS_NOTEF_FLAGS;
-
-/* The DMUS_PLAYMODE_FLAGS are used to determine how to convert wMusicValue
- into the appropriate bMidiValue.
-*/
-
-typedef enum enumDMUS_PLAYMODE_FLAGS
-{
- DMUS_PLAYMODE_KEY_ROOT = 1, /* Transpose on top of the key root. */
- DMUS_PLAYMODE_CHORD_ROOT = 2, /* Transpose on top of the chord root. */
- DMUS_PLAYMODE_SCALE_INTERVALS = 4, /* Use scale intervals from scale pattern. */
- DMUS_PLAYMODE_CHORD_INTERVALS = 8, /* Use chord intervals from chord pattern. */
- DMUS_PLAYMODE_NONE = 16, /* No mode. Indicates the parent part's mode should be used. */
-} DMUS_PLAYMODE_FLAGS;
-
-/* The following are playback modes that can be created by combining the DMUS_PLAYMODE_FLAGS
- in various ways:
-*/
-
-/* Fixed. wMusicValue holds final MIDI note value. This is used for drums, sound effects, and sequenced
- notes that should not be transposed by the chord or scale.
-*/
-#define DMUS_PLAYMODE_FIXED 0
-/* In fixed to key, the musicvalue is again a fixed MIDI value, but it
- is transposed on top of the key root.
-*/
-#define DMUS_PLAYMODE_FIXEDTOKEY DMUS_PLAYMODE_KEY_ROOT
-/* In fixed to chord, the musicvalue is also a fixed MIDI value, but it
- is transposed on top of the chord root.
-*/
-#define DMUS_PLAYMODE_FIXEDTOCHORD DMUS_PLAYMODE_CHORD_ROOT
-/* In Pedalpoint, the key root is used and the notes only track the intervals in
- the scale. The chord root and intervals are completely ignored. This is useful
- for melodic lines that play relative to the key root.
-*/
-#define DMUS_PLAYMODE_PEDALPOINT (DMUS_PLAYMODE_KEY_ROOT | DMUS_PLAYMODE_SCALE_INTERVALS)
-/* In the Melodic mode, the chord root is used but the notes only track the intervals in
- the scale. The key root and chord intervals are completely ignored. This is useful
- for melodic lines that play relative to the chord root.
-*/
-#define DMUS_PLAYMODE_MELODIC (DMUS_PLAYMODE_CHORD_ROOT | DMUS_PLAYMODE_SCALE_INTERVALS)
-/* Normal chord mode is the prevalent playback mode.
- The notes track the intervals in the chord, which is based on the chord root.
- If there is a scale component to the MusicValue, the additional intervals
- are pulled from the scale and added.
- If the chord does not have an interval to match the chord component of
- the MusicValue, the note is silent.
-*/
-#define DMUS_PLAYMODE_NORMALCHORD (DMUS_PLAYMODE_CHORD_ROOT | DMUS_PLAYMODE_CHORD_INTERVALS)
-/* If it is desirable to play a note that is above the top of the chord, the
- always play mode (known as "purpleized" in a former life) finds a position
- for the note by using intervals from the scale. Essentially, this mode is
- a combination of the Normal and Melodic playback modes, where a failure
- in Normal causes a second try in Melodic mode.
-*/
-#define DMUS_PLAYMODE_ALWAYSPLAY (DMUS_PLAYMODE_MELODIC | DMUS_PLAYMODE_NORMALCHORD)
-
-/* These playmodes are new for dx8. */
-/* In PedalpointChord, the key root is used and the notes only track the intervals in
- the chord. The chord root and scale intervals are completely ignored. This is useful
- for chordal lines that play relative to the key root.
-*/
-#define DMUS_PLAYMODE_PEDALPOINTCHORD (DMUS_PLAYMODE_KEY_ROOT | DMUS_PLAYMODE_CHORD_INTERVALS)
-
-/* For completeness, here's a mode that tries for pedalpointchord, but if it fails
- uses scale intervals
-*/
-#define DMUS_PLAYMODE_PEDALPOINTALWAYS (DMUS_PLAYMODE_PEDALPOINT | DMUS_PLAYMODE_PEDALPOINTCHORD)
-
-
-/* Legacy names for modes... */
-#define DMUS_PLAYMODE_PURPLEIZED DMUS_PLAYMODE_ALWAYSPLAY
-#define DMUS_PLAYMODE_SCALE_ROOT DMUS_PLAYMODE_KEY_ROOT
-#define DMUS_PLAYMODE_FIXEDTOSCALE DMUS_PLAYMODE_FIXEDTOKEY
-
-
-/* DMUS_MIDI_PMSG */
-typedef struct _DMUS_MIDI_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- BYTE bStatus;
- BYTE bByte1;
- BYTE bByte2;
- BYTE bPad[1];
-} DMUS_MIDI_PMSG;
-
-/* DMUS_PATCH_PMSG */
-typedef struct _DMUS_PATCH_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- BYTE byInstrument;
- BYTE byMSB;
- BYTE byLSB;
- BYTE byPad[1];
-} DMUS_PATCH_PMSG;
-
-/* DMUS_TRANSPOSE_PMSG */
-typedef struct _DMUS_TRANSPOSE_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- short nTranspose;
- /* Following exists only under DX8 and on (check dwFlags for DMUS_PMSGF_DX8) */
- WORD wMergeIndex; /* Allows multiple parameters to be merged (pitchbend, volume, and expression.)*/
-} DMUS_TRANSPOSE_PMSG;
-
-/* DMUS_CHANNEL_PRIORITY_PMSG */
-typedef struct _DMUS_CHANNEL_PRIORITY_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- DWORD dwChannelPriority;
-} DMUS_CHANNEL_PRIORITY_PMSG;
-
-/* DMUS_TEMPO_PMSG */
-typedef struct _DMUS_TEMPO_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- double dblTempo; /* the tempo */
-} DMUS_TEMPO_PMSG;
-
-#define DMUS_TEMPO_MAX 1000
-#define DMUS_TEMPO_MIN 1
-
-#define DMUS_MASTERTEMPO_MAX 100.0f
-#define DMUS_MASTERTEMPO_MIN 0.01f
-
-/* DMUS_SYSEX_PMSG */
-typedef struct _DMUS_SYSEX_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- DWORD dwLen; /* length of the data */
- BYTE abData[1]; /* array of data, length equal to dwLen */
-} DMUS_SYSEX_PMSG;
-
-/* DMUS_CURVE_PMSG */
-typedef struct _DMUS_CURVE_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- MUSIC_TIME mtDuration; /* how long this curve lasts */
- MUSIC_TIME mtOriginalStart; /* must be set to either zero when this PMSG is created or to the original mtTime of the curve */
- MUSIC_TIME mtResetDuration; /* how long after the curve is finished to allow a flush or
- invalidation to reset to the reset value, nResetValue */
- short nStartValue; /* curve's start value */
- short nEndValue; /* curve's end value */
- short nResetValue; /* curve's reset value, set when a flush or invalidation
- occurs within mtDuration + mtResetDuration */
- WORD wMeasure; /* Measure in which this curve occurs */
- short nOffset; /* Offset from grid at which this curve occurs */
- BYTE bBeat; /* Beat (in measure) at which this curve occurs */
- BYTE bGrid; /* Grid offset from beat at which this curve occurs */
- BYTE bType; /* type of curve */
- BYTE bCurveShape; /* shape of curve */
- BYTE bCCData; /* CC# if this is a control change type */
- BYTE bFlags; /* Curve reset and start from current value flags. */
- /* Following exists only under DX8 and on (check dwFlags for DMUS_PMSGF_DX8) */
- WORD wParamType; /* RPN or NRPN parameter number. */
- WORD wMergeIndex; /* Allows multiple parameters to be merged (pitchbend, volume, and expression.)*/
-} DMUS_CURVE_PMSG;
-
-typedef enum enumDMUS_CURVE_FLAGS
-{
- DMUS_CURVE_RESET = 1, /* When set, the nResetValue must be sent when the
- time is reached or an invalidate occurs because
- of a transition. If not set, the curve stays
- permanently stuck at the new value. */
- DMUS_CURVE_START_FROM_CURRENT = 2/* Ignore Start, start the curve at the current value.
- This only works for volume, expression, and pitchbend. */
-} DMUS_CURVE_FLAGS;
-
-
-#define DMUS_CURVE_RESET 1
-
-/* Curve shapes */
-enum
-{
- DMUS_CURVES_LINEAR = 0,
- DMUS_CURVES_INSTANT = 1,
- DMUS_CURVES_EXP = 2,
- DMUS_CURVES_LOG = 3,
- DMUS_CURVES_SINE = 4
-};
-/* curve types */
-#define DMUS_CURVET_PBCURVE 0x03 /* Pitch bend curve. */
-#define DMUS_CURVET_CCCURVE 0x04 /* Control change curve. */
-#define DMUS_CURVET_MATCURVE 0x05 /* Mono aftertouch curve. */
-#define DMUS_CURVET_PATCURVE 0x06 /* Poly aftertouch curve. */
-#define DMUS_CURVET_RPNCURVE 0x07 /* RPN curve with curve type in wParamType. */
-#define DMUS_CURVET_NRPNCURVE 0x08 /* NRPN curve with curve type in wParamType. */
-
-/* DMUS_TIMESIG_PMSG */
-typedef struct _DMUS_TIMESIG_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- /* Time signatures define how many beats per measure, which note receives */
- /* the beat, and the grid resolution. */
- BYTE bBeatsPerMeasure; /* beats per measure (top of time sig) */
- BYTE bBeat; /* what note receives the beat (bottom of time sig.) */
- /* we can assume that 0 means 256th note */
- WORD wGridsPerBeat; /* grids per beat */
-} DMUS_TIMESIG_PMSG;
-
-
-
-/* notification type values */
-/* The following correspond to GUID_NOTIFICATION_SEGMENT */
-#define DMUS_NOTIFICATION_SEGSTART 0
-#define DMUS_NOTIFICATION_SEGEND 1
-#define DMUS_NOTIFICATION_SEGALMOSTEND 2
-#define DMUS_NOTIFICATION_SEGLOOP 3
-#define DMUS_NOTIFICATION_SEGABORT 4
-/* The following correspond to GUID_NOTIFICATION_PERFORMANCE */
-#define DMUS_NOTIFICATION_MUSICSTARTED 0
-#define DMUS_NOTIFICATION_MUSICSTOPPED 1
-#define DMUS_NOTIFICATION_MUSICALMOSTEND 2
-/* The following corresponds to GUID_NOTIFICATION_MEASUREANDBEAT */
-#define DMUS_NOTIFICATION_MEASUREBEAT 0
-/* The following corresponds to GUID_NOTIFICATION_CHORD */
-#define DMUS_NOTIFICATION_CHORD 0
-/* The following correspond to GUID_NOTIFICATION_COMMAND */
-#define DMUS_NOTIFICATION_GROOVE 0
-#define DMUS_NOTIFICATION_EMBELLISHMENT 1
-/* The following corresponds to GUID_NOTIFICATION_RECOMPOSE */
-#define DMUS_NOTIFICATION_RECOMPOSE 0
-
-/* DMUS_NOTIFICATION_PMSG */
-typedef struct _DMUS_NOTIFICATION_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- GUID guidNotificationType;
- DWORD dwNotificationOption;
- DWORD dwField1;
- DWORD dwField2;
-} DMUS_NOTIFICATION_PMSG;
-
-/* DMUS_WAVE_PMSG */
-typedef struct _DMUS_WAVE_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- REFERENCE_TIME rtStartOffset; /* How far into the wave to start, in reference time units only. */
- REFERENCE_TIME rtDuration; /* Duration of the wave, in either reference time or music time. */
- long lOffset; /* Offset from actual time to logical time, in music or ref time. */
- long lVolume; /* Initial volume, in 100ths of a dB. */
- long lPitch; /* Initial pitch, in 100ths of a semitone. */
- BYTE bFlags; /* Flags, including DMUS_WAVEF_OFF... */
-} DMUS_WAVE_PMSG;
-
-#define DMUS_WAVEF_OFF 1 /* If wave is playing and this is the off message. */
-#define DMUS_WAVEF_STREAMING 2 /* If wave is streaming. */
-#define DMUS_WAVEF_NOINVALIDATE 4 /* Don't invalidate this wave. */
-#define DMUS_WAVEF_NOPREROLL 8 /* Don't preroll any wave data. */
-#define DMUS_WAVEF_IGNORELOOPS 0x20 /* Ignore segment looping. */
-
-/* DMUS_LYRIC_PMSG */
-typedef struct _DMUS_LYRIC_PMSG
-{
- /* begin DMUS_PMSG_PART */
- DMUS_PMSG_PART
- /* end DMUS_PMSG_PART */
-
- WCHAR wszString[1]; /* null-terminated Unicode lyric string (structure is actually larger than size 1) */
-} DMUS_LYRIC_PMSG;
-
-#define DMUS_MAX_NAME 64 /* Maximum object name length. */
-#define DMUS_MAX_CATEGORY 64 /* Maximum object category name length. */
-#define DMUS_MAX_FILENAME MAX_PATH
-
-typedef struct _DMUS_VERSION {
- DWORD dwVersionMS;
- DWORD dwVersionLS;
-}DMUS_VERSION, FAR *LPDMUS_VERSION;
-
-/* Time Signature structure, used by IDirectMusicStyle */
-/* Also used as a parameter for GetParam() and SetParam */
-typedef struct _DMUS_TIMESIGNATURE
-{
- MUSIC_TIME mtTime;
- BYTE bBeatsPerMeasure; /* beats per measure (top of time sig) */
- BYTE bBeat; /* what note receives the beat (bottom of time sig.) */
- /* we can assume that 0 means 256th note */
- WORD wGridsPerBeat; /* grids per beat */
-} DMUS_TIMESIGNATURE;
-
-typedef struct _DMUS_VALID_START_PARAM
-{
- MUSIC_TIME mtTime; /* Time of the first legal start
- point after (or including) the requested time.
- This is a returned value.
- Time format is the relative offset from requested time. */
-} DMUS_VALID_START_PARAM;
-
-typedef struct _DMUS_PLAY_MARKER_PARAM
-{
- MUSIC_TIME mtTime; /* Time of the first legal segment play
- marker before (or including) the requested time.
- This is a returned value.
- Time format is the relative offset from requested time. */
-} DMUS_PLAY_MARKER_PARAM;
-
-/* The DMUSOBJECTDESC structure is used to communicate everything you could */
-/* possibly use to describe a DirectMusic object. */
-
-typedef struct _DMUS_OBJECTDESC
-{
- DWORD dwSize; /* Size of this structure. */
- DWORD dwValidData; /* Flags indicating which fields below are valid. */
- GUID guidObject; /* Unique ID for this object. */
- GUID guidClass; /* GUID for the class of object. */
- FILETIME ftDate; /* Last edited date of object. */
- DMUS_VERSION vVersion; /* Version. */
- WCHAR wszName[DMUS_MAX_NAME]; /* Name of object. */
- WCHAR wszCategory[DMUS_MAX_CATEGORY]; /* Category for object (optional). */
- WCHAR wszFileName[DMUS_MAX_FILENAME]; /* File path. */
- LONGLONG llMemLength; /* Size of Memory data. */
- LPBYTE pbMemData; /* Memory pointer for data. */
- IStream * pStream; /* Stream with data. */
-} DMUS_OBJECTDESC;
-
-typedef DMUS_OBJECTDESC *LPDMUS_OBJECTDESC;
-
-/* Flags for dwValidData. When set, a flag indicates that the */
-/* corresponding field in DMUSOBJECTDESC holds valid data. */
-
-#define DMUS_OBJ_OBJECT (1 << 0) /* Object GUID is valid. */
-#define DMUS_OBJ_CLASS (1 << 1) /* Class GUID is valid. */
-#define DMUS_OBJ_NAME (1 << 2) /* Name is valid. */
-#define DMUS_OBJ_CATEGORY (1 << 3) /* Category is valid. */
-#define DMUS_OBJ_FILENAME (1 << 4) /* File path is valid. */
-#define DMUS_OBJ_FULLPATH (1 << 5) /* Path is full path. */
-#define DMUS_OBJ_URL (1 << 6) /* Path is URL. */
-#define DMUS_OBJ_VERSION (1 << 7) /* Version is valid. */
-#define DMUS_OBJ_DATE (1 << 8) /* Date is valid. */
-#define DMUS_OBJ_LOADED (1 << 9) /* Object is currently loaded in memory. */
-#define DMUS_OBJ_MEMORY (1 << 10) /* Object is pointed to by pbMemData. */
-#define DMUS_OBJ_STREAM (1 << 11) /* Object is stored in pStream. */
-
-/* The DMUS_SCRIPT_ERRORINFO structure describes an error that occurred in a script.
- It is returned by methods in IDirectMusicScript. */
-typedef struct _DMUS_SCRIPT_ERRORINFO
-{
- DWORD dwSize; /* Size of this structure. */
- HRESULT hr;
- ULONG ulLineNumber;
- LONG ichCharPosition;
- WCHAR wszSourceFile[DMUS_MAX_FILENAME];
- WCHAR wszSourceComponent[DMUS_MAX_FILENAME];
- WCHAR wszDescription[DMUS_MAX_FILENAME];
- WCHAR wszSourceLineText[DMUS_MAX_FILENAME];
-} DMUS_SCRIPT_ERRORINFO;
-
-/* Track configuration flags, used with IDirectMusicSegment8::SetTrackConfig() */
-
-#define DMUS_TRACKCONFIG_OVERRIDE_ALL 1 /* This track should get parameters from this segment before controlling and primary tracks. */
-#define DMUS_TRACKCONFIG_OVERRIDE_PRIMARY 2 /* This track should get parameters from this segment before the primary segment tracks. */
-#define DMUS_TRACKCONFIG_FALLBACK 4 /* This track should get parameters from this segment if the primary and controlling segments don't succeed. */
-#define DMUS_TRACKCONFIG_CONTROL_ENABLED 8 /* GetParam() enabled for this track. */
-#define DMUS_TRACKCONFIG_PLAY_ENABLED 0x10 /* Play() enabled for this track. */
-#define DMUS_TRACKCONFIG_NOTIFICATION_ENABLED 0x20 /* Notifications enabled for this track. */
-#define DMUS_TRACKCONFIG_PLAY_CLOCKTIME 0x40 /* This track plays in clock time, not music time. */
-#define DMUS_TRACKCONFIG_PLAY_COMPOSE 0x80 /* This track should regenerate data each time it starts playing. */
-#define DMUS_TRACKCONFIG_LOOP_COMPOSE 0x100 /* This track should regenerate data each time it repeats. */
-#define DMUS_TRACKCONFIG_COMPOSING 0x200 /* This track is used to compose other tracks. */
-#define DMUS_TRACKCONFIG_CONTROL_PLAY 0x10000 /* This track, when played in a controlling segment, overrides playback of primary segment tracks. */
-#define DMUS_TRACKCONFIG_CONTROL_NOTIFICATION 0x20000 /* This track, when played in a controlling segment, overrides notification of primary segment tracks. */
-/* Additional track config flags for composing transitions */
-#define DMUS_TRACKCONFIG_TRANS1_FROMSEGSTART 0x400 /* Get track info from start of From segment */
-#define DMUS_TRACKCONFIG_TRANS1_FROMSEGCURRENT 0x800 /* Get track info from current place in From segment */
-#define DMUS_TRACKCONFIG_TRANS1_TOSEGSTART 0x1000 /* Get track info from start of To segment */
-#define DMUS_TRACKCONFIG_DEFAULT (DMUS_TRACKCONFIG_CONTROL_ENABLED | DMUS_TRACKCONFIG_PLAY_ENABLED | DMUS_TRACKCONFIG_NOTIFICATION_ENABLED)
-
-/* Get/SetParam structs for commands */
-/* PARAM structures, used by GetParam() and SetParam() */
-typedef struct _DMUS_COMMAND_PARAM
-{
- BYTE bCommand;
- BYTE bGrooveLevel;
- BYTE bGrooveRange;
- BYTE bRepeatMode;
-} DMUS_COMMAND_PARAM;
-
-typedef struct _DMUS_COMMAND_PARAM_2
-{
- MUSIC_TIME mtTime;
- BYTE bCommand;
- BYTE bGrooveLevel;
- BYTE bGrooveRange;
- BYTE bRepeatMode;
-} DMUS_COMMAND_PARAM_2;
-
-typedef IDirectMusicObject __RPC_FAR *LPDMUS_OBJECT;
-typedef IDirectMusicLoader __RPC_FAR *LPDMUS_LOADER;
-typedef IDirectMusicBand __RPC_FAR *LPDMUS_BAND;
-
-#define DMUSB_LOADED (1 << 0) /* Set when band has been loaded */
-#define DMUSB_DEFAULT (1 << 1) /* Set when band is default band for a style */
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicBand */
-#undef INTERFACE
-#define INTERFACE IDirectMusicBand
-DECLARE_INTERFACE_(IDirectMusicBand, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicBand */
- STDMETHOD(CreateSegment) (THIS_ IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(Download) (THIS_ IDirectMusicPerformance* pPerformance) PURE;
- STDMETHOD(Unload) (THIS_ IDirectMusicPerformance* pPerformance) PURE;
-};
-
-typedef IDirectMusicBand IDirectMusicBand8;
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicObject */
-#undef INTERFACE
-#define INTERFACE IDirectMusicObject
-DECLARE_INTERFACE_(IDirectMusicObject, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicObject */
- STDMETHOD(GetDescriptor) (THIS_ LPDMUS_OBJECTDESC pDesc) PURE;
- STDMETHOD(SetDescriptor) (THIS_ LPDMUS_OBJECTDESC pDesc) PURE;
- STDMETHOD(ParseDescriptor) (THIS_ LPSTREAM pStream,
- LPDMUS_OBJECTDESC pDesc) PURE;
-};
-
-typedef IDirectMusicObject IDirectMusicObject8;
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicLoader */
-#undef INTERFACE
-#define INTERFACE IDirectMusicLoader
-DECLARE_INTERFACE_(IDirectMusicLoader, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicLoader */
- STDMETHOD(GetObject) (THIS_ LPDMUS_OBJECTDESC pDesc,
- REFIID riid,
- LPVOID FAR *ppv) PURE;
- STDMETHOD(SetObject) (THIS_ LPDMUS_OBJECTDESC pDesc) PURE;
- STDMETHOD(SetSearchDirectory) (THIS_ REFGUID rguidClass,
- WCHAR *pwzPath,
- BOOL fClear) PURE;
- STDMETHOD(ScanDirectory) (THIS_ REFGUID rguidClass,
- WCHAR *pwzFileExtension,
- WCHAR *pwzScanFileName) PURE;
- STDMETHOD(CacheObject) (THIS_ IDirectMusicObject * pObject) PURE;
- STDMETHOD(ReleaseObject) (THIS_ IDirectMusicObject * pObject) PURE;
- STDMETHOD(ClearCache) (THIS_ REFGUID rguidClass) PURE;
- STDMETHOD(EnableCache) (THIS_ REFGUID rguidClass,
- BOOL fEnable) PURE;
- STDMETHOD(EnumObject) (THIS_ REFGUID rguidClass,
- DWORD dwIndex,
- LPDMUS_OBJECTDESC pDesc) PURE;
-};
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicLoader8 */
-#undef INTERFACE
-#define INTERFACE IDirectMusicLoader8
-DECLARE_INTERFACE_(IDirectMusicLoader8, IDirectMusicLoader)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicLoader */
- STDMETHOD(GetObject) (THIS_ LPDMUS_OBJECTDESC pDesc,
- REFIID riid,
- LPVOID FAR *ppv) PURE;
- STDMETHOD(SetObject) (THIS_ LPDMUS_OBJECTDESC pDesc) PURE;
- STDMETHOD(SetSearchDirectory) (THIS_ REFGUID rguidClass,
- WCHAR *pwzPath,
- BOOL fClear) PURE;
- STDMETHOD(ScanDirectory) (THIS_ REFGUID rguidClass,
- WCHAR *pwzFileExtension,
- WCHAR *pwzScanFileName) PURE;
- STDMETHOD(CacheObject) (THIS_ IDirectMusicObject * pObject) PURE;
- STDMETHOD(ReleaseObject) (THIS_ IDirectMusicObject * pObject) PURE;
- STDMETHOD(ClearCache) (THIS_ REFGUID rguidClass) PURE;
- STDMETHOD(EnableCache) (THIS_ REFGUID rguidClass,
- BOOL fEnable) PURE;
- STDMETHOD(EnumObject) (THIS_ REFGUID rguidClass,
- DWORD dwIndex,
- LPDMUS_OBJECTDESC pDesc) PURE;
-
- /* IDirectMusicLoader8 */
- STDMETHOD_(void, CollectGarbage) (THIS) PURE;
- STDMETHOD(ReleaseObjectByUnknown) (THIS_ IUnknown *pObject) PURE;
- STDMETHOD(LoadObjectFromFile) (THIS_ REFGUID rguidClassID,
- REFIID iidInterfaceID,
- WCHAR *pwzFilePath,
- void ** ppObject) PURE;
-};
-
-/* Stream object supports IDirectMusicGetLoader interface to access loader while file parsing. */
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicGetLoader
-DECLARE_INTERFACE_(IDirectMusicGetLoader, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicGetLoader */
- STDMETHOD(GetLoader) (THIS_ IDirectMusicLoader ** ppLoader) PURE;
-};
-
-typedef IDirectMusicGetLoader IDirectMusicGetLoader8;
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicSegment */
-#undef INTERFACE
-#define INTERFACE IDirectMusicSegment
-DECLARE_INTERFACE_(IDirectMusicSegment, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicSegment */
- STDMETHOD(GetLength) (THIS_ MUSIC_TIME* pmtLength) PURE;
- STDMETHOD(SetLength) (THIS_ MUSIC_TIME mtLength) PURE;
- STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
- STDMETHOD(SetRepeats) (THIS_ DWORD dwRepeats) PURE;
- STDMETHOD(GetDefaultResolution) (THIS_ DWORD* pdwResolution) PURE;
- STDMETHOD(SetDefaultResolution) (THIS_ DWORD dwResolution) PURE;
- STDMETHOD(GetTrack) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- IDirectMusicTrack** ppTrack) PURE;
- STDMETHOD(GetTrackGroup) (THIS_ IDirectMusicTrack* pTrack,
- DWORD* pdwGroupBits) PURE;
- STDMETHOD(InsertTrack) (THIS_ IDirectMusicTrack* pTrack,
- DWORD dwGroupBits) PURE;
- STDMETHOD(RemoveTrack) (THIS_ IDirectMusicTrack* pTrack) PURE;
- STDMETHOD(InitPlay) (THIS_ IDirectMusicSegmentState** ppSegState,
- IDirectMusicPerformance* pPerformance,
- DWORD dwFlags) PURE;
- STDMETHOD(GetGraph) (THIS_ IDirectMusicGraph** ppGraph) PURE;
- STDMETHOD(SetGraph) (THIS_ IDirectMusicGraph* pGraph) PURE;
- STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(RemoveNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- MUSIC_TIME* pmtNext,
- void* pParam) PURE;
- STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- void* pParam) PURE;
- STDMETHOD(Clone) (THIS_ MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd,
- IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(SetStartPoint) (THIS_ MUSIC_TIME mtStart) PURE;
- STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
- STDMETHOD(SetLoopPoints) (THIS_ MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd) PURE;
- STDMETHOD(GetLoopPoints) (THIS_ MUSIC_TIME* pmtStart,
- MUSIC_TIME* pmtEnd) PURE;
- STDMETHOD(SetPChannelsUsed) (THIS_ DWORD dwNumPChannels,
- DWORD* paPChannels) PURE;
-};
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicSegment8 */
-#undef INTERFACE
-#define INTERFACE IDirectMusicSegment8
-DECLARE_INTERFACE_(IDirectMusicSegment8, IDirectMusicSegment)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicSegment */
- STDMETHOD(GetLength) (THIS_ MUSIC_TIME* pmtLength) PURE;
- STDMETHOD(SetLength) (THIS_ MUSIC_TIME mtLength) PURE;
- STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
- STDMETHOD(SetRepeats) (THIS_ DWORD dwRepeats) PURE;
- STDMETHOD(GetDefaultResolution) (THIS_ DWORD* pdwResolution) PURE;
- STDMETHOD(SetDefaultResolution) (THIS_ DWORD dwResolution) PURE;
- STDMETHOD(GetTrack) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- IDirectMusicTrack** ppTrack) PURE;
- STDMETHOD(GetTrackGroup) (THIS_ IDirectMusicTrack* pTrack,
- DWORD* pdwGroupBits) PURE;
- STDMETHOD(InsertTrack) (THIS_ IDirectMusicTrack* pTrack,
- DWORD dwGroupBits) PURE;
- STDMETHOD(RemoveTrack) (THIS_ IDirectMusicTrack* pTrack) PURE;
- STDMETHOD(InitPlay) (THIS_ IDirectMusicSegmentState** ppSegState,
- IDirectMusicPerformance* pPerformance,
- DWORD dwFlags) PURE;
- STDMETHOD(GetGraph) (THIS_ IDirectMusicGraph** ppGraph) PURE;
- STDMETHOD(SetGraph) (THIS_ IDirectMusicGraph* pGraph) PURE;
- STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(RemoveNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- MUSIC_TIME* pmtNext,
- void* pParam) PURE;
- STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- void* pParam) PURE;
- STDMETHOD(Clone) (THIS_ MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd,
- IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(SetStartPoint) (THIS_ MUSIC_TIME mtStart) PURE;
- STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
- STDMETHOD(SetLoopPoints) (THIS_ MUSIC_TIME mtStart,
- MUSIC_TIME mtEnd) PURE;
- STDMETHOD(GetLoopPoints) (THIS_ MUSIC_TIME* pmtStart,
- MUSIC_TIME* pmtEnd) PURE;
- STDMETHOD(SetPChannelsUsed) (THIS_ DWORD dwNumPChannels,
- DWORD* paPChannels) PURE;
- /* IDirectMusicSegment8 */
- STDMETHOD(SetTrackConfig) (THIS_ REFGUID rguidTrackClassID, /* Class ID of the type of track on which to set the configuration flags. */
- DWORD dwGroupBits, /* Group bits. */
- DWORD dwIndex, /* Nth track (or DMUS_SEG_ALLTRACKS) that matches class id and group id. */
- DWORD dwFlagsOn, /* DMUS_TRACKCONFIG_ flags to enable. */
- DWORD dwFlagsOff) PURE; /* DMUS_TRACKCONFIG_ flags to disable. */
- STDMETHOD(GetAudioPathConfig) (THIS_ IUnknown ** ppAudioPathConfig) PURE;
- STDMETHOD(Compose) (THIS_ MUSIC_TIME mtTime,
- IDirectMusicSegment* pFromSegment,
- IDirectMusicSegment* pToSegment,
- IDirectMusicSegment** ppComposedSegment) PURE;
- STDMETHOD(Download) (THIS_ IUnknown *pAudioPath) PURE;
- STDMETHOD(Unload) (THIS_ IUnknown *pAudioPath) PURE;
-};
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicSegmentState */
-#undef INTERFACE
-#define INTERFACE IDirectMusicSegmentState
-DECLARE_INTERFACE_(IDirectMusicSegmentState, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicSegmentState */
- STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
- STDMETHOD(GetSegment ) (THIS_ IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(GetStartTime) (THIS_ MUSIC_TIME* pmtStart) PURE;
- STDMETHOD(GetSeek) (THIS_ MUSIC_TIME* pmtSeek) PURE;
- STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
-};
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicSegmentState8 */
-#undef INTERFACE
-#define INTERFACE IDirectMusicSegmentState8
-DECLARE_INTERFACE_(IDirectMusicSegmentState8, IDirectMusicSegmentState)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicSegmentState */
- STDMETHOD(GetRepeats) (THIS_ DWORD* pdwRepeats) PURE;
- STDMETHOD(GetSegment ) (THIS_ IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(GetStartTime) (THIS_ MUSIC_TIME* pmtStart) PURE;
- STDMETHOD(GetSeek) (THIS_ MUSIC_TIME* pmtSeek) PURE;
- STDMETHOD(GetStartPoint) (THIS_ MUSIC_TIME* pmtStart) PURE;
-
- /* IDirectMusicSegmentState8 */
- STDMETHOD(SetTrackConfig) (THIS_ REFGUID rguidTrackClassID, /* Class ID of the type of track on which to set the configuration flags. */
- DWORD dwGroupBits, /* Group bits. */
- DWORD dwIndex, /* Nth track (or DMUS_SEG_ALLTRACKS) that matches class id and group id. */
- DWORD dwFlagsOn, /* DMUS_TRACKCONFIG_ flags to enable. */
- DWORD dwFlagsOff) PURE; /* DMUS_TRACKCONFIG_ flags to disable. */
- STDMETHOD(GetObjectInPath) (THIS_ DWORD dwPChannel, /* PChannel to search. */
- DWORD dwStage, /* Which stage in the path. */
- DWORD dwBuffer, /* Which buffer to address, if more than one. */
- REFGUID guidObject, /* ClassID of object. */
- DWORD dwIndex, /* Which object of that class. */
- REFGUID iidInterface,/* Requested COM interface. */
- void ** ppObject) PURE; /* Pointer to interface. */
-};
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicAudioPath */
-#undef INTERFACE
-#define INTERFACE IDirectMusicAudioPath
-DECLARE_INTERFACE_(IDirectMusicAudioPath, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicAudioPath */
- STDMETHOD(GetObjectInPath) (THIS_ DWORD dwPChannel, /* PChannel to search. */
- DWORD dwStage, /* Which stage in the path. */
- DWORD dwBuffer, /* Which buffer to address, if more than one. */
- REFGUID guidObject, /* ClassID of object. */
- DWORD dwIndex, /* Which object of that class. */
- REFGUID iidInterface,/* Requested COM interface. */
- void ** ppObject) PURE; /* Pointer to interface. */
- STDMETHOD(Activate) (THIS_ BOOL fActivate) PURE;/* True to activate, False to deactivate. */
- STDMETHOD(SetVolume) (THIS_ long lVolume, /* Gain, in 100ths of a dB. This must be negative (0 represents full volume.) */
- DWORD dwDuration) PURE;/* Duration of volume ramp in milliseconds. Note that 0 is more efficient. */
- STDMETHOD(ConvertPChannel) (THIS_ DWORD dwPChannelIn, /* Pchannel of source. */
- DWORD *pdwPChannelOut) PURE; /* Equivalent pchannel on performance. */
-};
-
-typedef IDirectMusicAudioPath IDirectMusicAudioPath8;
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicPerformance */
-#undef INTERFACE
-#define INTERFACE IDirectMusicPerformance
-DECLARE_INTERFACE_(IDirectMusicPerformance, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicPerformance */
- STDMETHOD(Init) (THIS_ IDirectMusic** ppDirectMusic,
- LPDIRECTSOUND pDirectSound,
- HWND hWnd) PURE;
- STDMETHOD(PlaySegment) (THIS_ IDirectMusicSegment* pSegment,
- DWORD dwFlags,
- __int64 i64StartTime,
- IDirectMusicSegmentState** ppSegmentState) PURE;
- STDMETHOD(Stop) (THIS_ IDirectMusicSegment* pSegment,
- IDirectMusicSegmentState* pSegmentState,
- MUSIC_TIME mtTime,
- DWORD dwFlags) PURE;
- STDMETHOD(GetSegmentState) (THIS_ IDirectMusicSegmentState** ppSegmentState,
- MUSIC_TIME mtTime) PURE;
- STDMETHOD(SetPrepareTime) (THIS_ DWORD dwMilliSeconds) PURE;
- STDMETHOD(GetPrepareTime) (THIS_ DWORD* pdwMilliSeconds) PURE;
- STDMETHOD(SetBumperLength) (THIS_ DWORD dwMilliSeconds) PURE;
- STDMETHOD(GetBumperLength) (THIS_ DWORD* pdwMilliSeconds) PURE;
- STDMETHOD(SendPMsg) (THIS_ DMUS_PMSG* pPMSG) PURE;
- STDMETHOD(MusicToReferenceTime) (THIS_ MUSIC_TIME mtTime,
- REFERENCE_TIME* prtTime) PURE;
- STDMETHOD(ReferenceToMusicTime) (THIS_ REFERENCE_TIME rtTime,
- MUSIC_TIME* pmtTime) PURE;
- STDMETHOD(IsPlaying) (THIS_ IDirectMusicSegment* pSegment,
- IDirectMusicSegmentState* pSegState) PURE;
- STDMETHOD(GetTime) (THIS_ REFERENCE_TIME* prtNow,
- MUSIC_TIME* pmtNow) PURE;
- STDMETHOD(AllocPMsg) (THIS_ ULONG cb,
- DMUS_PMSG** ppPMSG) PURE;
- STDMETHOD(FreePMsg) (THIS_ DMUS_PMSG* pPMSG) PURE;
- STDMETHOD(GetGraph) (THIS_ IDirectMusicGraph** ppGraph) PURE;
- STDMETHOD(SetGraph) (THIS_ IDirectMusicGraph* pGraph) PURE;
- STDMETHOD(SetNotificationHandle)(THIS_ HANDLE hNotification,
- REFERENCE_TIME rtMinimum) PURE;
- STDMETHOD(GetNotificationPMsg) (THIS_ DMUS_NOTIFICATION_PMSG** ppNotificationPMsg) PURE;
- STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(AddPort) (THIS_ IDirectMusicPort* pPort) PURE;
- STDMETHOD(RemovePort) (THIS_ IDirectMusicPort* pPort ) PURE;
- STDMETHOD(AssignPChannelBlock) (THIS_ DWORD dwBlockNum,
- IDirectMusicPort* pPort,
- DWORD dwGroup ) PURE;
- STDMETHOD(AssignPChannel) (THIS_ DWORD dwPChannel,
- IDirectMusicPort* pPort,
- DWORD dwGroup,
- DWORD dwMChannel ) PURE;
- STDMETHOD(PChannelInfo) (THIS_ DWORD dwPChannel,
- IDirectMusicPort** ppPort,
- DWORD* pdwGroup,
- DWORD* pdwMChannel ) PURE;
- STDMETHOD(DownloadInstrument) (THIS_ IDirectMusicInstrument* pInst,
- DWORD dwPChannel,
- IDirectMusicDownloadedInstrument** ppDownInst,
- DMUS_NOTERANGE* pNoteRanges,
- DWORD dwNumNoteRanges,
- IDirectMusicPort** ppPort,
- DWORD* pdwGroup,
- DWORD* pdwMChannel ) PURE;
- STDMETHOD(Invalidate) (THIS_ MUSIC_TIME mtTime,
- DWORD dwFlags) PURE;
- STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- MUSIC_TIME* pmtNext,
- void* pParam) PURE;
- STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- void* pParam) PURE;
- STDMETHOD(GetGlobalParam) (THIS_ REFGUID rguidType,
- void* pParam,
- DWORD dwSize) PURE;
- STDMETHOD(SetGlobalParam) (THIS_ REFGUID rguidType,
- void* pParam,
- DWORD dwSize) PURE;
- STDMETHOD(GetLatencyTime) (THIS_ REFERENCE_TIME* prtTime) PURE;
- STDMETHOD(GetQueueTime) (THIS_ REFERENCE_TIME* prtTime) PURE;
- STDMETHOD(AdjustTime) (THIS_ REFERENCE_TIME rtAmount) PURE;
- STDMETHOD(CloseDown) (THIS) PURE;
- STDMETHOD(GetResolvedTime) (THIS_ REFERENCE_TIME rtTime,
- REFERENCE_TIME* prtResolved,
- DWORD dwTimeResolveFlags) PURE;
- STDMETHOD(MIDIToMusic) (THIS_ BYTE bMIDIValue,
- DMUS_CHORD_KEY* pChord,
- BYTE bPlayMode,
- BYTE bChordLevel,
- WORD *pwMusicValue) PURE;
- STDMETHOD(MusicToMIDI) (THIS_ WORD wMusicValue,
- DMUS_CHORD_KEY* pChord,
- BYTE bPlayMode,
- BYTE bChordLevel,
- BYTE *pbMIDIValue) PURE;
- STDMETHOD(TimeToRhythm) (THIS_ MUSIC_TIME mtTime,
- DMUS_TIMESIGNATURE *pTimeSig,
- WORD *pwMeasure,
- BYTE *pbBeat,
- BYTE *pbGrid,
- short *pnOffset) PURE;
- STDMETHOD(RhythmToTime) (THIS_ WORD wMeasure,
- BYTE bBeat,
- BYTE bGrid,
- short nOffset,
- DMUS_TIMESIGNATURE *pTimeSig,
- MUSIC_TIME *pmtTime) PURE;
-};
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicPerformance8 */
-#undef INTERFACE
-#define INTERFACE IDirectMusicPerformance8
-DECLARE_INTERFACE_(IDirectMusicPerformance8, IDirectMusicPerformance)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicPerformance */
- STDMETHOD(Init) (THIS_ IDirectMusic** ppDirectMusic,
- LPDIRECTSOUND pDirectSound,
- HWND hWnd) PURE;
- STDMETHOD(PlaySegment) (THIS_ IDirectMusicSegment* pSegment,
- DWORD dwFlags,
- __int64 i64StartTime,
- IDirectMusicSegmentState** ppSegmentState) PURE;
- STDMETHOD(Stop) (THIS_ IDirectMusicSegment* pSegment,
- IDirectMusicSegmentState* pSegmentState,
- MUSIC_TIME mtTime,
- DWORD dwFlags) PURE;
- STDMETHOD(GetSegmentState) (THIS_ IDirectMusicSegmentState** ppSegmentState,
- MUSIC_TIME mtTime) PURE;
- STDMETHOD(SetPrepareTime) (THIS_ DWORD dwMilliSeconds) PURE;
- STDMETHOD(GetPrepareTime) (THIS_ DWORD* pdwMilliSeconds) PURE;
- STDMETHOD(SetBumperLength) (THIS_ DWORD dwMilliSeconds) PURE;
- STDMETHOD(GetBumperLength) (THIS_ DWORD* pdwMilliSeconds) PURE;
- STDMETHOD(SendPMsg) (THIS_ DMUS_PMSG* pPMSG) PURE;
- STDMETHOD(MusicToReferenceTime) (THIS_ MUSIC_TIME mtTime,
- REFERENCE_TIME* prtTime) PURE;
- STDMETHOD(ReferenceToMusicTime) (THIS_ REFERENCE_TIME rtTime,
- MUSIC_TIME* pmtTime) PURE;
- STDMETHOD(IsPlaying) (THIS_ IDirectMusicSegment* pSegment,
- IDirectMusicSegmentState* pSegState) PURE;
- STDMETHOD(GetTime) (THIS_ REFERENCE_TIME* prtNow,
- MUSIC_TIME* pmtNow) PURE;
- STDMETHOD(AllocPMsg) (THIS_ ULONG cb,
- DMUS_PMSG** ppPMSG) PURE;
- STDMETHOD(FreePMsg) (THIS_ DMUS_PMSG* pPMSG) PURE;
- STDMETHOD(GetGraph) (THIS_ IDirectMusicGraph** ppGraph) PURE;
- STDMETHOD(SetGraph) (THIS_ IDirectMusicGraph* pGraph) PURE;
- STDMETHOD(SetNotificationHandle)(THIS_ HANDLE hNotification,
- REFERENCE_TIME rtMinimum) PURE;
- STDMETHOD(GetNotificationPMsg) (THIS_ DMUS_NOTIFICATION_PMSG** ppNotificationPMsg) PURE;
- STDMETHOD(AddNotificationType) (THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
- STDMETHOD(AddPort) (THIS_ IDirectMusicPort* pPort) PURE;
- STDMETHOD(RemovePort) (THIS_ IDirectMusicPort* pPort ) PURE;
- STDMETHOD(AssignPChannelBlock) (THIS_ DWORD dwBlockNum,
- IDirectMusicPort* pPort,
- DWORD dwGroup ) PURE;
- STDMETHOD(AssignPChannel) (THIS_ DWORD dwPChannel,
- IDirectMusicPort* pPort,
- DWORD dwGroup,
- DWORD dwMChannel ) PURE;
- STDMETHOD(PChannelInfo) (THIS_ DWORD dwPChannel,
- IDirectMusicPort** ppPort,
- DWORD* pdwGroup,
- DWORD* pdwMChannel ) PURE;
- STDMETHOD(DownloadInstrument) (THIS_ IDirectMusicInstrument* pInst,
- DWORD dwPChannel,
- IDirectMusicDownloadedInstrument** ppDownInst,
- DMUS_NOTERANGE* pNoteRanges,
- DWORD dwNumNoteRanges,
- IDirectMusicPort** ppPort,
- DWORD* pdwGroup,
- DWORD* pdwMChannel ) PURE;
- STDMETHOD(Invalidate) (THIS_ MUSIC_TIME mtTime,
- DWORD dwFlags) PURE;
- STDMETHOD(GetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- MUSIC_TIME* pmtNext,
- void* pParam) PURE;
- STDMETHOD(SetParam) (THIS_ REFGUID rguidType,
- DWORD dwGroupBits,
- DWORD dwIndex,
- MUSIC_TIME mtTime,
- void* pParam) PURE;
- STDMETHOD(GetGlobalParam) (THIS_ REFGUID rguidType,
- void* pParam,
- DWORD dwSize) PURE;
- STDMETHOD(SetGlobalParam) (THIS_ REFGUID rguidType,
- void* pParam,
- DWORD dwSize) PURE;
- STDMETHOD(GetLatencyTime) (THIS_ REFERENCE_TIME* prtTime) PURE;
- STDMETHOD(GetQueueTime) (THIS_ REFERENCE_TIME* prtTime) PURE;
- STDMETHOD(AdjustTime) (THIS_ REFERENCE_TIME rtAmount) PURE;
- STDMETHOD(CloseDown) (THIS) PURE;
- STDMETHOD(GetResolvedTime) (THIS_ REFERENCE_TIME rtTime,
- REFERENCE_TIME* prtResolved,
- DWORD dwTimeResolveFlags) PURE;
- STDMETHOD(MIDIToMusic) (THIS_ BYTE bMIDIValue,
- DMUS_CHORD_KEY* pChord,
- BYTE bPlayMode,
- BYTE bChordLevel,
- WORD *pwMusicValue) PURE;
- STDMETHOD(MusicToMIDI) (THIS_ WORD wMusicValue,
- DMUS_CHORD_KEY* pChord,
- BYTE bPlayMode,
- BYTE bChordLevel,
- BYTE *pbMIDIValue) PURE;
- STDMETHOD(TimeToRhythm) (THIS_ MUSIC_TIME mtTime,
- DMUS_TIMESIGNATURE *pTimeSig,
- WORD *pwMeasure,
- BYTE *pbBeat,
- BYTE *pbGrid,
- short *pnOffset) PURE;
- STDMETHOD(RhythmToTime) (THIS_ WORD wMeasure,
- BYTE bBeat,
- BYTE bGrid,
- short nOffset,
- DMUS_TIMESIGNATURE *pTimeSig,
- MUSIC_TIME *pmtTime) PURE;
- /* IDirectMusicPerformance8 */
- STDMETHOD(InitAudio) (THIS_ IDirectMusic** ppDirectMusic, /* Optional DirectMusic pointer. */
- IDirectSound** ppDirectSound, /* Optional DirectSound pointer. */
- HWND hWnd, /* HWND for DirectSound. */
- DWORD dwDefaultPathType, /* Requested default audio path type, also optional. */
- DWORD dwPChannelCount, /* Number of PChannels, if default audio path to be created. */
- DWORD dwFlags, /* DMUS_AUDIOF flags, if no pParams structure. */
- DMUS_AUDIOPARAMS *pParams) PURE; /* Optional initialization structure, defining required voices, buffers, etc. */
- STDMETHOD(PlaySegmentEx) (THIS_ IUnknown* pSource, /* Segment to play. */
- WCHAR *pwzSegmentName, /* Not supported in DX8. */
- IUnknown* pTransition, /* Optional template segment to compose transition with. */
- DWORD dwFlags, /* DMUS_SEGF_ flags. */
- __int64 i64StartTime, /* Time to start playback. */
- IDirectMusicSegmentState** ppSegmentState, /* Returned Segment State. */
- IUnknown *pFrom, /* Optional segmentstate or audiopath to replace. */
- IUnknown *pAudioPath) PURE; /* Optional audioPath to play on. */
- STDMETHOD(StopEx) (THIS_ IUnknown *pObjectToStop, /* Segstate, AudioPath, or Segment. */
- __int64 i64StopTime,
- DWORD dwFlags) PURE;
- STDMETHOD(ClonePMsg) (THIS_ DMUS_PMSG* pSourcePMSG,
- DMUS_PMSG** ppCopyPMSG) PURE;
- STDMETHOD(CreateAudioPath) (THIS_ IUnknown *pSourceConfig, /* Source configuration, from AudioPathConfig file. */
- BOOL fActivate, /* TRUE to activate on creation. */
- IDirectMusicAudioPath **ppNewPath) PURE; /* Returns created audiopath. */
- STDMETHOD(CreateStandardAudioPath)(THIS_ DWORD dwType, /* Type of path to create. */
- DWORD dwPChannelCount, /* How many PChannels to allocate for it. */
- BOOL fActivate, /* TRUE to activate on creation. */
- IDirectMusicAudioPath **ppNewPath) PURE; /* Returns created audiopath. */
- STDMETHOD(SetDefaultAudioPath) (THIS_ IDirectMusicAudioPath *pAudioPath) PURE;
- STDMETHOD(GetDefaultAudioPath) (THIS_ IDirectMusicAudioPath **ppAudioPath) PURE;
- STDMETHOD(GetParamEx) (THIS_ REFGUID rguidType, /* GetParam command ID. */
- DWORD dwTrackID, /* Virtual track ID of caller. */
- DWORD dwGroupBits, /* Group bits of caller. */
- DWORD dwIndex, /* Index to Nth parameter. */
- MUSIC_TIME mtTime, /* Time of requested parameter. */
- MUSIC_TIME* pmtNext, /* Returned delta to next parameter. */
- void* pParam) PURE; /* Data structure to fill with parameter. */
-};
-
-
-
-/*////////////////////////////////////////////////////////////////////
-// IDirectMusicGraph */
-#undef INTERFACE
-#define INTERFACE IDirectMusicGraph
-DECLARE_INTERFACE_(IDirectMusicGraph, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicGraph */
- STDMETHOD(StampPMsg) (THIS_ DMUS_PMSG* pPMSG) PURE;
- STDMETHOD(InsertTool) (THIS_ IDirectMusicTool* pTool,
- DWORD* pdwPChannels,
- DWORD cPChannels,
- LONG lIndex) PURE;
- STDMETHOD(GetTool) (THIS_ DWORD dwIndex,
- IDirectMusicTool** ppTool) PURE;
- STDMETHOD(RemoveTool) (THIS_ IDirectMusicTool* pTool) PURE;
-};
-
-typedef IDirectMusicGraph IDirectMusicGraph8;
-
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicStyle */
-#undef INTERFACE
-#define INTERFACE IDirectMusicStyle
-DECLARE_INTERFACE_(IDirectMusicStyle, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicStyle */
- STDMETHOD(GetBand) (THIS_ WCHAR* pwszName,
- IDirectMusicBand** ppBand) PURE;
- STDMETHOD(EnumBand) (THIS_ DWORD dwIndex,
- WCHAR *pwszName) PURE;
- STDMETHOD(GetDefaultBand) (THIS_ IDirectMusicBand** ppBand) PURE;
- STDMETHOD(EnumMotif) (THIS_ DWORD dwIndex,
- WCHAR* pwszName) PURE;
- STDMETHOD(GetMotif) (THIS_ WCHAR* pwszName,
- IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(GetDefaultChordMap) (THIS_ IDirectMusicChordMap** ppChordMap) PURE;
- STDMETHOD(EnumChordMap) (THIS_ DWORD dwIndex,
- WCHAR *pwszName) PURE;
- STDMETHOD(GetChordMap) (THIS_ WCHAR* pwszName,
- IDirectMusicChordMap** ppChordMap) PURE;
- STDMETHOD(GetTimeSignature) (THIS_ DMUS_TIMESIGNATURE* pTimeSig) PURE;
- STDMETHOD(GetEmbellishmentLength) (THIS_ DWORD dwType,
- DWORD dwLevel,
- DWORD* pdwMin,
- DWORD* pdwMax) PURE;
- STDMETHOD(GetTempo) (THIS_ double* pTempo) PURE;
-};
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicStyle8 */
-#undef INTERFACE
-#define INTERFACE IDirectMusicStyle8
-DECLARE_INTERFACE_(IDirectMusicStyle8, IDirectMusicStyle)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicStyle */
- STDMETHOD(GetBand) (THIS_ WCHAR* pwszName,
- IDirectMusicBand** ppBand) PURE;
- STDMETHOD(EnumBand) (THIS_ DWORD dwIndex,
- WCHAR *pwszName) PURE;
- STDMETHOD(GetDefaultBand) (THIS_ IDirectMusicBand** ppBand) PURE;
- STDMETHOD(EnumMotif) (THIS_ DWORD dwIndex,
- WCHAR* pwszName) PURE;
- STDMETHOD(GetMotif) (THIS_ WCHAR* pwszName,
- IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(GetDefaultChordMap) (THIS_ IDirectMusicChordMap** ppChordMap) PURE;
- STDMETHOD(EnumChordMap) (THIS_ DWORD dwIndex,
- WCHAR *pwszName) PURE;
- STDMETHOD(GetChordMap) (THIS_ WCHAR* pwszName,
- IDirectMusicChordMap** ppChordMap) PURE;
- STDMETHOD(GetTimeSignature) (THIS_ DMUS_TIMESIGNATURE* pTimeSig) PURE;
- STDMETHOD(GetEmbellishmentLength) (THIS_ DWORD dwType,
- DWORD dwLevel,
- DWORD* pdwMin,
- DWORD* pdwMax) PURE;
- STDMETHOD(GetTempo) (THIS_ double* pTempo) PURE;
-
- /* IDirectMusicStyle8 */
- STDMETHOD(EnumPattern) (THIS_ DWORD dwIndex,
- DWORD dwPatternType,
- WCHAR* pwszName) PURE;
-};
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicChordMap */
-#undef INTERFACE
-#define INTERFACE IDirectMusicChordMap
-DECLARE_INTERFACE_(IDirectMusicChordMap, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicChordMap */
- STDMETHOD(GetScale) (THIS_ DWORD* pdwScale) PURE;
-};
-
-typedef IDirectMusicChordMap IDirectMusicChordMap8;
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicComposer */
-#undef INTERFACE
-#define INTERFACE IDirectMusicComposer
-DECLARE_INTERFACE_(IDirectMusicComposer, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicComposer */
- STDMETHOD(ComposeSegmentFromTemplate) (THIS_ IDirectMusicStyle* pStyle,
- IDirectMusicSegment* pTemplate,
- WORD wActivity,
- IDirectMusicChordMap* pChordMap,
- IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(ComposeSegmentFromShape) (THIS_ IDirectMusicStyle* pStyle,
- WORD wNumMeasures,
- WORD wShape,
- WORD wActivity,
- BOOL fIntro,
- BOOL fEnd,
- IDirectMusicChordMap* pChordMap,
- IDirectMusicSegment** ppSegment ) PURE;
- STDMETHOD(ComposeTransition) (THIS_ IDirectMusicSegment* pFromSeg,
- IDirectMusicSegment* pToSeg,
- MUSIC_TIME mtTime,
- WORD wCommand,
- DWORD dwFlags,
- IDirectMusicChordMap* pChordMap,
- IDirectMusicSegment** ppTransSeg) PURE;
- STDMETHOD(AutoTransition) (THIS_ IDirectMusicPerformance* pPerformance,
- IDirectMusicSegment* pToSeg,
- WORD wCommand,
- DWORD dwFlags,
- IDirectMusicChordMap* pChordMap,
- IDirectMusicSegment** ppTransSeg,
- IDirectMusicSegmentState** ppToSegState,
- IDirectMusicSegmentState** ppTransSegState) PURE;
- STDMETHOD(ComposeTemplateFromShape) (THIS_ WORD wNumMeasures,
- WORD wShape,
- BOOL fIntro,
- BOOL fEnd,
- WORD wEndLength,
- IDirectMusicSegment** ppTemplate) PURE;
- STDMETHOD(ChangeChordMap) (THIS_ IDirectMusicSegment* pSegment,
- BOOL fTrackScale,
- IDirectMusicChordMap* pChordMap) PURE;
-};
-
-typedef IDirectMusicComposer IDirectMusicComposer8;
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicPatternTrack */
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicPatternTrack
-DECLARE_INTERFACE_(IDirectMusicPatternTrack, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicPatternTrack */
- STDMETHOD(CreateSegment) (THIS_ IDirectMusicStyle* pStyle,
- IDirectMusicSegment** ppSegment) PURE;
- STDMETHOD(SetVariation) (THIS_ IDirectMusicSegmentState* pSegState,
- DWORD dwVariationFlags,
- DWORD dwPart) PURE;
- STDMETHOD(SetPatternByName) (THIS_ IDirectMusicSegmentState* pSegState,
- WCHAR* wszName,
- IDirectMusicStyle* pStyle,
- DWORD dwPatternType,
- DWORD* pdwLength) PURE;
-};
-
-typedef IDirectMusicPatternTrack IDirectMusicPatternTrack8;
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicScript */
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicScript
-DECLARE_INTERFACE_(IDirectMusicScript, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicScript */
- STDMETHOD(Init) (THIS_ IDirectMusicPerformance *pPerformance,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(CallRoutine) (THIS_ WCHAR *pwszRoutineName,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(SetVariableVariant) (THIS_ WCHAR *pwszVariableName,
- VARIANT varValue,
- BOOL fSetRef,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(GetVariableVariant) (THIS_ WCHAR *pwszVariableName,
- VARIANT *pvarValue,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(SetVariableNumber) (THIS_ WCHAR *pwszVariableName,
- LONG lValue,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(GetVariableNumber) (THIS_ WCHAR *pwszVariableName,
- LONG *plValue,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(SetVariableObject) (THIS_ WCHAR *pwszVariableName,
- IUnknown *punkValue,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(GetVariableObject) (THIS_ WCHAR *pwszVariableName,
- REFIID riid,
- LPVOID FAR *ppv,
- DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE;
- STDMETHOD(EnumRoutine) (THIS_ DWORD dwIndex,
- WCHAR *pwszName) PURE;
- STDMETHOD(EnumVariable) (THIS_ DWORD dwIndex,
- WCHAR *pwszName) PURE;
-};
-
-typedef IDirectMusicScript IDirectMusicScript8;
-
-/*/////////////////////////////////////////////////////////////////////
-// IDirectMusicContainer */
-
-#undef INTERFACE
-#define INTERFACE IDirectMusicContainer
-DECLARE_INTERFACE_(IDirectMusicContainer, IUnknown)
-{
- /* IUnknown */
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- /* IDirectMusicContainer */
- STDMETHOD(EnumObject) (THIS_ REFGUID rguidClass,
- DWORD dwIndex,
- LPDMUS_OBJECTDESC pDesc,
- WCHAR *pwszAlias) PURE;
-};
-
-typedef IDirectMusicContainer IDirectMusicContainer8;
-
-/* CLSID's */
-DEFINE_GUID(CLSID_DirectMusicPerformance,0xd2ac2881, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicSegment,0xd2ac2882, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicSegmentState,0xd2ac2883, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicGraph,0xd2ac2884, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicStyle,0xd2ac288a, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicChordMap,0xd2ac288f, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicComposer,0xd2ac2890, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicLoader,0xd2ac2892, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicBand,0x79ba9e00, 0xb6ee, 0x11d1, 0x86, 0xbe, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef);
-
-/* New CLSID's for DX8 */
-DEFINE_GUID(CLSID_DirectMusicPatternTrack,0xd2ac2897, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(CLSID_DirectMusicScript,0x810b5013, 0xe88d, 0x11d2, 0x8b, 0xc1, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {810B5013-E88D-11d2-8BC1-00600893B1B6} */
-DEFINE_GUID(CLSID_DirectMusicContainer,0x9301e380, 0x1f22, 0x11d3, 0x82, 0x26, 0xd2, 0xfa, 0x76, 0x25, 0x5d, 0x47);
-DEFINE_GUID(CLSID_DirectSoundWave,0x8a667154, 0xf9cb, 0x11d2, 0xad, 0x8a, 0x0, 0x60, 0xb0, 0x57, 0x5a, 0xbc);
-DEFINE_GUID(CLSID_DirectMusicAudioPathConfig,0xee0b9ca0, 0xa81e, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
-
-/* Special GUID for all object types. This is used by the loader. */
-DEFINE_GUID(GUID_DirectMusicAllTypes,0xd2ac2893, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Notification guids */
-DEFINE_GUID(GUID_NOTIFICATION_SEGMENT,0xd2ac2899, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_NOTIFICATION_PERFORMANCE,0x81f75bc5, 0x4e5d, 0x11d2, 0xbc, 0xc7, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-DEFINE_GUID(GUID_NOTIFICATION_MEASUREANDBEAT,0xd2ac289a, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_NOTIFICATION_CHORD,0xd2ac289b, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_NOTIFICATION_COMMAND,0xd2ac289c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_NOTIFICATION_RECOMPOSE, 0xd348372b, 0x945b, 0x45ae, 0xa5, 0x22, 0x45, 0xf, 0x12, 0x5b, 0x84, 0xa5);
-
-/* Track param type guids */
-/* Use to get/set a DMUS_COMMAND_PARAM param in the Command track */
-DEFINE_GUID(GUID_CommandParam,0xd2ac289d, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get a DMUS_COMMAND_PARAM_2 param in the Command track */
-DEFINE_GUID(GUID_CommandParam2, 0x28f97ef7, 0x9538, 0x11d2, 0x97, 0xa9, 0x0, 0xc0, 0x4f, 0xa3, 0x6e, 0x58);
-
-/* Use to get/set a DMUS_COMMAND_PARAM_2 param to be used as the command following all commands in
-the Command track (this information can't be saved) */
-DEFINE_GUID(GUID_CommandParamNext, 0x472afe7a, 0x281b, 0x11d3, 0x81, 0x7d, 0x0, 0xc0, 0x4f, 0xa3, 0x6e, 0x58);
-
-/* Use to get/set a DMUS_CHORD_PARAM param in the Chord track */
-DEFINE_GUID(GUID_ChordParam,0xd2ac289e, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get a DMUS_RHYTHM_PARAM param in the Chord track */
-DEFINE_GUID(GUID_RhythmParam,0xd2ac289f, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get/set an IDirectMusicStyle param in the Style track */
-DEFINE_GUID(GUID_IDirectMusicStyle,0xd2ac28a1, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get a DMUS_TIMESIGNATURE param in the Style and TimeSig tracks */
-DEFINE_GUID(GUID_TimeSignature,0xd2ac28a4, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get/set a DMUS_TEMPO_PARAM param in the Tempo track */
-DEFINE_GUID(GUID_TempoParam,0xd2ac28a5, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get the next valid point in a segment at which it may start */
-DEFINE_GUID(GUID_Valid_Start_Time,0x7f6b1760, 0x1fdb, 0x11d3, 0x82, 0x26, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
-
-/* Use to get the next point in the currently playing primary segment at which a new segment may start */
-DEFINE_GUID(GUID_Play_Marker,0xd8761a41, 0x801a, 0x11d3, 0x9b, 0xd1, 0xda, 0xf7, 0xe1, 0xc3, 0xd8, 0x34);
-
-/* Use to get (GetParam) or add (SetParam) bands in the Band track */
-DEFINE_GUID(GUID_BandParam,0x2bb1938, 0xcb8b, 0x11d2, 0x8b, 0xb9, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6);
-typedef struct _DMUS_BAND_PARAM
-{
- MUSIC_TIME mtTimePhysical; /* Note: If this is a clock-time track, then this field is interpreted in the track's internal time format, which is the number of milliseconds after the beginning of playback. */
- IDirectMusicBand *pBand;
-} DMUS_BAND_PARAM;
-
-/* Obsolete -- doesn't distinguish physical and logical time. Use GUID_BandParam instead. */
-DEFINE_GUID(GUID_IDirectMusicBand,0xd2ac28ac, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get/set an IDirectMusicChordMap param in the ChordMap track */
-DEFINE_GUID(GUID_IDirectMusicChordMap,0xd2ac28ad, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Use to get/set a DMUS_MUTE_PARAM param in the Mute track */
-DEFINE_GUID(GUID_MuteParam,0xd2ac28af, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* These guids are used in IDirectMusicSegment::SetParam to tell the band track to perform various actions.
- Some of these guids (where noted) also apply to wave tracks.
- */
-/* Download bands/waves for the IDirectMusicSegment */
-DEFINE_GUID(GUID_Download,0xd2ac28a7, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Unload bands/waves for the IDirectMusicSegment */
-DEFINE_GUID(GUID_Unload,0xd2ac28a8, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Connect segment's bands to an IDirectMusicCollection */
-DEFINE_GUID(GUID_ConnectToDLSCollection, 0x1db1ae6b, 0xe92e, 0x11d1, 0xa8, 0xc5, 0x0, 0xc0, 0x4f, 0xa3, 0x72, 0x6e);
-
-/* Enable/disable autodownloading of bands/waves */
-DEFINE_GUID(GUID_Enable_Auto_Download,0xd2ac28a9, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_Disable_Auto_Download,0xd2ac28aa, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Clear all bands */
-DEFINE_GUID(GUID_Clear_All_Bands,0xd2ac28ab, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Set segment to manage all program changes, bank selects, etc. for simple playback of a standard MIDI file */
-DEFINE_GUID(GUID_StandardMIDIFile, 0x6621075, 0xe92e, 0x11d1, 0xa8, 0xc5, 0x0, 0xc0, 0x4f, 0xa3, 0x72, 0x6e);
-/* For compatibility with beta releases... */
-#define GUID_IgnoreBankSelectForGM GUID_StandardMIDIFile
-
-/* Disable/enable param guids. Use these in SetParam calls to disable or enable sending
- * specific PMsg types.
- */
-DEFINE_GUID(GUID_DisableTimeSig, 0x45fc707b, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-DEFINE_GUID(GUID_EnableTimeSig, 0x45fc707c, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-DEFINE_GUID(GUID_DisableTempo, 0x45fc707d, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-DEFINE_GUID(GUID_EnableTempo, 0x45fc707e, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-
-/* Used in SetParam calls for pattern-based tracks. A nonzero value seeds the random number
-generator for variation selection; a value of zero reverts to the default behavior of
-getting the seed from the system clock.
-*/
-DEFINE_GUID(GUID_SeedVariations, 0x65b76fa5, 0xff37, 0x11d2, 0x81, 0x4e, 0x0, 0xc0, 0x4f, 0xa3, 0x6e, 0x58);
-
-/* Used to get the variations currently in effect across PChannels */
-DEFINE_GUID(GUID_Variations, 0x11f72cce, 0x26e6, 0x4ecd, 0xaf, 0x2e, 0xd6, 0x68, 0xe6, 0x67, 0x7, 0xd8);
-typedef struct _DMUS_VARIATIONS_PARAM
-{
- DWORD dwPChannelsUsed; /* number of PChannels in use */
- DWORD* padwPChannels; /* array of PChannels in use */
- DWORD* padwVariations; /* array of variations in effect for each PChannel */
-} DMUS_VARIATIONS_PARAM;
-
-/* Download bands/waves for the IDirectMusicSegment, passed an IDirectMusicAudioPath instead of an IDirectMusicPerformance */
-DEFINE_GUID(GUID_DownloadToAudioPath,0x9f2c0341, 0xc5c4, 0x11d3, 0x9b, 0xd1, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
-
-/* Unload bands/waves for the IDirectMusicSegment, passed an IDirectMusicAudioPath instead of an IDirectMusicPerformance */
-DEFINE_GUID(GUID_UnloadFromAudioPath,0x9f2c0342, 0xc5c4, 0x11d3, 0x9b, 0xd1, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
-
-
-/* Global data guids */
-DEFINE_GUID(GUID_PerfMasterTempo,0xd2ac28b0, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_PerfMasterVolume,0xd2ac28b1, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_PerfMasterGrooveLevel,0xd2ac28b2, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(GUID_PerfAutoDownload, 0xfb09565b, 0x3631, 0x11d2, 0xbc, 0xb8, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-
-/* GUID for default GM/GS dls collection. */
-DEFINE_GUID(GUID_DefaultGMCollection, 0xf17e8673, 0xc3b4, 0x11d1, 0x87, 0xb, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* GUID to define default synth, placed in AudioPath configuration file. */
-DEFINE_GUID(GUID_Synth_Default,0x26bb9432, 0x45fe, 0x48d3, 0xa3, 0x75, 0x24, 0x72, 0xc5, 0xe3, 0xe7, 0x86);
-
-/* GUIDs to define default buffer configurations to place in AudioPath configuration file. */
-DEFINE_GUID(GUID_Buffer_Reverb,0x186cc541, 0xdb29, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
-DEFINE_GUID(GUID_Buffer_EnvReverb,0x186cc542, 0xdb29, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
-DEFINE_GUID(GUID_Buffer_Stereo,0x186cc545, 0xdb29, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
-DEFINE_GUID(GUID_Buffer_3D_Dry,0x186cc546, 0xdb29, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
-DEFINE_GUID(GUID_Buffer_Mono,0x186cc547, 0xdb29, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
-
-/* IID's */
-DEFINE_GUID(IID_IDirectMusicLoader, 0x2ffaaca2, 0x5dca, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(IID_IDirectMusicGetLoader,0x68a04844, 0xd13d, 0x11d1, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(IID_IDirectMusicObject,0xd2ac28b5, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicSegment, 0xf96029a2, 0x4282, 0x11d2, 0x87, 0x17, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicSegmentState, 0xa3afdcc7, 0xd3ee, 0x11d1, 0xbc, 0x8d, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-DEFINE_GUID(IID_IDirectMusicPerformance,0x7d43d03, 0x6523, 0x11d2, 0x87, 0x1d, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicGraph,0x2befc277, 0x5497, 0x11d2, 0xbc, 0xcb, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
-DEFINE_GUID(IID_IDirectMusicStyle,0xd2ac28bd, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicChordMap,0xd2ac28be, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicComposer,0xd2ac28bf, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicBand,0xd2ac28c0, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Alternate interface IDs, available in DX7 release and after. */
-DEFINE_GUID(IID_IDirectMusicPerformance2,0x6fc2cae0, 0xbc78, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(IID_IDirectMusicSegment2, 0xd38894d1, 0xc052, 0x11d2, 0x87, 0x2f, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-
-/* Interface IDs for DX8 */
-/* changed interfaces (GUID only) */
-DEFINE_GUID(IID_IDirectMusicLoader8, 0x19e7c08c, 0xa44, 0x4e6a, 0xa1, 0x16, 0x59, 0x5a, 0x7c, 0xd5, 0xde, 0x8c);
-DEFINE_GUID(IID_IDirectMusicPerformance8, 0x679c4137, 0xc62e, 0x4147, 0xb2, 0xb4, 0x9d, 0x56, 0x9a, 0xcb, 0x25, 0x4c);
-DEFINE_GUID(IID_IDirectMusicSegment8,0xc6784488, 0x41a3, 0x418f, 0xaa, 0x15, 0xb3, 0x50, 0x93, 0xba, 0x42, 0xd4);
-DEFINE_GUID(IID_IDirectMusicSegmentState8, 0xa50e4730, 0xae4, 0x48a7, 0x98, 0x39, 0xbc, 0x4, 0xbf, 0xe0, 0x77, 0x72);
-DEFINE_GUID(IID_IDirectMusicStyle8, 0xfd24ad8a, 0xa260, 0x453d, 0xbf, 0x50, 0x6f, 0x93, 0x84, 0xf7, 0x9, 0x85);
-/* new interfaces (GUID + alias) */
-DEFINE_GUID(IID_IDirectMusicPatternTrack, 0x51c22e10, 0xb49f, 0x46fc, 0xbe, 0xc2, 0xe6, 0x28, 0x8f, 0xb9, 0xed, 0xe6);
-#define IID_IDirectMusicPatternTrack8 IID_IDirectMusicPatternTrack
-DEFINE_GUID(IID_IDirectMusicScript, 0x2252373a, 0x5814, 0x489b, 0x82, 0x9, 0x31, 0xfe, 0xde, 0xba, 0xf1, 0x37); /* {2252373A-5814-489b-8209-31FEDEBAF137} */
-#define IID_IDirectMusicScript8 IID_IDirectMusicScript
-DEFINE_GUID(IID_IDirectMusicContainer, 0x9301e386, 0x1f22, 0x11d3, 0x82, 0x26, 0xd2, 0xfa, 0x76, 0x25, 0x5d, 0x47);
-#define IID_IDirectMusicContainer8 IID_IDirectMusicContainer
-DEFINE_GUID(IID_IDirectMusicAudioPath,0xc87631f5, 0x23be, 0x4986, 0x88, 0x36, 0x5, 0x83, 0x2f, 0xcc, 0x48, 0xf9);
-#define IID_IDirectMusicAudioPath8 IID_IDirectMusicAudioPath
-/* unchanged interfaces (alias only) */
-#define IID_IDirectMusicGetLoader8 IID_IDirectMusicGetLoader
-#define IID_IDirectMusicChordMap8 IID_IDirectMusicChordMap
-#define IID_IDirectMusicGraph8 IID_IDirectMusicGraph
-#define IID_IDirectMusicBand8 IID_IDirectMusicBand
-#define IID_IDirectMusicObject8 IID_IDirectMusicObject
-#define IID_IDirectMusicComposer8 IID_IDirectMusicComposer
-
-
-#ifdef __cplusplus
-}; /* extern "C" */
-#endif
-
-#include <poppack.h>
-
-#endif /* #ifndef _DMUSICI_ */
diff --git a/plugins/!NotAdopted/sndVol/dmutil.cpp b/plugins/!NotAdopted/sndVol/dmutil.cpp
deleted file mode 100644
index 4e2767ac27..0000000000
--- a/plugins/!NotAdopted/sndVol/dmutil.cpp
+++ /dev/null
@@ -1,689 +0,0 @@
-//-----------------------------------------------------------------------------
-// File: DMUtil.cpp
-//
-// Desc: DirectMusic framework classes for playing DirectMusic segments and
-// DirectMusic scripts. Feel free to use this class as a starting point
-// for adding extra functionality.
-//
-// Copyright (c) 1999-2001 Microsoft Corp. All rights reserved.
-//-----------------------------------------------------------------------------
-#define STRICT
-#include <dmusicc.h>
-#include <dmusici.h>
-#include <dsound.h>
-#include <dxerr8.h>
-#include "DMUtil.h"
-#include "DXUtil.h"
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::CMusicManager()
-// Desc: Constructs the class
-//-----------------------------------------------------------------------------
-CMusicManager::CMusicManager()
-{
- m_pLoader = NULL;
- m_pPerformance = NULL;
-
- // Initialize COM
- HRESULT hr = CoInitialize(NULL);
- m_bCleanupCOM = SUCCEEDED(hr);
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::~CMusicManager()
-// Desc: Destroys the class
-//-----------------------------------------------------------------------------
-CMusicManager::~CMusicManager()
-{
- SAFE_RELEASE( m_pLoader );
-
- if( m_pPerformance )
- {
- // If there is any music playing, stop it.
- m_pPerformance->Stop( NULL, NULL, 0, 0 );
- m_pPerformance->CloseDown();
-
- SAFE_RELEASE( m_pPerformance );
- }
-
- if( m_bCleanupCOM )
- CoUninitialize();
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::Initialize()
-// Desc: Inits DirectMusic using a standard audio path
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::Initialize( HWND hWnd, DWORD dwPChannels, DWORD dwDefaultPathType )
-{
- HRESULT hr;
-
- // Create loader object
- if( FAILED( hr = CoCreateInstance( CLSID_DirectMusicLoader, NULL, CLSCTX_INPROC,
- IID_IDirectMusicLoader8, (void**)&m_pLoader ) ) )
- return DXTRACE_ERR( TEXT("CoCreateInstance"), hr );
-
- // Create performance object
- if( FAILED( hr = CoCreateInstance( CLSID_DirectMusicPerformance, NULL, CLSCTX_INPROC,
- IID_IDirectMusicPerformance8, (void**)&m_pPerformance ) ) )
- return DXTRACE_ERR( TEXT("CoCreateInstance"), hr );
-
- // Initialize the performance with the standard audio path.
- // This initializes both DirectMusic and DirectSound and
- // sets up the synthesizer. Typcially its easist to use an
- // audio path for playing music and sound effects.
- if( FAILED( hr = m_pPerformance->InitAudio( NULL, NULL, hWnd, dwDefaultPathType,
- dwPChannels, DMUS_AUDIOF_ALL, NULL ) ) )
- {
- if( hr == DSERR_NODRIVER )
- {
- DXTRACE( "Warning: No sound card found\n" );
- return hr;
- }
-
- return DXTRACE_ERR( TEXT("InitAudio"), hr );
- }
-
- return S_OK;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::SetSearchDirectory()
-// Desc: Sets the search directory. If not called, the current working
-// directory is used to load content.
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::SetSearchDirectory( const TCHAR* strMediaPath )
-{
- if( NULL == m_pLoader )
- return E_UNEXPECTED;
-
- // DMusic only takes wide strings
- WCHAR wstrMediaPath[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrMediaPath, strMediaPath );
-
- return m_pLoader->SetSearchDirectory( GUID_DirectMusicAllTypes,
- wstrMediaPath, FALSE );
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::GetDefaultAudioPath()
-// Desc:
-//-----------------------------------------------------------------------------
-IDirectMusicAudioPath8* CMusicManager::GetDefaultAudioPath()
-{
- IDirectMusicAudioPath8* pAudioPath = NULL;
- if( NULL == m_pPerformance )
- return NULL;
-
- m_pPerformance->GetDefaultAudioPath( &pAudioPath );
- return pAudioPath;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::CollectGarbage()
-// Desc: Tells the loader to cleanup any garbage from previously
-// released objects.
-//-----------------------------------------------------------------------------
-VOID CMusicManager::CollectGarbage()
-{
- if( m_pLoader )
- m_pLoader->CollectGarbage();
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::CreateSegmentFromFile()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::CreateSegmentFromFile( CMusicSegment** ppSegment,
- TCHAR* strFileName,
- BOOL bDownloadNow,
- BOOL bIsMidiFile )
-{
- HRESULT hr;
- IDirectMusicSegment8* pSegment = NULL;
-
- // DMusic only takes wide strings
- WCHAR wstrFileName[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrFileName, strFileName );
-
- if ( FAILED( hr = m_pLoader->LoadObjectFromFile( CLSID_DirectMusicSegment,
- IID_IDirectMusicSegment8,
- wstrFileName,
- (LPVOID*) &pSegment ) ) )
- {
- if( hr == DMUS_E_LOADER_FAILEDOPEN )
- return hr;
- return DXTRACE_ERR( TEXT("LoadObjectFromFile"), hr );
- }
-
- *ppSegment = new CMusicSegment( m_pPerformance, m_pLoader, pSegment );
- if (!*ppSegment)
- return E_OUTOFMEMORY;
-
- if( bIsMidiFile )
- {
- if( FAILED( hr = pSegment->SetParam( GUID_StandardMIDIFile,
- 0xFFFFFFFF, 0, 0, NULL ) ) )
- return DXTRACE_ERR( TEXT("SetParam"), hr );
- }
-
- if( bDownloadNow )
- {
- if( FAILED( hr = (*ppSegment)->Download() ) )
- return DXTRACE_ERR( TEXT("Download"), hr );
- }
-
- return S_OK;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::CreateSegmentFromResource()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::CreateSegmentFromResource( CMusicSegment** ppSegment,
- TCHAR* strResource,
- TCHAR* strResourceType,
- BOOL bDownloadNow,
- BOOL bIsMidiFile )
-{
- HRESULT hr;
- IDirectMusicSegment8* pSegment = NULL;
- HRSRC hres = NULL;
- void* pMem = NULL;
- DWORD dwSize = 0;
- DMUS_OBJECTDESC objdesc;
-
- // Find the resource
- hres = FindResource( NULL,strResource,strResourceType );
- if( NULL == hres )
- return E_FAIL;
-
- // Load the resource
- pMem = (void*)LoadResource( NULL, hres );
- if( NULL == pMem )
- return E_FAIL;
-
- // Store the size of the resource
- dwSize = SizeofResource( NULL, hres );
-
- // Set up our object description
- ZeroMemory(&objdesc,sizeof(DMUS_OBJECTDESC));
- objdesc.dwSize = sizeof(DMUS_OBJECTDESC);
- objdesc.dwValidData = DMUS_OBJ_MEMORY | DMUS_OBJ_CLASS;
- objdesc.guidClass = CLSID_DirectMusicSegment;
- objdesc.llMemLength =(LONGLONG)dwSize;
- objdesc.pbMemData = (BYTE*)pMem;
-
- if (FAILED ( hr = m_pLoader->GetObject( &objdesc,
- IID_IDirectMusicSegment8,
- (void**)&pSegment ) ) )
- {
- if( hr == DMUS_E_LOADER_FAILEDOPEN )
- return hr;
- return DXTRACE_ERR( TEXT("LoadObjectFromFile"), hr );
- }
-
- *ppSegment = new CMusicSegment( m_pPerformance, m_pLoader, pSegment );
- if( NULL == *ppSegment )
- return E_OUTOFMEMORY;
-
- if( bIsMidiFile )
- {
- // Do this to make sure that the default General MIDI set
- // is connected appropriately to the MIDI file and
- // all instruments sound correct.
- if( FAILED( hr = pSegment->SetParam( GUID_StandardMIDIFile,
- 0xFFFFFFFF, 0, 0, NULL ) ) )
- return DXTRACE_ERR( TEXT("SetParam"), hr );
- }
-
- if( bDownloadNow )
- {
- // The segment needs to be download first before playing.
- // However, some apps may want to wait before calling this
- // to because the download allocates memory for the
- // instruments. The more instruments currently downloaded,
- // the more memory is in use by the synthesizer.
- if( FAILED( hr = (*ppSegment)->Download() ) )
- return DXTRACE_ERR( TEXT("Download"), hr );
- }
-
- return S_OK;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::CreateScriptFromFile()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::CreateScriptFromFile( CMusicScript** ppScript,
- TCHAR* strFileName )
-{
- HRESULT hr;
- IDirectMusicScript* pScript = NULL;
-
- // DMusic only takes wide strings
- WCHAR wstrFileName[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrFileName, strFileName );
-
- if ( FAILED( hr = m_pLoader->LoadObjectFromFile( CLSID_DirectMusicScript,
- IID_IDirectMusicScript8,
- wstrFileName,
- (LPVOID*) &pScript ) ) )
- return DXTRACE_ERR_NOMSGBOX( TEXT("LoadObjectFromFile"), hr );
-
- if ( FAILED( hr = pScript->Init( m_pPerformance, NULL ) ) )
- return DXTRACE_ERR( TEXT("Init"), hr );
-
- *ppScript = new CMusicScript( m_pPerformance, m_pLoader, pScript );
- if (!*ppScript)
- return E_OUTOFMEMORY;
-
- return hr;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::CreateChordMapFromFile()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::CreateChordMapFromFile( IDirectMusicChordMap8** ppChordMap,
- TCHAR* strFileName )
-{
- // DMusic only takes wide strings
- WCHAR wstrFileName[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrFileName, strFileName );
-
- return m_pLoader->LoadObjectFromFile( CLSID_DirectMusicChordMap,
- IID_IDirectMusicChordMap8,
- wstrFileName, (LPVOID*) ppChordMap );
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::CreateChordMapFromFile()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::CreateStyleFromFile( IDirectMusicStyle8** ppStyle,
- TCHAR* strFileName )
-{
- // DMusic only takes wide strings
- WCHAR wstrFileName[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrFileName, strFileName );
-
- return m_pLoader->LoadObjectFromFile( CLSID_DirectMusicStyle,
- IID_IDirectMusicStyle8,
- wstrFileName, (LPVOID*) ppStyle );
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicManager::GetMotifFromStyle()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicManager::GetMotifFromStyle( IDirectMusicSegment8** ppMotif8,
- TCHAR* strStyle, TCHAR* strMotif )
-{
- HRESULT hr;
- IDirectMusicStyle8* pStyle = NULL;
- IDirectMusicSegment* pMotif = NULL;
-
- if( FAILED( hr = CreateStyleFromFile( &pStyle, strStyle ) ) )
- return DXTRACE_ERR( TEXT("CreateStyleFromFile"), hr );
-
- if( pStyle )
- {
- // DMusic only takes wide strings
- WCHAR wstrMotif[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrMotif, strMotif );
-
- hr = pStyle->GetMotif( wstrMotif, &pMotif );
- SAFE_RELEASE( pStyle );
-
- if( FAILED( hr ) )
- return DXTRACE_ERR( TEXT("GetMotif"), hr );
-
- pMotif->QueryInterface( IID_IDirectMusicSegment8, (LPVOID*) ppMotif8 );
- }
-
- return S_OK;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::CMusicSegment()
-// Desc: Constructs the class
-//-----------------------------------------------------------------------------
-CMusicSegment::CMusicSegment( IDirectMusicPerformance8* pPerformance,
- IDirectMusicLoader8* pLoader,
- IDirectMusicSegment8* pSegment )
-{
- m_pPerformance = pPerformance;
- m_pLoader = pLoader;
- m_pSegment = pSegment;
- m_pEmbeddedAudioPath = NULL;
- m_bDownloaded = FALSE;
-
- // Try to pull out an audio path from the segment itself if there is one.
- // This embedded audio path will be used instead of the default
- // audio path if the app doesn't wish to use an overriding audio path.
- IUnknown* pConfig = NULL;
- if( SUCCEEDED( m_pSegment->GetAudioPathConfig( &pConfig ) ) )
- {
- m_pPerformance->CreateAudioPath( pConfig, TRUE, &m_pEmbeddedAudioPath );
- SAFE_RELEASE( pConfig );
- }
-
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::~CMusicSegment()
-// Desc: Destroys the class
-//-----------------------------------------------------------------------------
-CMusicSegment::~CMusicSegment()
-{
- if( m_pSegment )
- {
- // Tell the loader that this object should now be released
- if( m_pLoader )
- m_pLoader->ReleaseObjectByUnknown( m_pSegment );
-
- if( m_bDownloaded )
- {
- if( m_pEmbeddedAudioPath )
- m_pSegment->Unload( m_pEmbeddedAudioPath );
- else
- m_pSegment->Unload( m_pPerformance );
- }
-
- SAFE_RELEASE( m_pEmbeddedAudioPath );
- SAFE_RELEASE( m_pSegment );
- }
-
- m_pPerformance = NULL;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::Play()
-// Desc: Plays the sound using voice management flags. Pass in DSBPLAY_LOOPING
-// in the dwFlags to loop the sound
-//-----------------------------------------------------------------------------
-HRESULT CMusicSegment::Play( DWORD dwFlags, IDirectMusicAudioPath8* pAudioPath )
-{
- if( m_pSegment == NULL || m_pPerformance == NULL )
- return CO_E_NOTINITIALIZED;
-
- if( !m_bDownloaded )
- return E_FAIL;
-
- // If an audio path was passed in then use it, otherwise
- // use the embedded audio path if there was one.
- if( pAudioPath == NULL && m_pEmbeddedAudioPath != NULL )
- pAudioPath = m_pEmbeddedAudioPath;
-
- // If pAudioPath is NULL then this plays on the default audio path.
- return m_pPerformance->PlaySegmentEx( m_pSegment, 0, NULL, dwFlags,
- 0, 0, NULL, pAudioPath );
-}
-
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::Download()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicSegment::Download( IDirectMusicAudioPath8* pAudioPath )
-{
- HRESULT hr;
-
- if( m_pSegment == NULL )
- return CO_E_NOTINITIALIZED;
-
- // If no audio path was passed in, then download
- // to the embedded audio path if it exists
- // else download to the performance
- if( pAudioPath == NULL )
- {
- if( m_pEmbeddedAudioPath )
- hr = m_pSegment->Download( m_pEmbeddedAudioPath );
- else
- hr = m_pSegment->Download( m_pPerformance );
- }
- else
- {
- hr = m_pSegment->Download( pAudioPath );
- }
-
- if ( SUCCEEDED( hr ) )
- m_bDownloaded = TRUE;
-
- return hr;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::Unload()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicSegment::Unload( IDirectMusicAudioPath8* pAudioPath )
-{
- HRESULT hr;
-
- if( m_pSegment == NULL )
- return CO_E_NOTINITIALIZED;
-
- // If no audio path was passed in, then unload
- // from the embedded audio path if it exists
- // else unload from the performance
- if( pAudioPath == NULL )
- {
- if( m_pEmbeddedAudioPath )
- hr = m_pSegment->Unload( m_pEmbeddedAudioPath );
- else
- hr = m_pSegment->Unload( m_pPerformance );
- }
- else
- {
- hr = m_pSegment->Unload( pAudioPath );
- }
-
- if ( SUCCEEDED( hr ) )
- m_bDownloaded = FALSE;
-
- return hr;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::IsPlaying()
-// Desc:
-//-----------------------------------------------------------------------------
-BOOL CMusicSegment::IsPlaying()
-{
- if( m_pSegment == NULL || m_pPerformance == NULL )
- return CO_E_NOTINITIALIZED;
-
- return ( m_pPerformance->IsPlaying( m_pSegment, NULL ) == S_OK );
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::Stop()
-// Desc: Stops the sound from playing
-//-----------------------------------------------------------------------------
-HRESULT CMusicSegment::Stop( DWORD dwFlags )
-{
- if( m_pSegment == NULL || m_pPerformance == NULL )
- return CO_E_NOTINITIALIZED;
-
- return m_pPerformance->Stop( m_pSegment, NULL, 0, dwFlags );;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::SetRepeats()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicSegment::SetRepeats( DWORD dwRepeats )
-{
- if( m_pSegment == NULL )
- return CO_E_NOTINITIALIZED;
-
- return m_pSegment->SetRepeats( dwRepeats );
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicSegment::GetStyle()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT CMusicSegment::GetStyle( IDirectMusicStyle8** ppStyle, DWORD dwStyleIndex )
-{
- // Get the Style from the Segment by calling the Segment's GetData() with
- // the data type GUID_StyleTrackStyle. 0xffffffff indicates to look at
- // tracks in all TrackGroups in the segment. The first 0 indicates to
- // retrieve the Style from the first Track in the indicated TrackGroup.
- // The second 0 indicates to retrieve the Style from the beginning of the
- // segment, i.e. time 0 in Segment time. If this Segment was loaded from a
- // section file, there is only one Style and it is at time 0.
- return m_pSegment->GetParam( GUID_IDirectMusicStyle, 0xffffffff, dwStyleIndex,
- 0, NULL, (VOID*)ppStyle );
-}
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicScript::CMusicScript()
-// Desc: Constructs the class
-//-----------------------------------------------------------------------------
-CMusicScript::CMusicScript( IDirectMusicPerformance8* pPerformance,
- IDirectMusicLoader8* pLoader,
- IDirectMusicScript8* pScript )
-{
- m_pPerformance = pPerformance;
- m_pLoader = pLoader;
- m_pScript = pScript;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicScript::~CMusicScript()
-// Desc: Destroys the class
-//-----------------------------------------------------------------------------
-CMusicScript::~CMusicScript()
-{
- if( m_pLoader )
- {
- // Tell the loader that this object should now be released
- m_pLoader->ReleaseObjectByUnknown( m_pScript );
- m_pLoader = NULL;
- }
-
- SAFE_RELEASE( m_pScript );
- m_pPerformance = NULL;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicScript::Play()
-// Desc: Calls a routine in the script
-//-----------------------------------------------------------------------------
-HRESULT CMusicScript::CallRoutine( TCHAR* strRoutine )
-{
- // DMusic only takes wide strings
- WCHAR wstrRoutine[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrRoutine, strRoutine );
-
- return m_pScript->CallRoutine( wstrRoutine, NULL );
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicScript::SetVariableNumber()
-// Desc: Sets the value of a variable in the script
-//-----------------------------------------------------------------------------
-HRESULT CMusicScript::SetVariableNumber( TCHAR* strVariable, LONG lValue )
-{
- // DMusic only takes wide strings
- WCHAR wstrVariable[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrVariable, strVariable );
-
- return m_pScript->SetVariableNumber( wstrVariable, lValue, NULL );
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: CMusicScript::GetVariableNumber()
-// Desc: Gets the value of a variable in the script
-//-----------------------------------------------------------------------------
-HRESULT CMusicScript::GetVariableNumber( TCHAR* strVariable, LONG* plValue )
-{
- // DMusic only takes wide strings
- WCHAR wstrVariable[MAX_PATH];
- DXUtil_ConvertGenericStringToWide( wstrVariable, strVariable );
-
- return m_pScript->GetVariableNumber( wstrVariable, plValue, NULL );
-}
-
-
-
diff --git a/plugins/!NotAdopted/sndVol/dmutil.h b/plugins/!NotAdopted/sndVol/dmutil.h
deleted file mode 100644
index 99cc464e61..0000000000
--- a/plugins/!NotAdopted/sndVol/dmutil.h
+++ /dev/null
@@ -1,126 +0,0 @@
-//-----------------------------------------------------------------------------
-// File: DMUtil.h
-//
-// Desc:
-//
-// Copyright (c) 1999-2001 Microsoft Corp. All rights reserved.
-//-----------------------------------------------------------------------------
-#ifndef DMUTIL_H
-#define DMUTIL_H
-
-#include <dmusicc.h>
-#include <dmusici.h>
-#include <dsound.h>
-
-
-//-----------------------------------------------------------------------------
-// Classes used by this header
-//-----------------------------------------------------------------------------
-class CMusicManager;
-class CMusicSegment;
-class CMusicScript;
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: class CMusicManager
-// Desc:
-//-----------------------------------------------------------------------------
-class CMusicManager
-{
-protected:
- BOOL m_bCleanupCOM;
- IDirectMusicLoader8* m_pLoader;
- IDirectMusicPerformance8* m_pPerformance;
-
-public:
- CMusicManager();
- ~CMusicManager();
-
- inline IDirectMusicLoader8* GetLoader() { return m_pLoader; }
- inline IDirectMusicPerformance8* GetPerformance() { return m_pPerformance; }
- IDirectMusicAudioPath8* GetDefaultAudioPath();
-
- HRESULT Initialize( HWND hWnd, DWORD dwPChannels = 128, DWORD dwDefaultPathType = DMUS_APATH_DYNAMIC_STEREO );
-
- HRESULT SetSearchDirectory( const TCHAR* strMediaPath );
- VOID CollectGarbage();
-
- HRESULT CreateSegmentFromFile( CMusicSegment** ppSegment, TCHAR* strFileName,
- BOOL bDownloadNow = TRUE, BOOL bIsMidiFile = FALSE );
- HRESULT CreateScriptFromFile( CMusicScript** ppScript, TCHAR* strFileName );
-
- HRESULT CreateChordMapFromFile( IDirectMusicChordMap8** ppChordMap, TCHAR* strFileName );
- HRESULT CreateStyleFromFile( IDirectMusicStyle8** ppStyle, TCHAR* strFileName );
- HRESULT GetMotifFromStyle( IDirectMusicSegment8** ppMotif, TCHAR* strStyle, TCHAR* wstrMotif );
-
- HRESULT CreateSegmentFromResource( CMusicSegment** ppSegment, TCHAR* strResource, TCHAR* strResourceType,
- BOOL bDownloadNow = TRUE, BOOL bIsMidiFile = FALSE );
-};
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: class CMusicSegment
-// Desc: Encapsulates functionality of an IDirectMusicSegment
-//-----------------------------------------------------------------------------
-class CMusicSegment
-{
-protected:
- IDirectMusicSegment8* m_pSegment;
- IDirectMusicLoader8* m_pLoader;
- IDirectMusicPerformance8* m_pPerformance;
- IDirectMusicAudioPath8* m_pEmbeddedAudioPath;
- BOOL m_bDownloaded;
-
-public:
- CMusicSegment( IDirectMusicPerformance8* pPerformance,
- IDirectMusicLoader8* pLoader,
- IDirectMusicSegment8* pSegment );
- virtual ~CMusicSegment();
-
- inline IDirectMusicSegment8* GetSegment() { return m_pSegment; }
- HRESULT GetStyle( IDirectMusicStyle8** ppStyle, DWORD dwStyleIndex = 0 );
-
- HRESULT SetRepeats( DWORD dwRepeats );
- HRESULT Play( DWORD dwFlags = DMUS_SEGF_SECONDARY, IDirectMusicAudioPath8* pAudioPath = NULL );
- HRESULT Stop( DWORD dwFlags = 0 );
- HRESULT Download( IDirectMusicAudioPath8* pAudioPath = NULL );
- HRESULT Unload( IDirectMusicAudioPath8* pAudioPath = NULL );
-
- BOOL IsPlaying();
-};
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: class CMusicScript
-// Desc: Encapsulates functionality of an IDirectMusicScript
-//-----------------------------------------------------------------------------
-class CMusicScript
-{
-protected:
- IDirectMusicScript8* m_pScript;
- IDirectMusicLoader8* m_pLoader;
- IDirectMusicPerformance8* m_pPerformance;
-
-public:
- CMusicScript( IDirectMusicPerformance8* pPerformance,
- IDirectMusicLoader8* pLoader,
- IDirectMusicScript8* pScript );
- virtual ~CMusicScript();
-
- inline IDirectMusicScript8* GetScript() { return m_pScript; }
-
- HRESULT CallRoutine( TCHAR* strRoutine );
- HRESULT SetVariableNumber( TCHAR* strVariable, LONG lValue );
- HRESULT GetVariableNumber( TCHAR* strVariable, LONG* plValue );
-};
-
-
-
-
-#endif // DMUTIL_H
diff --git a/plugins/!NotAdopted/sndVol/dsound.h b/plugins/!NotAdopted/sndVol/dsound.h
deleted file mode 100644
index c088b63a35..0000000000
--- a/plugins/!NotAdopted/sndVol/dsound.h
+++ /dev/null
@@ -1,2358 +0,0 @@
-/*==========================================================================;
- *
- * Copyright (c) Microsoft Corporation. All rights reserved.
- *
- * File: dsound.h
- * Content: DirectSound include file
- *
- **************************************************************************/
-
-#define COM_NO_WINDOWS_H
-#include <objbase.h>
-#include <float.h>
-
-#ifndef DIRECTSOUND_VERSION
-#define DIRECTSOUND_VERSION 0x0900 /* Version 9.0 */
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif // __cplusplus
-
-#ifndef __DSOUND_INCLUDED__
-#define __DSOUND_INCLUDED__
-
-/* Type definitions shared with Direct3D */
-
-#ifndef DX_SHARED_DEFINES
-
-typedef float D3DVALUE, *LPD3DVALUE;
-
-#ifndef D3DCOLOR_DEFINED
-typedef DWORD D3DCOLOR;
-#define D3DCOLOR_DEFINED
-#endif
-
-#ifndef LPD3DCOLOR_DEFINED
-typedef DWORD *LPD3DCOLOR;
-#define LPD3DCOLOR_DEFINED
-#endif
-
-#ifndef D3DVECTOR_DEFINED
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-#define D3DVECTOR_DEFINED
-#endif
-
-#ifndef LPD3DVECTOR_DEFINED
-typedef D3DVECTOR *LPD3DVECTOR;
-#define LPD3DVECTOR_DEFINED
-#endif
-
-#define DX_SHARED_DEFINES
-#endif // DX_SHARED_DEFINES
-
-#define _FACDS 0x878 /* DirectSound's facility code */
-#define MAKE_DSHRESULT(code) MAKE_HRESULT(1, _FACDS, code)
-
-// DirectSound Component GUID {47D4D946-62E8-11CF-93BC-444553540000}
-DEFINE_GUID(CLSID_DirectSound, 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
-
-// DirectSound 8.0 Component GUID {3901CC3F-84B5-4FA4-BA35-AA8172B8A09B}
-DEFINE_GUID(CLSID_DirectSound8, 0x3901cc3f, 0x84b5, 0x4fa4, 0xba, 0x35, 0xaa, 0x81, 0x72, 0xb8, 0xa0, 0x9b);
-
-// DirectSound Capture Component GUID {B0210780-89CD-11D0-AF08-00A0C925CD16}
-DEFINE_GUID(CLSID_DirectSoundCapture, 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
-
-// DirectSound 8.0 Capture Component GUID {E4BCAC13-7F99-4908-9A8E-74E3BF24B6E1}
-DEFINE_GUID(CLSID_DirectSoundCapture8, 0xe4bcac13, 0x7f99, 0x4908, 0x9a, 0x8e, 0x74, 0xe3, 0xbf, 0x24, 0xb6, 0xe1);
-
-// DirectSound Full Duplex Component GUID {FEA4300C-7959-4147-B26A-2377B9E7A91D}
-DEFINE_GUID(CLSID_DirectSoundFullDuplex, 0xfea4300c, 0x7959, 0x4147, 0xb2, 0x6a, 0x23, 0x77, 0xb9, 0xe7, 0xa9, 0x1d);
-
-
-// DirectSound default playback device GUID {DEF00000-9C6D-47ED-AAF1-4DDA8F2B5C03}
-DEFINE_GUID(DSDEVID_DefaultPlayback, 0xdef00000, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
-
-// DirectSound default capture device GUID {DEF00001-9C6D-47ED-AAF1-4DDA8F2B5C03}
-DEFINE_GUID(DSDEVID_DefaultCapture, 0xdef00001, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
-
-// DirectSound default device for voice playback {DEF00002-9C6D-47ED-AAF1-4DDA8F2B5C03}
-DEFINE_GUID(DSDEVID_DefaultVoicePlayback, 0xdef00002, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
-
-// DirectSound default device for voice capture {DEF00003-9C6D-47ED-AAF1-4DDA8F2B5C03}
-DEFINE_GUID(DSDEVID_DefaultVoiceCapture, 0xdef00003, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
-
-
-//
-// Forward declarations for interfaces.
-// 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
-//
-
-#ifdef __cplusplus
-struct IDirectSound;
-struct IDirectSoundBuffer;
-struct IDirectSound3DListener;
-struct IDirectSound3DBuffer;
-struct IDirectSoundCapture;
-struct IDirectSoundCaptureBuffer;
-struct IDirectSoundNotify;
-#endif // __cplusplus
-
-
-//
-// DirectSound 8.0 interfaces.
-//
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-#ifdef __cplusplus
-struct IDirectSound8;
-struct IDirectSoundBuffer8;
-struct IDirectSoundCaptureBuffer8;
-struct IDirectSoundFXGargle;
-struct IDirectSoundFXChorus;
-struct IDirectSoundFXFlanger;
-struct IDirectSoundFXEcho;
-struct IDirectSoundFXDistortion;
-struct IDirectSoundFXCompressor;
-struct IDirectSoundFXParamEq;
-struct IDirectSoundFXWavesReverb;
-struct IDirectSoundFXI3DL2Reverb;
-struct IDirectSoundCaptureFXAec;
-struct IDirectSoundCaptureFXNoiseSuppress;
-struct IDirectSoundFullDuplex;
-#endif // __cplusplus
-
-// IDirectSound8, IDirectSoundBuffer8 and IDirectSoundCaptureBuffer8 are the
-// only DirectSound 7.0 interfaces with changed functionality in version 8.0.
-// The other level 8 interfaces as equivalent to their level 7 counterparts:
-
-#define IDirectSoundCapture8 IDirectSoundCapture
-#define IDirectSound3DListener8 IDirectSound3DListener
-#define IDirectSound3DBuffer8 IDirectSound3DBuffer
-#define IDirectSoundNotify8 IDirectSoundNotify
-#define IDirectSoundFXGargle8 IDirectSoundFXGargle
-#define IDirectSoundFXChorus8 IDirectSoundFXChorus
-#define IDirectSoundFXFlanger8 IDirectSoundFXFlanger
-#define IDirectSoundFXEcho8 IDirectSoundFXEcho
-#define IDirectSoundFXDistortion8 IDirectSoundFXDistortion
-#define IDirectSoundFXCompressor8 IDirectSoundFXCompressor
-#define IDirectSoundFXParamEq8 IDirectSoundFXParamEq
-#define IDirectSoundFXWavesReverb8 IDirectSoundFXWavesReverb
-#define IDirectSoundFXI3DL2Reverb8 IDirectSoundFXI3DL2Reverb
-#define IDirectSoundCaptureFXAec8 IDirectSoundCaptureFXAec
-#define IDirectSoundCaptureFXNoiseSuppress8 IDirectSoundCaptureFXNoiseSuppress
-#define IDirectSoundFullDuplex8 IDirectSoundFullDuplex
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-typedef struct IDirectSound *LPDIRECTSOUND;
-typedef struct IDirectSoundBuffer *LPDIRECTSOUNDBUFFER;
-typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER;
-typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER;
-typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE;
-typedef struct IDirectSoundCaptureBuffer *LPDIRECTSOUNDCAPTUREBUFFER;
-typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY;
-
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-typedef struct IDirectSoundFXGargle *LPDIRECTSOUNDFXGARGLE;
-typedef struct IDirectSoundFXChorus *LPDIRECTSOUNDFXCHORUS;
-typedef struct IDirectSoundFXFlanger *LPDIRECTSOUNDFXFLANGER;
-typedef struct IDirectSoundFXEcho *LPDIRECTSOUNDFXECHO;
-typedef struct IDirectSoundFXDistortion *LPDIRECTSOUNDFXDISTORTION;
-typedef struct IDirectSoundFXCompressor *LPDIRECTSOUNDFXCOMPRESSOR;
-typedef struct IDirectSoundFXParamEq *LPDIRECTSOUNDFXPARAMEQ;
-typedef struct IDirectSoundFXWavesReverb *LPDIRECTSOUNDFXWAVESREVERB;
-typedef struct IDirectSoundFXI3DL2Reverb *LPDIRECTSOUNDFXI3DL2REVERB;
-typedef struct IDirectSoundCaptureFXAec *LPDIRECTSOUNDCAPTUREFXAEC;
-typedef struct IDirectSoundCaptureFXNoiseSuppress *LPDIRECTSOUNDCAPTUREFXNOISESUPPRESS;
-typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX;
-
-typedef struct IDirectSound8 *LPDIRECTSOUND8;
-typedef struct IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8;
-typedef struct IDirectSound3DListener8 *LPDIRECTSOUND3DLISTENER8;
-typedef struct IDirectSound3DBuffer8 *LPDIRECTSOUND3DBUFFER8;
-typedef struct IDirectSoundCapture8 *LPDIRECTSOUNDCAPTURE8;
-typedef struct IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8;
-typedef struct IDirectSoundNotify8 *LPDIRECTSOUNDNOTIFY8;
-typedef struct IDirectSoundFXGargle8 *LPDIRECTSOUNDFXGARGLE8;
-typedef struct IDirectSoundFXChorus8 *LPDIRECTSOUNDFXCHORUS8;
-typedef struct IDirectSoundFXFlanger8 *LPDIRECTSOUNDFXFLANGER8;
-typedef struct IDirectSoundFXEcho8 *LPDIRECTSOUNDFXECHO8;
-typedef struct IDirectSoundFXDistortion8 *LPDIRECTSOUNDFXDISTORTION8;
-typedef struct IDirectSoundFXCompressor8 *LPDIRECTSOUNDFXCOMPRESSOR8;
-typedef struct IDirectSoundFXParamEq8 *LPDIRECTSOUNDFXPARAMEQ8;
-typedef struct IDirectSoundFXWavesReverb8 *LPDIRECTSOUNDFXWAVESREVERB8;
-typedef struct IDirectSoundFXI3DL2Reverb8 *LPDIRECTSOUNDFXI3DL2REVERB8;
-typedef struct IDirectSoundCaptureFXAec8 *LPDIRECTSOUNDCAPTUREFXAEC8;
-typedef struct IDirectSoundCaptureFXNoiseSuppress8 *LPDIRECTSOUNDCAPTUREFXNOISESUPPRESS8;
-typedef struct IDirectSoundFullDuplex8 *LPDIRECTSOUNDFULLDUPLEX8;
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IID definitions for the unchanged DirectSound 8.0 interfaces
-//
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-#define IID_IDirectSoundCapture8 IID_IDirectSoundCapture
-#define IID_IDirectSound3DListener8 IID_IDirectSound3DListener
-#define IID_IDirectSound3DBuffer8 IID_IDirectSound3DBuffer
-#define IID_IDirectSoundNotify8 IID_IDirectSoundNotify
-#define IID_IDirectSoundFXGargle8 IID_IDirectSoundFXGargle
-#define IID_IDirectSoundFXChorus8 IID_IDirectSoundFXChorus
-#define IID_IDirectSoundFXFlanger8 IID_IDirectSoundFXFlanger
-#define IID_IDirectSoundFXEcho8 IID_IDirectSoundFXEcho
-#define IID_IDirectSoundFXDistortion8 IID_IDirectSoundFXDistortion
-#define IID_IDirectSoundFXCompressor8 IID_IDirectSoundFXCompressor
-#define IID_IDirectSoundFXParamEq8 IID_IDirectSoundFXParamEq
-#define IID_IDirectSoundFXWavesReverb8 IID_IDirectSoundFXWavesReverb
-#define IID_IDirectSoundFXI3DL2Reverb8 IID_IDirectSoundFXI3DL2Reverb
-#define IID_IDirectSoundCaptureFXAec8 IID_IDirectSoundCaptureFXAec
-#define IID_IDirectSoundCaptureFXNoiseSuppress8 IID_IDirectSoundCaptureFXNoiseSuppress
-#define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-//
-// Compatibility typedefs
-//
-
-#ifndef _LPCWAVEFORMATEX_DEFINED
-#define _LPCWAVEFORMATEX_DEFINED
-typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
-#endif // _LPCWAVEFORMATEX_DEFINED
-
-#ifndef __LPCGUID_DEFINED__
-#define __LPCGUID_DEFINED__
-typedef const GUID *LPCGUID;
-#endif // __LPCGUID_DEFINED__
-
-typedef LPDIRECTSOUND *LPLPDIRECTSOUND;
-typedef LPDIRECTSOUNDBUFFER *LPLPDIRECTSOUNDBUFFER;
-typedef LPDIRECTSOUND3DLISTENER *LPLPDIRECTSOUND3DLISTENER;
-typedef LPDIRECTSOUND3DBUFFER *LPLPDIRECTSOUND3DBUFFER;
-typedef LPDIRECTSOUNDCAPTURE *LPLPDIRECTSOUNDCAPTURE;
-typedef LPDIRECTSOUNDCAPTUREBUFFER *LPLPDIRECTSOUNDCAPTUREBUFFER;
-typedef LPDIRECTSOUNDNOTIFY *LPLPDIRECTSOUNDNOTIFY;
-
-#if DIRECTSOUND_VERSION >= 0x0800
-typedef LPDIRECTSOUND8 *LPLPDIRECTSOUND8;
-typedef LPDIRECTSOUNDBUFFER8 *LPLPDIRECTSOUNDBUFFER8;
-typedef LPDIRECTSOUNDCAPTURE8 *LPLPDIRECTSOUNDCAPTURE8;
-typedef LPDIRECTSOUNDCAPTUREBUFFER8 *LPLPDIRECTSOUNDCAPTUREBUFFER8;
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-//
-// Structures
-//
-
-typedef struct _DSCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwMinSecondarySampleRate;
- DWORD dwMaxSecondarySampleRate;
- DWORD dwPrimaryBuffers;
- DWORD dwMaxHwMixingAllBuffers;
- DWORD dwMaxHwMixingStaticBuffers;
- DWORD dwMaxHwMixingStreamingBuffers;
- DWORD dwFreeHwMixingAllBuffers;
- DWORD dwFreeHwMixingStaticBuffers;
- DWORD dwFreeHwMixingStreamingBuffers;
- DWORD dwMaxHw3DAllBuffers;
- DWORD dwMaxHw3DStaticBuffers;
- DWORD dwMaxHw3DStreamingBuffers;
- DWORD dwFreeHw3DAllBuffers;
- DWORD dwFreeHw3DStaticBuffers;
- DWORD dwFreeHw3DStreamingBuffers;
- DWORD dwTotalHwMemBytes;
- DWORD dwFreeHwMemBytes;
- DWORD dwMaxContigFreeHwMemBytes;
- DWORD dwUnlockTransferRateHwBuffers;
- DWORD dwPlayCpuOverheadSwBuffers;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} DSCAPS, *LPDSCAPS;
-
-typedef const DSCAPS *LPCDSCAPS;
-
-typedef struct _DSBCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwUnlockTransferRate;
- DWORD dwPlayCpuOverhead;
-} DSBCAPS, *LPDSBCAPS;
-
-typedef const DSBCAPS *LPCDSBCAPS;
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
- typedef struct _DSEFFECTDESC
- {
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidDSFXClass;
- DWORD_PTR dwReserved1;
- DWORD_PTR dwReserved2;
- } DSEFFECTDESC, *LPDSEFFECTDESC;
- typedef const DSEFFECTDESC *LPCDSEFFECTDESC;
-
- #define DSFX_LOCHARDWARE 0x00000001
- #define DSFX_LOCSOFTWARE 0x00000002
-
- enum
- {
- DSFXR_PRESENT, // 0
- DSFXR_LOCHARDWARE, // 1
- DSFXR_LOCSOFTWARE, // 2
- DSFXR_UNALLOCATED, // 3
- DSFXR_FAILED, // 4
- DSFXR_UNKNOWN, // 5
- DSFXR_SENDLOOP // 6
- };
-
- typedef struct _DSCEFFECTDESC
- {
- DWORD dwSize;
- DWORD dwFlags;
- GUID guidDSCFXClass;
- GUID guidDSCFXInstance;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } DSCEFFECTDESC, *LPDSCEFFECTDESC;
- typedef const DSCEFFECTDESC *LPCDSCEFFECTDESC;
-
- #define DSCFX_LOCHARDWARE 0x00000001
- #define DSCFX_LOCSOFTWARE 0x00000002
-
- #define DSCFXR_LOCHARDWARE 0x00000010
- #define DSCFXR_LOCSOFTWARE 0x00000020
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-typedef struct _DSBUFFERDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-#if DIRECTSOUND_VERSION >= 0x0700
- GUID guid3DAlgorithm;
-#endif
-} DSBUFFERDESC, *LPDSBUFFERDESC;
-
-typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
-
-// Older version of this structure:
-
-typedef struct _DSBUFFERDESC1
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-} DSBUFFERDESC1, *LPDSBUFFERDESC1;
-
-typedef const DSBUFFERDESC1 *LPCDSBUFFERDESC1;
-
-typedef struct _DS3DBUFFER
-{
- DWORD dwSize;
- D3DVECTOR vPosition;
- D3DVECTOR vVelocity;
- DWORD dwInsideConeAngle;
- DWORD dwOutsideConeAngle;
- D3DVECTOR vConeOrientation;
- LONG lConeOutsideVolume;
- D3DVALUE flMinDistance;
- D3DVALUE flMaxDistance;
- DWORD dwMode;
-} DS3DBUFFER, *LPDS3DBUFFER;
-
-typedef const DS3DBUFFER *LPCDS3DBUFFER;
-
-typedef struct _DS3DLISTENER
-{
- DWORD dwSize;
- D3DVECTOR vPosition;
- D3DVECTOR vVelocity;
- D3DVECTOR vOrientFront;
- D3DVECTOR vOrientTop;
- D3DVALUE flDistanceFactor;
- D3DVALUE flRolloffFactor;
- D3DVALUE flDopplerFactor;
-} DS3DLISTENER, *LPDS3DLISTENER;
-
-typedef const DS3DLISTENER *LPCDS3DLISTENER;
-
-typedef struct _DSCCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwFormats;
- DWORD dwChannels;
-} DSCCAPS, *LPDSCCAPS;
-
-typedef const DSCCAPS *LPCDSCCAPS;
-
-typedef struct _DSCBUFFERDESC1
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-} DSCBUFFERDESC1, *LPDSCBUFFERDESC1;
-
-typedef struct _DSCBUFFERDESC
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
- LPWAVEFORMATEX lpwfxFormat;
-#if DIRECTSOUND_VERSION >= 0x0800
- DWORD dwFXCount;
- LPDSCEFFECTDESC lpDSCFXDesc;
-#endif
-} DSCBUFFERDESC, *LPDSCBUFFERDESC;
-
-typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
-
-typedef struct _DSCBCAPS
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwBufferBytes;
- DWORD dwReserved;
-} DSCBCAPS, *LPDSCBCAPS;
-
-typedef const DSCBCAPS *LPCDSCBCAPS;
-
-typedef struct _DSBPOSITIONNOTIFY
-{
- DWORD dwOffset;
- HANDLE hEventNotify;
-} DSBPOSITIONNOTIFY, *LPDSBPOSITIONNOTIFY;
-
-typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
-
-//
-// DirectSound API
-//
-
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID, LPCSTR, LPCSTR, LPVOID);
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID, LPCWSTR, LPCWSTR, LPVOID);
-
-extern HRESULT WINAPI DirectSoundCreate(LPCGUID pcGuidDevice, LPDIRECTSOUND *ppDS, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA pDSEnumCallback, LPVOID pContext);
-extern HRESULT WINAPI DirectSoundEnumerateW(LPDSENUMCALLBACKW pDSEnumCallback, LPVOID pContext);
-
-extern HRESULT WINAPI DirectSoundCaptureCreate(LPCGUID pcGuidDevice, LPDIRECTSOUNDCAPTURE *ppDSC, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundCaptureEnumerateA(LPDSENUMCALLBACKA pDSEnumCallback, LPVOID pContext);
-extern HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW pDSEnumCallback, LPVOID pContext);
-
-#if DIRECTSOUND_VERSION >= 0x0800
-extern HRESULT WINAPI DirectSoundCreate8(LPCGUID pcGuidDevice, LPDIRECTSOUND8 *ppDS8, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundCaptureCreate8(LPCGUID pcGuidDevice, LPDIRECTSOUNDCAPTURE8 *ppDSC8, LPUNKNOWN pUnkOuter);
-extern HRESULT WINAPI DirectSoundFullDuplexCreate(LPCGUID pcGuidCaptureDevice, LPCGUID pcGuidRenderDevice,
- LPCDSCBUFFERDESC pcDSCBufferDesc, LPCDSBUFFERDESC pcDSBufferDesc, HWND hWnd,
- DWORD dwLevel, LPDIRECTSOUNDFULLDUPLEX* ppDSFD, LPDIRECTSOUNDCAPTUREBUFFER8 *ppDSCBuffer8,
- LPDIRECTSOUNDBUFFER8 *ppDSBuffer8, LPUNKNOWN pUnkOuter);
-#define DirectSoundFullDuplexCreate8 DirectSoundFullDuplexCreate
-
-extern HRESULT WINAPI GetDeviceID(LPCGUID pGuidSrc, LPGUID pGuidDest);
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-#ifdef UNICODE
-#define LPDSENUMCALLBACK LPDSENUMCALLBACKW
-#define DirectSoundEnumerate DirectSoundEnumerateW
-#define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateW
-#else // UNICODE
-#define LPDSENUMCALLBACK LPDSENUMCALLBACKA
-#define DirectSoundEnumerate DirectSoundEnumerateA
-#define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateA
-#endif // UNICODE
-
-//
-// IUnknown
-//
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#ifndef IUnknown_QueryInterface
-#define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#endif // IUnknown_QueryInterface
-#ifndef IUnknown_AddRef
-#define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
-#endif // IUnknown_AddRef
-#ifndef IUnknown_Release
-#define IUnknown_Release(p) (p)->lpVtbl->Release(p)
-#endif // IUnknown_Release
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#ifndef IUnknown_QueryInterface
-#define IUnknown_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#endif // IUnknown_QueryInterface
-#ifndef IUnknown_AddRef
-#define IUnknown_AddRef(p) (p)->AddRef()
-#endif // IUnknown_AddRef
-#ifndef IUnknown_Release
-#define IUnknown_Release(p) (p)->Release()
-#endif // IUnknown_Release
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#ifndef __IReferenceClock_INTERFACE_DEFINED__
-#define __IReferenceClock_INTERFACE_DEFINED__
-
-typedef LONGLONG REFERENCE_TIME;
-typedef REFERENCE_TIME *LPREFERENCE_TIME;
-
-DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
-
-#undef INTERFACE
-#define INTERFACE IReferenceClock
-
-DECLARE_INTERFACE_(IReferenceClock, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IReferenceClock methods
- STDMETHOD(GetTime) (THIS_ REFERENCE_TIME *pTime) PURE;
- STDMETHOD(AdviseTime) (THIS_ REFERENCE_TIME rtBaseTime, REFERENCE_TIME rtStreamTime,
- HANDLE hEvent, LPDWORD pdwAdviseCookie) PURE;
- STDMETHOD(AdvisePeriodic) (THIS_ REFERENCE_TIME rtStartTime, REFERENCE_TIME rtPeriodTime,
- HANDLE hSemaphore, LPDWORD pdwAdviseCookie) PURE;
- STDMETHOD(Unadvise) (THIS_ DWORD dwAdviseCookie) PURE;
-};
-
-#endif // __IReferenceClock_INTERFACE_DEFINED__
-
-#ifndef IReferenceClock_QueryInterface
-
-#define IReferenceClock_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IReferenceClock_AddRef(p) IUnknown_AddRef(p)
-#define IReferenceClock_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IReferenceClock_GetTime(p,a) (p)->lpVtbl->GetTime(p,a)
-#define IReferenceClock_AdviseTime(p,a,b,c,d) (p)->lpVtbl->AdviseTime(p,a,b,c,d)
-#define IReferenceClock_AdvisePeriodic(p,a,b,c,d) (p)->lpVtbl->AdvisePeriodic(p,a,b,c,d)
-#define IReferenceClock_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IReferenceClock_GetTime(p,a) (p)->GetTime(a)
-#define IReferenceClock_AdviseTime(p,a,b,c,d) (p)->AdviseTime(a,b,c,d)
-#define IReferenceClock_AdvisePeriodic(p,a,b,c,d) (p)->AdvisePeriodic(a,b,c,d)
-#define IReferenceClock_Unadvise(p,a) (p)->Unadvise(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#endif // IReferenceClock_QueryInterface
-
-//
-// IDirectSound
-//
-
-DEFINE_GUID(IID_IDirectSound, 0x279AFA83, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
-
-#undef INTERFACE
-#define INTERFACE IDirectSound
-
-DECLARE_INTERFACE_(IDirectSound, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSound methods
- STDMETHOD(CreateSoundBuffer) (THIS_ LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDBUFFER *ppDSBuffer, LPUNKNOWN pUnkOuter) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDSCAPS pDSCaps) PURE;
- STDMETHOD(DuplicateSoundBuffer) (THIS_ LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER *ppDSBufferDuplicate) PURE;
- STDMETHOD(SetCooperativeLevel) (THIS_ HWND hwnd, DWORD dwLevel) PURE;
- STDMETHOD(Compact) (THIS) PURE;
- STDMETHOD(GetSpeakerConfig) (THIS_ LPDWORD pdwSpeakerConfig) PURE;
- STDMETHOD(SetSpeakerConfig) (THIS_ DWORD dwSpeakerConfig) PURE;
- STDMETHOD(Initialize) (THIS_ LPCGUID pcGuidDevice) PURE;
-};
-
-#define IDirectSound_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSound_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSound_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
-#define IDirectSound_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
-#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
-#define IDirectSound_Compact(p) (p)->lpVtbl->Compact(p)
-#define IDirectSound_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
-#define IDirectSound_SetSpeakerConfig(p,b) (p)->lpVtbl->SetSpeakerConfig(p,b)
-#define IDirectSound_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
-#define IDirectSound_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
-#define IDirectSound_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
-#define IDirectSound_Compact(p) (p)->Compact()
-#define IDirectSound_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
-#define IDirectSound_SetSpeakerConfig(p,b) (p)->SetSpeakerConfig(b)
-#define IDirectSound_Initialize(p,a) (p)->Initialize(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IDirectSound8
-//
-
-DEFINE_GUID(IID_IDirectSound8, 0xC50A7E93, 0xF395, 0x4834, 0x9E, 0xF6, 0x7F, 0xA9, 0x9D, 0xE5, 0x09, 0x66);
-
-#undef INTERFACE
-#define INTERFACE IDirectSound8
-
-DECLARE_INTERFACE_(IDirectSound8, IDirectSound)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSound methods
- STDMETHOD(CreateSoundBuffer) (THIS_ LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDBUFFER *ppDSBuffer, LPUNKNOWN pUnkOuter) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDSCAPS pDSCaps) PURE;
- STDMETHOD(DuplicateSoundBuffer) (THIS_ LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER *ppDSBufferDuplicate) PURE;
- STDMETHOD(SetCooperativeLevel) (THIS_ HWND hwnd, DWORD dwLevel) PURE;
- STDMETHOD(Compact) (THIS) PURE;
- STDMETHOD(GetSpeakerConfig) (THIS_ LPDWORD pdwSpeakerConfig) PURE;
- STDMETHOD(SetSpeakerConfig) (THIS_ DWORD dwSpeakerConfig) PURE;
- STDMETHOD(Initialize) (THIS_ LPCGUID pcGuidDevice) PURE;
-
- // IDirectSound8 methods
- STDMETHOD(VerifyCertification) (THIS_ LPDWORD pdwCertified) PURE;
-};
-
-#define IDirectSound8_QueryInterface(p,a,b) IDirectSound_QueryInterface(p,a,b)
-#define IDirectSound8_AddRef(p) IDirectSound_AddRef(p)
-#define IDirectSound8_Release(p) IDirectSound_Release(p)
-#define IDirectSound8_CreateSoundBuffer(p,a,b,c) IDirectSound_CreateSoundBuffer(p,a,b,c)
-#define IDirectSound8_GetCaps(p,a) IDirectSound_GetCaps(p,a)
-#define IDirectSound8_DuplicateSoundBuffer(p,a,b) IDirectSound_DuplicateSoundBuffer(p,a,b)
-#define IDirectSound8_SetCooperativeLevel(p,a,b) IDirectSound_SetCooperativeLevel(p,a,b)
-#define IDirectSound8_Compact(p) IDirectSound_Compact(p)
-#define IDirectSound8_GetSpeakerConfig(p,a) IDirectSound_GetSpeakerConfig(p,a)
-#define IDirectSound8_SetSpeakerConfig(p,a) IDirectSound_SetSpeakerConfig(p,a)
-#define IDirectSound8_Initialize(p,a) IDirectSound_Initialize(p,a)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound8_VerifyCertification(p,a) (p)->lpVtbl->VerifyCertification(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound8_VerifyCertification(p,a) (p)->VerifyCertification(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IDirectSoundBuffer
-//
-
-DEFINE_GUID(IID_IDirectSoundBuffer, 0x279AFA85, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundBuffer
-
-DECLARE_INTERFACE_(IDirectSoundBuffer, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundBuffer methods
- STDMETHOD(GetCaps) (THIS_ LPDSBCAPS pDSBufferCaps) PURE;
- STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor) PURE;
- STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
- STDMETHOD(GetVolume) (THIS_ LPLONG plVolume) PURE;
- STDMETHOD(GetPan) (THIS_ LPLONG plPan) PURE;
- STDMETHOD(GetFrequency) (THIS_ LPDWORD pdwFrequency) PURE;
- STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc) PURE;
- STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
- LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Play) (THIS_ DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags) PURE;
- STDMETHOD(SetCurrentPosition) (THIS_ DWORD dwNewPosition) PURE;
- STDMETHOD(SetFormat) (THIS_ LPCWAVEFORMATEX pcfxFormat) PURE;
- STDMETHOD(SetVolume) (THIS_ LONG lVolume) PURE;
- STDMETHOD(SetPan) (THIS_ LONG lPan) PURE;
- STDMETHOD(SetFrequency) (THIS_ DWORD dwFrequency) PURE;
- STDMETHOD(Stop) (THIS) PURE;
- STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
- STDMETHOD(Restore) (THIS) PURE;
-};
-
-#define IDirectSoundBuffer_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundBuffer_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundBuffer_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundBuffer_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
-#define IDirectSoundBuffer_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
-#define IDirectSoundBuffer_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
-#define IDirectSoundBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
-#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
-#define IDirectSoundBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
-#define IDirectSoundBuffer_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
-#define IDirectSoundBuffer_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
-#define IDirectSoundBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
-#define IDirectSoundBuffer_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#define IDirectSoundBuffer_Restore(p) (p)->lpVtbl->Restore(p)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundBuffer_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundBuffer_GetVolume(p,a) (p)->GetVolume(a)
-#define IDirectSoundBuffer_GetPan(p,a) (p)->GetPan(a)
-#define IDirectSoundBuffer_GetFrequency(p,a) (p)->GetFrequency(a)
-#define IDirectSoundBuffer_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundBuffer_Play(p,a,b,c) (p)->Play(a,b,c)
-#define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
-#define IDirectSoundBuffer_SetFormat(p,a) (p)->SetFormat(a)
-#define IDirectSoundBuffer_SetVolume(p,a) (p)->SetVolume(a)
-#define IDirectSoundBuffer_SetPan(p,a) (p)->SetPan(a)
-#define IDirectSoundBuffer_SetFrequency(p,a) (p)->SetFrequency(a)
-#define IDirectSoundBuffer_Stop(p) (p)->Stop()
-#define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#define IDirectSoundBuffer_Restore(p) (p)->Restore()
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IDirectSoundBuffer8
-//
-
-DEFINE_GUID(IID_IDirectSoundBuffer8, 0x6825a449, 0x7524, 0x4d82, 0x92, 0x0f, 0x50, 0xe3, 0x6a, 0xb3, 0xab, 0x1e);
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundBuffer8
-
-DECLARE_INTERFACE_(IDirectSoundBuffer8, IDirectSoundBuffer)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundBuffer methods
- STDMETHOD(GetCaps) (THIS_ LPDSBCAPS pDSBufferCaps) PURE;
- STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor) PURE;
- STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
- STDMETHOD(GetVolume) (THIS_ LPLONG plVolume) PURE;
- STDMETHOD(GetPan) (THIS_ LPLONG plPan) PURE;
- STDMETHOD(GetFrequency) (THIS_ LPDWORD pdwFrequency) PURE;
- STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc) PURE;
- STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
- LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Play) (THIS_ DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags) PURE;
- STDMETHOD(SetCurrentPosition) (THIS_ DWORD dwNewPosition) PURE;
- STDMETHOD(SetFormat) (THIS_ LPCWAVEFORMATEX pcfxFormat) PURE;
- STDMETHOD(SetVolume) (THIS_ LONG lVolume) PURE;
- STDMETHOD(SetPan) (THIS_ LONG lPan) PURE;
- STDMETHOD(SetFrequency) (THIS_ DWORD dwFrequency) PURE;
- STDMETHOD(Stop) (THIS) PURE;
- STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
- STDMETHOD(Restore) (THIS) PURE;
-
- // IDirectSoundBuffer8 methods
- STDMETHOD(SetFX) (THIS_ DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes) PURE;
- STDMETHOD(AcquireResources) (THIS_ DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes) PURE;
- STDMETHOD(GetObjectInPath) (THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
-};
-
-// Special GUID meaning "select all objects" for use in GetObjectInPath()
-DEFINE_GUID(GUID_All_Objects, 0xaa114de5, 0xc262, 0x4169, 0xa1, 0xc8, 0x23, 0xd6, 0x98, 0xcc, 0x73, 0xb5);
-
-#define IDirectSoundBuffer8_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundBuffer8_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundBuffer8_Release(p) IUnknown_Release(p)
-
-#define IDirectSoundBuffer8_GetCaps(p,a) IDirectSoundBuffer_GetCaps(p,a)
-#define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) IDirectSoundBuffer_GetCurrentPosition(p,a,b)
-#define IDirectSoundBuffer8_GetFormat(p,a,b,c) IDirectSoundBuffer_GetFormat(p,a,b,c)
-#define IDirectSoundBuffer8_GetVolume(p,a) IDirectSoundBuffer_GetVolume(p,a)
-#define IDirectSoundBuffer8_GetPan(p,a) IDirectSoundBuffer_GetPan(p,a)
-#define IDirectSoundBuffer8_GetFrequency(p,a) IDirectSoundBuffer_GetFrequency(p,a)
-#define IDirectSoundBuffer8_GetStatus(p,a) IDirectSoundBuffer_GetStatus(p,a)
-#define IDirectSoundBuffer8_Initialize(p,a,b) IDirectSoundBuffer_Initialize(p,a,b)
-#define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundBuffer8_Play(p,a,b,c) IDirectSoundBuffer_Play(p,a,b,c)
-#define IDirectSoundBuffer8_SetCurrentPosition(p,a) IDirectSoundBuffer_SetCurrentPosition(p,a)
-#define IDirectSoundBuffer8_SetFormat(p,a) IDirectSoundBuffer_SetFormat(p,a)
-#define IDirectSoundBuffer8_SetVolume(p,a) IDirectSoundBuffer_SetVolume(p,a)
-#define IDirectSoundBuffer8_SetPan(p,a) IDirectSoundBuffer_SetPan(p,a)
-#define IDirectSoundBuffer8_SetFrequency(p,a) IDirectSoundBuffer_SetFrequency(p,a)
-#define IDirectSoundBuffer8_Stop(p) IDirectSoundBuffer_Stop(p)
-#define IDirectSoundBuffer8_Unlock(p,a,b,c,d) IDirectSoundBuffer_Unlock(p,a,b,c,d)
-#define IDirectSoundBuffer8_Restore(p) IDirectSoundBuffer_Restore(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->lpVtbl->SetFX(p,a,b,c)
-#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->lpVtbl->AcquireResources(p,a,b,c)
-#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->SetFX(a,b,c)
-#define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->AcquireResources(a,b,c)
-#define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IDirectSound3DListener
-//
-
-DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
-
-#undef INTERFACE
-#define INTERFACE IDirectSound3DListener
-
-DECLARE_INTERFACE_(IDirectSound3DListener, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSound3DListener methods
- STDMETHOD(GetAllParameters) (THIS_ LPDS3DLISTENER pListener) PURE;
- STDMETHOD(GetDistanceFactor) (THIS_ D3DVALUE* pflDistanceFactor) PURE;
- STDMETHOD(GetDopplerFactor) (THIS_ D3DVALUE* pflDopplerFactor) PURE;
- STDMETHOD(GetOrientation) (THIS_ D3DVECTOR* pvOrientFront, D3DVECTOR* pvOrientTop) PURE;
- STDMETHOD(GetPosition) (THIS_ D3DVECTOR* pvPosition) PURE;
- STDMETHOD(GetRolloffFactor) (THIS_ D3DVALUE* pflRolloffFactor) PURE;
- STDMETHOD(GetVelocity) (THIS_ D3DVECTOR* pvVelocity) PURE;
- STDMETHOD(SetAllParameters) (THIS_ LPCDS3DLISTENER pcListener, DWORD dwApply) PURE;
- STDMETHOD(SetDistanceFactor) (THIS_ D3DVALUE flDistanceFactor, DWORD dwApply) PURE;
- STDMETHOD(SetDopplerFactor) (THIS_ D3DVALUE flDopplerFactor, DWORD dwApply) PURE;
- STDMETHOD(SetOrientation) (THIS_ D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront,
- D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply) PURE;
- STDMETHOD(SetPosition) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetRolloffFactor) (THIS_ D3DVALUE flRolloffFactor, DWORD dwApply) PURE;
- STDMETHOD(SetVelocity) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(CommitDeferredSettings) (THIS) PURE;
-};
-
-#define IDirectSound3DListener_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSound3DListener_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSound3DListener_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound3DListener_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->lpVtbl->GetDistanceFactor(p,a)
-#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->lpVtbl->GetDopplerFactor(p,a)
-#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->lpVtbl->GetOrientation(p,a,b)
-#define IDirectSound3DListener_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
-#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->lpVtbl->GetRolloffFactor(p,a)
-#define IDirectSound3DListener_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
-#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
-#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->lpVtbl->SetDistanceFactor(p,a,b)
-#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->lpVtbl->SetDopplerFactor(p,a,b)
-#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
-#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->lpVtbl->SetRolloffFactor(p,a,b)
-#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
-#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->lpVtbl->CommitDeferredSettings(p)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound3DListener_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->GetDistanceFactor(a)
-#define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->GetDopplerFactor(a)
-#define IDirectSound3DListener_GetOrientation(p,a,b) (p)->GetOrientation(a,b)
-#define IDirectSound3DListener_GetPosition(p,a) (p)->GetPosition(a)
-#define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->GetRolloffFactor(a)
-#define IDirectSound3DListener_GetVelocity(p,a) (p)->GetVelocity(a)
-#define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
-#define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->SetDistanceFactor(a,b)
-#define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->SetDopplerFactor(a,b)
-#define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
-#define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->SetRolloffFactor(a,b)
-#define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
-#define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSound3DBuffer
-//
-
-DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
-
-#undef INTERFACE
-#define INTERFACE IDirectSound3DBuffer
-
-DECLARE_INTERFACE_(IDirectSound3DBuffer, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSound3DBuffer methods
- STDMETHOD(GetAllParameters) (THIS_ LPDS3DBUFFER pDs3dBuffer) PURE;
- STDMETHOD(GetConeAngles) (THIS_ LPDWORD pdwInsideConeAngle, LPDWORD pdwOutsideConeAngle) PURE;
- STDMETHOD(GetConeOrientation) (THIS_ D3DVECTOR* pvOrientation) PURE;
- STDMETHOD(GetConeOutsideVolume) (THIS_ LPLONG plConeOutsideVolume) PURE;
- STDMETHOD(GetMaxDistance) (THIS_ D3DVALUE* pflMaxDistance) PURE;
- STDMETHOD(GetMinDistance) (THIS_ D3DVALUE* pflMinDistance) PURE;
- STDMETHOD(GetMode) (THIS_ LPDWORD pdwMode) PURE;
- STDMETHOD(GetPosition) (THIS_ D3DVECTOR* pvPosition) PURE;
- STDMETHOD(GetVelocity) (THIS_ D3DVECTOR* pvVelocity) PURE;
- STDMETHOD(SetAllParameters) (THIS_ LPCDS3DBUFFER pcDs3dBuffer, DWORD dwApply) PURE;
- STDMETHOD(SetConeAngles) (THIS_ DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply) PURE;
- STDMETHOD(SetConeOrientation) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetConeOutsideVolume) (THIS_ LONG lConeOutsideVolume, DWORD dwApply) PURE;
- STDMETHOD(SetMaxDistance) (THIS_ D3DVALUE flMaxDistance, DWORD dwApply) PURE;
- STDMETHOD(SetMinDistance) (THIS_ D3DVALUE flMinDistance, DWORD dwApply) PURE;
- STDMETHOD(SetMode) (THIS_ DWORD dwMode, DWORD dwApply) PURE;
- STDMETHOD(SetPosition) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
- STDMETHOD(SetVelocity) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
-};
-
-#define IDirectSound3DBuffer_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSound3DBuffer_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSound3DBuffer_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->lpVtbl->GetConeAngles(p,a,b)
-#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->lpVtbl->GetConeOrientation(p,a)
-#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->lpVtbl->GetConeOutsideVolume(p,a)
-#define IDirectSound3DBuffer_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
-#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->lpVtbl->GetMinDistance(p,a)
-#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->lpVtbl->GetMaxDistance(p,a)
-#define IDirectSound3DBuffer_GetMode(p,a) (p)->lpVtbl->GetMode(p,a)
-#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
-#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
-#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->lpVtbl->SetConeAngles(p,a,b,c)
-#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->lpVtbl->SetConeOrientation(p,a,b,c,d)
-#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->lpVtbl->SetConeOutsideVolume(p,a,b)
-#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
-#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->lpVtbl->SetMinDistance(p,a,b)
-#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->lpVtbl->SetMaxDistance(p,a,b)
-#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->lpVtbl->SetMode(p,a,b)
-#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->GetConeAngles(a,b)
-#define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->GetConeOrientation(a)
-#define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->GetConeOutsideVolume(a)
-#define IDirectSound3DBuffer_GetPosition(p,a) (p)->GetPosition(a)
-#define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->GetMinDistance(a)
-#define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->GetMaxDistance(a)
-#define IDirectSound3DBuffer_GetMode(p,a) (p)->GetMode(a)
-#define IDirectSound3DBuffer_GetVelocity(p,a) (p)->GetVelocity(a)
-#define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
-#define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->SetConeAngles(a,b,c)
-#define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->SetConeOrientation(a,b,c,d)
-#define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->SetConeOutsideVolume(a,b)
-#define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
-#define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->SetMinDistance(a,b)
-#define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->SetMaxDistance(a,b)
-#define IDirectSound3DBuffer_SetMode(p,a,b) (p)->SetMode(a,b)
-#define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundCapture
-//
-
-DEFINE_GUID(IID_IDirectSoundCapture, 0xb0210781, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundCapture
-
-DECLARE_INTERFACE_(IDirectSoundCapture, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundCapture methods
- STDMETHOD(CreateCaptureBuffer) (THIS_ LPCDSCBUFFERDESC pcDSCBufferDesc, LPDIRECTSOUNDCAPTUREBUFFER *ppDSCBuffer, LPUNKNOWN pUnkOuter) PURE;
- STDMETHOD(GetCaps) (THIS_ LPDSCCAPS pDSCCaps) PURE;
- STDMETHOD(Initialize) (THIS_ LPCGUID pcGuidDevice) PURE;
-};
-
-#define IDirectSoundCapture_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundCapture_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundCapture_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c)
-#define IDirectSoundCapture_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCapture_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->CreateCaptureBuffer(a,b,c)
-#define IDirectSoundCapture_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCapture_Initialize(p,a) (p)->Initialize(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundCaptureBuffer
-//
-
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer, 0xb0210782, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundCaptureBuffer
-
-DECLARE_INTERFACE_(IDirectSoundCaptureBuffer, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundCaptureBuffer methods
- STDMETHOD(GetCaps) (THIS_ LPDSCBCAPS pDSCBCaps) PURE;
- STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCapturePosition, LPDWORD pdwReadPosition) PURE;
- STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
- STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTSOUNDCAPTURE pDirectSoundCapture, LPCDSCBUFFERDESC pcDSCBufferDesc) PURE;
- STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
- LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Start) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(Stop) (THIS) PURE;
- STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
-};
-
-#define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundCaptureBuffer_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundCaptureBuffer_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
-#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
-#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
-#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
-#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
-#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
-#define IDirectSoundCaptureBuffer_Stop(p) (p)->lpVtbl->Stop(p)
-#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->GetCaps(a)
-#define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
-#define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
-#define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->GetStatus(a)
-#define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
-#define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer_Start(p,a) (p)->Start(a)
-#define IDirectSoundCaptureBuffer_Stop(p) (p)->Stop()
-#define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IDirectSoundCaptureBuffer8
-//
-
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer8, 0x990df4, 0xdbb, 0x4872, 0x83, 0x3e, 0x6d, 0x30, 0x3e, 0x80, 0xae, 0xb6);
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundCaptureBuffer8
-
-DECLARE_INTERFACE_(IDirectSoundCaptureBuffer8, IDirectSoundCaptureBuffer)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundCaptureBuffer methods
- STDMETHOD(GetCaps) (THIS_ LPDSCBCAPS pDSCBCaps) PURE;
- STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCapturePosition, LPDWORD pdwReadPosition) PURE;
- STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
- STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
- STDMETHOD(Initialize) (THIS_ LPDIRECTSOUNDCAPTURE pDirectSoundCapture, LPCDSCBUFFERDESC pcDSCBufferDesc) PURE;
- STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
- LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
- STDMETHOD(Start) (THIS_ DWORD dwFlags) PURE;
- STDMETHOD(Stop) (THIS) PURE;
- STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
-
- // IDirectSoundCaptureBuffer8 methods
- STDMETHOD(GetObjectInPath) (THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
- STDMETHOD(GetFXStatus) (DWORD dwFXCount, LPDWORD pdwFXStatus) PURE;
-};
-
-#define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundCaptureBuffer8_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundCaptureBuffer8_Release(p) IUnknown_Release(p)
-
-#define IDirectSoundCaptureBuffer8_GetCaps(p,a) IDirectSoundCaptureBuffer_GetCaps(p,a)
-#define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b)
-#define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) IDirectSoundCaptureBuffer_GetFormat(p,a,b,c)
-#define IDirectSoundCaptureBuffer8_GetStatus(p,a) IDirectSoundCaptureBuffer_GetStatus(p,a)
-#define IDirectSoundCaptureBuffer8_Initialize(p,a,b) IDirectSoundCaptureBuffer_Initialize(p,a,b)
-#define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g)
-#define IDirectSoundCaptureBuffer8_Start(p,a) IDirectSoundCaptureBuffer_Start(p,a)
-#define IDirectSoundCaptureBuffer8_Stop(p) IDirectSoundCaptureBuffer_Stop(p))
-#define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
-#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->lpVtbl->GetFXStatus(p,a,b)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
-#define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->GetFXStatus(a,b)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IDirectSoundNotify
-//
-
-DEFINE_GUID(IID_IDirectSoundNotify, 0xb0210783, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundNotify
-
-DECLARE_INTERFACE_(IDirectSoundNotify, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundNotify methods
- STDMETHOD(SetNotificationPositions) (THIS_ DWORD dwPositionNotifies, LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
-};
-
-#define IDirectSoundNotify_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundNotify_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundNotify_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->SetNotificationPositions(a,b)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IKsPropertySet
-//
-
-#ifndef _IKsPropertySet_
-#define _IKsPropertySet_
-
-#ifdef __cplusplus
-// 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
-struct IKsPropertySet;
-#endif // __cplusplus
-
-typedef struct IKsPropertySet *LPKSPROPERTYSET;
-
-#define KSPROPERTY_SUPPORT_GET 0x00000001
-#define KSPROPERTY_SUPPORT_SET 0x00000002
-
-DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa, 0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
-
-#undef INTERFACE
-#define INTERFACE IKsPropertySet
-
-DECLARE_INTERFACE_(IKsPropertySet, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IKsPropertySet methods
- STDMETHOD(Get) (THIS_ REFGUID rguidPropSet, ULONG ulId, LPVOID pInstanceData, ULONG ulInstanceLength,
- LPVOID pPropertyData, ULONG ulDataLength, PULONG pulBytesReturned) PURE;
- STDMETHOD(Set) (THIS_ REFGUID rguidPropSet, ULONG ulId, LPVOID pInstanceData, ULONG ulInstanceLength,
- LPVOID pPropertyData, ULONG ulDataLength) PURE;
- STDMETHOD(QuerySupport) (THIS_ REFGUID rguidPropSet, ULONG ulId, PULONG pulTypeSupport) PURE;
-};
-
-#define IKsPropertySet_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IKsPropertySet_AddRef(p) IUnknown_AddRef(p)
-#define IKsPropertySet_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->lpVtbl->Get(p,a,b,c,d,e,f,g)
-#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->lpVtbl->Set(p,a,b,c,d,e,f)
-#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->Get(a,b,c,d,e,f,g)
-#define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->Set(a,b,c,d,e,f)
-#define IKsPropertySet_QuerySupport(p,a,b,c) (p)->QuerySupport(a,b,c)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#endif // _IKsPropertySet_
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-//
-// IDirectSoundFXGargle
-//
-
-DEFINE_GUID(IID_IDirectSoundFXGargle, 0xd616f352, 0xd622, 0x11ce, 0xaa, 0xc5, 0x00, 0x20, 0xaf, 0x0b, 0x99, 0xa3);
-
-typedef struct _DSFXGargle
-{
- DWORD dwRateHz; // Rate of modulation in hz
- DWORD dwWaveShape; // DSFXGARGLE_WAVE_xxx
-} DSFXGargle, *LPDSFXGargle;
-
-#define DSFXGARGLE_WAVE_TRIANGLE 0
-#define DSFXGARGLE_WAVE_SQUARE 1
-
-typedef const DSFXGargle *LPCDSFXGargle;
-
-#define DSFXGARGLE_RATEHZ_MIN 1
-#define DSFXGARGLE_RATEHZ_MAX 1000
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXGargle
-
-DECLARE_INTERFACE_(IDirectSoundFXGargle, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXGargle methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXGargle pcDsFxGargle) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXGargle pDsFxGargle) PURE;
-};
-
-#define IDirectSoundFXGargle_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXGargle_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXGargle_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXGargle_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXGargle_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXGargle_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXGargle_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXChorus
-//
-
-DEFINE_GUID(IID_IDirectSoundFXChorus, 0x880842e3, 0x145f, 0x43e6, 0xa9, 0x34, 0xa7, 0x18, 0x06, 0xe5, 0x05, 0x47);
-
-typedef struct _DSFXChorus
-{
- FLOAT fWetDryMix;
- FLOAT fDepth;
- FLOAT fFeedback;
- FLOAT fFrequency;
- LONG lWaveform; // LFO shape; DSFXCHORUS_WAVE_xxx
- FLOAT fDelay;
- LONG lPhase;
-} DSFXChorus, *LPDSFXChorus;
-
-typedef const DSFXChorus *LPCDSFXChorus;
-
-#define DSFXCHORUS_WAVE_TRIANGLE 0
-#define DSFXCHORUS_WAVE_SIN 1
-
-#define DSFXCHORUS_WETDRYMIX_MIN 0.0f
-#define DSFXCHORUS_WETDRYMIX_MAX 100.0f
-#define DSFXCHORUS_DEPTH_MIN 0.0f
-#define DSFXCHORUS_DEPTH_MAX 100.0f
-#define DSFXCHORUS_FEEDBACK_MIN -99.0f
-#define DSFXCHORUS_FEEDBACK_MAX 99.0f
-#define DSFXCHORUS_FREQUENCY_MIN 0.0f
-#define DSFXCHORUS_FREQUENCY_MAX 10.0f
-#define DSFXCHORUS_DELAY_MIN 0.0f
-#define DSFXCHORUS_DELAY_MAX 20.0f
-#define DSFXCHORUS_PHASE_MIN 0
-#define DSFXCHORUS_PHASE_MAX 4
-
-#define DSFXCHORUS_PHASE_NEG_180 0
-#define DSFXCHORUS_PHASE_NEG_90 1
-#define DSFXCHORUS_PHASE_ZERO 2
-#define DSFXCHORUS_PHASE_90 3
-#define DSFXCHORUS_PHASE_180 4
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXChorus
-
-DECLARE_INTERFACE_(IDirectSoundFXChorus, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXChorus methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXChorus pcDsFxChorus) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXChorus pDsFxChorus) PURE;
-};
-
-#define IDirectSoundFXChorus_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXChorus_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXChorus_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXChorus_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXChorus_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXChorus_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXChorus_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXFlanger
-//
-
-DEFINE_GUID(IID_IDirectSoundFXFlanger, 0x903e9878, 0x2c92, 0x4072, 0x9b, 0x2c, 0xea, 0x68, 0xf5, 0x39, 0x67, 0x83);
-
-typedef struct _DSFXFlanger
-{
- FLOAT fWetDryMix;
- FLOAT fDepth;
- FLOAT fFeedback;
- FLOAT fFrequency;
- LONG lWaveform;
- FLOAT fDelay;
- LONG lPhase;
-} DSFXFlanger, *LPDSFXFlanger;
-
-typedef const DSFXFlanger *LPCDSFXFlanger;
-
-#define DSFXFLANGER_WAVE_TRIANGLE 0
-#define DSFXFLANGER_WAVE_SIN 1
-
-#define DSFXFLANGER_WETDRYMIX_MIN 0.0f
-#define DSFXFLANGER_WETDRYMIX_MAX 100.0f
-#define DSFXFLANGER_FREQUENCY_MIN 0.0f
-#define DSFXFLANGER_FREQUENCY_MAX 10.0f
-#define DSFXFLANGER_DEPTH_MIN 0.0f
-#define DSFXFLANGER_DEPTH_MAX 100.0f
-#define DSFXFLANGER_PHASE_MIN 0
-#define DSFXFLANGER_PHASE_MAX 4
-#define DSFXFLANGER_FEEDBACK_MIN -99.0f
-#define DSFXFLANGER_FEEDBACK_MAX 99.0f
-#define DSFXFLANGER_DELAY_MIN 0.0f
-#define DSFXFLANGER_DELAY_MAX 4.0f
-
-#define DSFXFLANGER_PHASE_NEG_180 0
-#define DSFXFLANGER_PHASE_NEG_90 1
-#define DSFXFLANGER_PHASE_ZERO 2
-#define DSFXFLANGER_PHASE_90 3
-#define DSFXFLANGER_PHASE_180 4
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXFlanger
-
-DECLARE_INTERFACE_(IDirectSoundFXFlanger, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXFlanger methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXFlanger pcDsFxFlanger) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXFlanger pDsFxFlanger) PURE;
-};
-
-#define IDirectSoundFXFlanger_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXFlanger_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXFlanger_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXFlanger_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXFlanger_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXFlanger_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXFlanger_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXEcho
-//
-
-DEFINE_GUID(IID_IDirectSoundFXEcho, 0x8bd28edf, 0x50db, 0x4e92, 0xa2, 0xbd, 0x44, 0x54, 0x88, 0xd1, 0xed, 0x42);
-
-typedef struct _DSFXEcho
-{
- FLOAT fWetDryMix;
- FLOAT fFeedback;
- FLOAT fLeftDelay;
- FLOAT fRightDelay;
- LONG lPanDelay;
-} DSFXEcho, *LPDSFXEcho;
-
-typedef const DSFXEcho *LPCDSFXEcho;
-
-#define DSFXECHO_WETDRYMIX_MIN 0.0f
-#define DSFXECHO_WETDRYMIX_MAX 100.0f
-#define DSFXECHO_FEEDBACK_MIN 0.0f
-#define DSFXECHO_FEEDBACK_MAX 100.0f
-#define DSFXECHO_LEFTDELAY_MIN 1.0f
-#define DSFXECHO_LEFTDELAY_MAX 2000.0f
-#define DSFXECHO_RIGHTDELAY_MIN 1.0f
-#define DSFXECHO_RIGHTDELAY_MAX 2000.0f
-#define DSFXECHO_PANDELAY_MIN 0
-#define DSFXECHO_PANDELAY_MAX 1
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXEcho
-
-DECLARE_INTERFACE_(IDirectSoundFXEcho, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXEcho methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXEcho pcDsFxEcho) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXEcho pDsFxEcho) PURE;
-};
-
-#define IDirectSoundFXEcho_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXEcho_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXEcho_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXEcho_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXEcho_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXEcho_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXEcho_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXDistortion
-//
-
-DEFINE_GUID(IID_IDirectSoundFXDistortion, 0x8ecf4326, 0x455f, 0x4d8b, 0xbd, 0xa9, 0x8d, 0x5d, 0x3e, 0x9e, 0x3e, 0x0b);
-
-typedef struct _DSFXDistortion
-{
- FLOAT fGain;
- FLOAT fEdge;
- FLOAT fPostEQCenterFrequency;
- FLOAT fPostEQBandwidth;
- FLOAT fPreLowpassCutoff;
-} DSFXDistortion, *LPDSFXDistortion;
-
-typedef const DSFXDistortion *LPCDSFXDistortion;
-
-#define DSFXDISTORTION_GAIN_MIN -60.0f
-#define DSFXDISTORTION_GAIN_MAX 0.0f
-#define DSFXDISTORTION_EDGE_MIN 0.0f
-#define DSFXDISTORTION_EDGE_MAX 100.0f
-#define DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN 100.0f
-#define DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX 8000.0f
-#define DSFXDISTORTION_POSTEQBANDWIDTH_MIN 100.0f
-#define DSFXDISTORTION_POSTEQBANDWIDTH_MAX 8000.0f
-#define DSFXDISTORTION_PRELOWPASSCUTOFF_MIN 100.0f
-#define DSFXDISTORTION_PRELOWPASSCUTOFF_MAX 8000.0f
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXDistortion
-
-DECLARE_INTERFACE_(IDirectSoundFXDistortion, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXDistortion methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXDistortion pcDsFxDistortion) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXDistortion pDsFxDistortion) PURE;
-};
-
-#define IDirectSoundFXDistortion_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXDistortion_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXDistortion_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXDistortion_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXDistortion_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXDistortion_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXDistortion_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXCompressor
-//
-
-DEFINE_GUID(IID_IDirectSoundFXCompressor, 0x4bbd1154, 0x62f6, 0x4e2c, 0xa1, 0x5c, 0xd3, 0xb6, 0xc4, 0x17, 0xf7, 0xa0);
-
-typedef struct _DSFXCompressor
-{
- FLOAT fGain;
- FLOAT fAttack;
- FLOAT fRelease;
- FLOAT fThreshold;
- FLOAT fRatio;
- FLOAT fPredelay;
-} DSFXCompressor, *LPDSFXCompressor;
-
-typedef const DSFXCompressor *LPCDSFXCompressor;
-
-#define DSFXCOMPRESSOR_GAIN_MIN -60.0f
-#define DSFXCOMPRESSOR_GAIN_MAX 60.0f
-#define DSFXCOMPRESSOR_ATTACK_MIN 0.01f
-#define DSFXCOMPRESSOR_ATTACK_MAX 500.0f
-#define DSFXCOMPRESSOR_RELEASE_MIN 50.0f
-#define DSFXCOMPRESSOR_RELEASE_MAX 3000.0f
-#define DSFXCOMPRESSOR_THRESHOLD_MIN -60.0f
-#define DSFXCOMPRESSOR_THRESHOLD_MAX 0.0f
-#define DSFXCOMPRESSOR_RATIO_MIN 1.0f
-#define DSFXCOMPRESSOR_RATIO_MAX 100.0f
-#define DSFXCOMPRESSOR_PREDELAY_MIN 0.0f
-#define DSFXCOMPRESSOR_PREDELAY_MAX 4.0f
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXCompressor
-
-DECLARE_INTERFACE_(IDirectSoundFXCompressor, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXCompressor methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXCompressor pcDsFxCompressor) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXCompressor pDsFxCompressor) PURE;
-};
-
-#define IDirectSoundFXCompressor_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXCompressor_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXCompressor_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXCompressor_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXCompressor_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXCompressor_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXCompressor_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXParamEq
-//
-
-DEFINE_GUID(IID_IDirectSoundFXParamEq, 0xc03ca9fe, 0xfe90, 0x4204, 0x80, 0x78, 0x82, 0x33, 0x4c, 0xd1, 0x77, 0xda);
-
-typedef struct _DSFXParamEq
-{
- FLOAT fCenter;
- FLOAT fBandwidth;
- FLOAT fGain;
-} DSFXParamEq, *LPDSFXParamEq;
-
-typedef const DSFXParamEq *LPCDSFXParamEq;
-
-#define DSFXPARAMEQ_CENTER_MIN 80.0f
-#define DSFXPARAMEQ_CENTER_MAX 16000.0f
-#define DSFXPARAMEQ_BANDWIDTH_MIN 1.0f
-#define DSFXPARAMEQ_BANDWIDTH_MAX 36.0f
-#define DSFXPARAMEQ_GAIN_MIN -15.0f
-#define DSFXPARAMEQ_GAIN_MAX 15.0f
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXParamEq
-
-DECLARE_INTERFACE_(IDirectSoundFXParamEq, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXParamEq methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXParamEq pcDsFxParamEq) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXParamEq pDsFxParamEq) PURE;
-};
-
-#define IDirectSoundFXParamEq_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXParamEq_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXParamEq_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXParamEq_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXParamEq_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXParamEq_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXParamEq_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXI3DL2Reverb
-//
-
-DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb, 0x4b166a6a, 0x0d66, 0x43f3, 0x80, 0xe3, 0xee, 0x62, 0x80, 0xde, 0xe1, 0xa4);
-
-typedef struct _DSFXI3DL2Reverb
-{
- LONG lRoom; // [-10000, 0] default: -1000 mB
- LONG lRoomHF; // [-10000, 0] default: 0 mB
- FLOAT flRoomRolloffFactor; // [0.0, 10.0] default: 0.0
- FLOAT flDecayTime; // [0.1, 20.0] default: 1.49s
- FLOAT flDecayHFRatio; // [0.1, 2.0] default: 0.83
- LONG lReflections; // [-10000, 1000] default: -2602 mB
- FLOAT flReflectionsDelay; // [0.0, 0.3] default: 0.007 s
- LONG lReverb; // [-10000, 2000] default: 200 mB
- FLOAT flReverbDelay; // [0.0, 0.1] default: 0.011 s
- FLOAT flDiffusion; // [0.0, 100.0] default: 100.0 %
- FLOAT flDensity; // [0.0, 100.0] default: 100.0 %
- FLOAT flHFReference; // [20.0, 20000.0] default: 5000.0 Hz
-} DSFXI3DL2Reverb, *LPDSFXI3DL2Reverb;
-
-typedef const DSFXI3DL2Reverb *LPCDSFXI3DL2Reverb;
-
-#define DSFX_I3DL2REVERB_ROOM_MIN (-10000)
-#define DSFX_I3DL2REVERB_ROOM_MAX 0
-#define DSFX_I3DL2REVERB_ROOM_DEFAULT (-1000)
-
-#define DSFX_I3DL2REVERB_ROOMHF_MIN (-10000)
-#define DSFX_I3DL2REVERB_ROOMHF_MAX 0
-#define DSFX_I3DL2REVERB_ROOMHF_DEFAULT (-100)
-
-#define DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN 0.0f
-#define DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX 10.0f
-#define DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT 0.0f
-
-#define DSFX_I3DL2REVERB_DECAYTIME_MIN 0.1f
-#define DSFX_I3DL2REVERB_DECAYTIME_MAX 20.0f
-#define DSFX_I3DL2REVERB_DECAYTIME_DEFAULT 1.49f
-
-#define DSFX_I3DL2REVERB_DECAYHFRATIO_MIN 0.1f
-#define DSFX_I3DL2REVERB_DECAYHFRATIO_MAX 2.0f
-#define DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT 0.83f
-
-#define DSFX_I3DL2REVERB_REFLECTIONS_MIN (-10000)
-#define DSFX_I3DL2REVERB_REFLECTIONS_MAX 1000
-#define DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT (-2602)
-
-#define DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN 0.0f
-#define DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX 0.3f
-#define DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT 0.007f
-
-#define DSFX_I3DL2REVERB_REVERB_MIN (-10000)
-#define DSFX_I3DL2REVERB_REVERB_MAX 2000
-#define DSFX_I3DL2REVERB_REVERB_DEFAULT (200)
-
-#define DSFX_I3DL2REVERB_REVERBDELAY_MIN 0.0f
-#define DSFX_I3DL2REVERB_REVERBDELAY_MAX 0.1f
-#define DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT 0.011f
-
-#define DSFX_I3DL2REVERB_DIFFUSION_MIN 0.0f
-#define DSFX_I3DL2REVERB_DIFFUSION_MAX 100.0f
-#define DSFX_I3DL2REVERB_DIFFUSION_DEFAULT 100.0f
-
-#define DSFX_I3DL2REVERB_DENSITY_MIN 0.0f
-#define DSFX_I3DL2REVERB_DENSITY_MAX 100.0f
-#define DSFX_I3DL2REVERB_DENSITY_DEFAULT 100.0f
-
-#define DSFX_I3DL2REVERB_HFREFERENCE_MIN 20.0f
-#define DSFX_I3DL2REVERB_HFREFERENCE_MAX 20000.0f
-#define DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT 5000.0f
-
-#define DSFX_I3DL2REVERB_QUALITY_MIN 0
-#define DSFX_I3DL2REVERB_QUALITY_MAX 3
-#define DSFX_I3DL2REVERB_QUALITY_DEFAULT 2
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXI3DL2Reverb
-
-DECLARE_INTERFACE_(IDirectSoundFXI3DL2Reverb, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXI3DL2Reverb methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXI3DL2Reverb pcDsFxI3DL2Reverb) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXI3DL2Reverb pDsFxI3DL2Reverb) PURE;
- STDMETHOD(SetPreset) (THIS_ DWORD dwPreset) PURE;
- STDMETHOD(GetPreset) (THIS_ LPDWORD pdwPreset) PURE;
- STDMETHOD(SetQuality) (THIS_ LONG lQuality) PURE;
- STDMETHOD(GetQuality) (THIS_ LONG *plQuality) PURE;
-};
-
-#define IDirectSoundFXI3DL2Reverb_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXI3DL2Reverb_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXI3DL2Reverb_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXI3DL2Reverb_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXI3DL2Reverb_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#define IDirectSoundFXI3DL2Reverb_SetPreset(p,a) (p)->lpVtbl->SetPreset(p,a)
-#define IDirectSoundFXI3DL2Reverb_GetPreset(p,a) (p)->lpVtbl->GetPreset(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXI3DL2Reverb_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXI3DL2Reverb_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#define IDirectSoundFXI3DL2Reverb_SetPreset(p,a) (p)->SetPreset(a)
-#define IDirectSoundFXI3DL2Reverb_GetPreset(p,a) (p)->GetPreset(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundFXWavesReverb
-//
-
-DEFINE_GUID(IID_IDirectSoundFXWavesReverb,0x46858c3a,0x0dc6,0x45e3,0xb7,0x60,0xd4,0xee,0xf1,0x6c,0xb3,0x25);
-
-typedef struct _DSFXWavesReverb
-{
- FLOAT fInGain; // [-96.0,0.0] default: 0.0 dB
- FLOAT fReverbMix; // [-96.0,0.0] default: 0.0 db
- FLOAT fReverbTime; // [0.001,3000.0] default: 1000.0 ms
- FLOAT fHighFreqRTRatio; // [0.001,0.999] default: 0.001
-} DSFXWavesReverb, *LPDSFXWavesReverb;
-
-typedef const DSFXWavesReverb *LPCDSFXWavesReverb;
-
-#define DSFX_WAVESREVERB_INGAIN_MIN -96.0f
-#define DSFX_WAVESREVERB_INGAIN_MAX 0.0f
-#define DSFX_WAVESREVERB_INGAIN_DEFAULT 0.0f
-#define DSFX_WAVESREVERB_REVERBMIX_MIN -96.0f
-#define DSFX_WAVESREVERB_REVERBMIX_MAX 0.0f
-#define DSFX_WAVESREVERB_REVERBMIX_DEFAULT 0.0f
-#define DSFX_WAVESREVERB_REVERBTIME_MIN 0.001f
-#define DSFX_WAVESREVERB_REVERBTIME_MAX 3000.0f
-#define DSFX_WAVESREVERB_REVERBTIME_DEFAULT 1000.0f
-#define DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN 0.001f
-#define DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX 0.999f
-#define DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT 0.001f
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFXWavesReverb
-
-DECLARE_INTERFACE_(IDirectSoundFXWavesReverb, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFXWavesReverb methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSFXWavesReverb pcDsFxWavesReverb) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSFXWavesReverb pDsFxWavesReverb) PURE;
-};
-
-#define IDirectSoundFXWavesReverb_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFXWavesReverb_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFXWavesReverb_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXWavesReverb_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundFXWavesReverb_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFXWavesReverb_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundFXWavesReverb_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-//
-// IDirectSoundCaptureFXAec
-//
-
-DEFINE_GUID(IID_IDirectSoundCaptureFXAec, 0xad74143d, 0x903d, 0x4ab7, 0x80, 0x66, 0x28, 0xd3, 0x63, 0x03, 0x6d, 0x65);
-
-typedef struct _DSCFXAec
-{
- BOOL fEnable;
- BOOL fNoiseFill;
- DWORD dwMode;
-} DSCFXAec, *LPDSCFXAec;
-
-typedef const DSCFXAec *LPCDSCFXAec;
-
-// These match the AEC_MODE_* constants in the DDK's ksmedia.h file
-#define DSCFX_AEC_MODE_PASS_THROUGH 0x0
-#define DSCFX_AEC_MODE_HALF_DUPLEX 0x1
-#define DSCFX_AEC_MODE_FULL_DUPLEX 0x2
-
-// These match the AEC_STATUS_* constants in ksmedia.h
-#define DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED 0x0
-#define DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED 0x1
-#define DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED 0x2
-#define DSCFX_AEC_STATUS_CURRENTLY_CONVERGED 0x8
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundCaptureFXAec
-
-DECLARE_INTERFACE_(IDirectSoundCaptureFXAec, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundCaptureFXAec methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSCFXAec pDscFxAec) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSCFXAec pDscFxAec) PURE;
- STDMETHOD(GetStatus) (THIS_ PDWORD pdwStatus) PURE;
- STDMETHOD(Reset) (THIS) PURE;
-};
-
-#define IDirectSoundCaptureFXAec_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundCaptureFXAec_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundCaptureFXAec_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureFXAec_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundCaptureFXAec_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureFXAec_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundCaptureFXAec_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-
-//
-// IDirectSoundCaptureFXNoiseSuppress
-//
-
-DEFINE_GUID(IID_IDirectSoundCaptureFXNoiseSuppress, 0xed311e41, 0xfbae, 0x4175, 0x96, 0x25, 0xcd, 0x8, 0x54, 0xf6, 0x93, 0xca);
-
-typedef struct _DSCFXNoiseSuppress
-{
- BOOL fEnable;
-} DSCFXNoiseSuppress, *LPDSCFXNoiseSuppress;
-
-typedef const DSCFXNoiseSuppress *LPCDSCFXNoiseSuppress;
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundCaptureFXNoiseSuppress
-
-DECLARE_INTERFACE_(IDirectSoundCaptureFXNoiseSuppress, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundCaptureFXNoiseSuppress methods
- STDMETHOD(SetAllParameters) (THIS_ LPCDSCFXNoiseSuppress pcDscFxNoiseSuppress) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LPDSCFXNoiseSuppress pDscFxNoiseSuppress) PURE;
- STDMETHOD(Reset) (THIS) PURE;
-};
-
-#define IDirectSoundCaptureFXNoiseSuppress_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundCaptureFXNoiseSuppress_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundCaptureFXNoiseSuppress_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureFXNoiseSuppress_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
-#define IDirectSoundCaptureFXNoiseSuppress_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundCaptureFXNoiseSuppress_SetAllParameters(p,a) (p)->SetAllParameters(a)
-#define IDirectSoundCaptureFXNoiseSuppress_GetAllParameters(p,a) (p)->GetAllParameters(a)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-
-//
-// IDirectSoundFullDuplex
-//
-
-#ifndef _IDirectSoundFullDuplex_
-#define _IDirectSoundFullDuplex_
-
-#ifdef __cplusplus
-// 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
-struct IDirectSoundFullDuplex;
-#endif // __cplusplus
-
-typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX;
-
-DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xedcb4c7a, 0xdaab, 0x4216, 0xa4, 0x2e, 0x6c, 0x50, 0x59, 0x6d, 0xdc, 0x1d);
-
-#undef INTERFACE
-#define INTERFACE IDirectSoundFullDuplex
-
-DECLARE_INTERFACE_(IDirectSoundFullDuplex, IUnknown)
-{
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
-
- // IDirectSoundFullDuplex methods
- STDMETHOD(Initialize) (THIS_ LPCGUID pCaptureGuid, LPCGUID pRenderGuid, LPCDSCBUFFERDESC lpDscBufferDesc, LPCDSBUFFERDESC lpDsBufferDesc, HWND hWnd, DWORD dwLevel, LPLPDIRECTSOUNDCAPTUREBUFFER8 lplpDirectSoundCaptureBuffer8, LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer8) PURE;
-};
-
-#define IDirectSoundFullDuplex_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
-#define IDirectSoundFullDuplex_AddRef(p) IUnknown_AddRef(p)
-#define IDirectSoundFullDuplex_Release(p) IUnknown_Release(p)
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Initialize(p,a,b,c,d,e,f,g,h)
-#else // !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->Initialize(a,b,c,d,e,f,g,h)
-#endif // !defined(__cplusplus) || defined(CINTERFACE)
-
-#endif // _IDirectSoundFullDuplex_
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-//
-// Return Codes
-//
-
-// The function completed successfully
-#define DS_OK S_OK
-
-// The call succeeded, but we had to substitute the 3D algorithm
-#define DS_NO_VIRTUALIZATION MAKE_HRESULT(0, _FACDS, 10)
-
-// The call failed because resources (such as a priority level)
-// were already being used by another caller
-#define DSERR_ALLOCATED MAKE_DSHRESULT(10)
-
-// The control (vol, pan, etc.) requested by the caller is not available
-#define DSERR_CONTROLUNAVAIL MAKE_DSHRESULT(30)
-
-// An invalid parameter was passed to the returning function
-#define DSERR_INVALIDPARAM E_INVALIDARG
-
-// This call is not valid for the current state of this object
-#define DSERR_INVALIDCALL MAKE_DSHRESULT(50)
-
-// An undetermined error occurred inside the DirectSound subsystem
-#define DSERR_GENERIC E_FAIL
-
-// The caller does not have the priority level required for the function to
-// succeed
-#define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT(70)
-
-// Not enough free memory is available to complete the operation
-#define DSERR_OUTOFMEMORY E_OUTOFMEMORY
-
-// The specified WAVE format is not supported
-#define DSERR_BADFORMAT MAKE_DSHRESULT(100)
-
-// The function called is not supported at this time
-#define DSERR_UNSUPPORTED E_NOTIMPL
-
-// No sound driver is available for use
-#define DSERR_NODRIVER MAKE_DSHRESULT(120)
-
-// This object is already initialized
-#define DSERR_ALREADYINITIALIZED MAKE_DSHRESULT(130)
-
-// This object does not support aggregation
-#define DSERR_NOAGGREGATION CLASS_E_NOAGGREGATION
-
-// The buffer memory has been lost, and must be restored
-#define DSERR_BUFFERLOST MAKE_DSHRESULT(150)
-
-// Another app has a higher priority level, preventing this call from
-// succeeding
-#define DSERR_OTHERAPPHASPRIO MAKE_DSHRESULT(160)
-
-// This object has not been initialized
-#define DSERR_UNINITIALIZED MAKE_DSHRESULT(170)
-
-// The requested COM interface is not available
-#define DSERR_NOINTERFACE E_NOINTERFACE
-
-// Access is denied
-#define DSERR_ACCESSDENIED E_ACCESSDENIED
-
-// Tried to create a DSBCAPS_CTRLFX buffer shorter than DSBSIZE_FX_MIN milliseconds
-#define DSERR_BUFFERTOOSMALL MAKE_DSHRESULT(180)
-
-// Attempt to use DirectSound 8 functionality on an older DirectSound object
-#define DSERR_DS8_REQUIRED MAKE_DSHRESULT(190)
-
-// A circular loop of send effects was detected
-#define DSERR_SENDLOOP MAKE_DSHRESULT(200)
-
-// The GUID specified in an audiopath file does not match a valid MIXIN buffer
-#define DSERR_BADSENDBUFFERGUID MAKE_DSHRESULT(210)
-
-// The object requested was not found (numerically equal to DMUS_E_NOT_FOUND)
-#define DSERR_OBJECTNOTFOUND MAKE_DSHRESULT(4449)
-
-// The effects requested could not be found on the system, or they were found
-// but in the wrong order, or in the wrong hardware/software locations.
-#define DSERR_FXUNAVAILABLE MAKE_DSHRESULT(220)
-
-//
-// Flags
-//
-
-#define DSCAPS_PRIMARYMONO 0x00000001
-#define DSCAPS_PRIMARYSTEREO 0x00000002
-#define DSCAPS_PRIMARY8BIT 0x00000004
-#define DSCAPS_PRIMARY16BIT 0x00000008
-#define DSCAPS_CONTINUOUSRATE 0x00000010
-#define DSCAPS_EMULDRIVER 0x00000020
-#define DSCAPS_CERTIFIED 0x00000040
-#define DSCAPS_SECONDARYMONO 0x00000100
-#define DSCAPS_SECONDARYSTEREO 0x00000200
-#define DSCAPS_SECONDARY8BIT 0x00000400
-#define DSCAPS_SECONDARY16BIT 0x00000800
-
-#define DSSCL_NORMAL 0x00000001
-#define DSSCL_PRIORITY 0x00000002
-#define DSSCL_EXCLUSIVE 0x00000003
-#define DSSCL_WRITEPRIMARY 0x00000004
-
-#define DSSPEAKER_DIRECTOUT 0x00000000
-#define DSSPEAKER_HEADPHONE 0x00000001
-#define DSSPEAKER_MONO 0x00000002
-#define DSSPEAKER_QUAD 0x00000003
-#define DSSPEAKER_STEREO 0x00000004
-#define DSSPEAKER_SURROUND 0x00000005
-#define DSSPEAKER_5POINT1 0x00000006
-#define DSSPEAKER_7POINT1 0x00000007
-
-#define DSSPEAKER_GEOMETRY_MIN 0x00000005 // 5 degrees
-#define DSSPEAKER_GEOMETRY_NARROW 0x0000000A // 10 degrees
-#define DSSPEAKER_GEOMETRY_WIDE 0x00000014 // 20 degrees
-#define DSSPEAKER_GEOMETRY_MAX 0x000000B4 // 180 degrees
-
-#define DSSPEAKER_COMBINED(c, g) ((DWORD)(((BYTE)(c)) | ((DWORD)((BYTE)(g))) << 16))
-#define DSSPEAKER_CONFIG(a) ((BYTE)(a))
-#define DSSPEAKER_GEOMETRY(a) ((BYTE)(((DWORD)(a) >> 16) & 0x00FF))
-
-#define DSBCAPS_PRIMARYBUFFER 0x00000001
-#define DSBCAPS_STATIC 0x00000002
-#define DSBCAPS_LOCHARDWARE 0x00000004
-#define DSBCAPS_LOCSOFTWARE 0x00000008
-#define DSBCAPS_CTRL3D 0x00000010
-#define DSBCAPS_CTRLFREQUENCY 0x00000020
-#define DSBCAPS_CTRLPAN 0x00000040
-#define DSBCAPS_CTRLVOLUME 0x00000080
-#define DSBCAPS_CTRLPOSITIONNOTIFY 0x00000100
-#define DSBCAPS_CTRLFX 0x00000200
-#define DSBCAPS_STICKYFOCUS 0x00004000
-#define DSBCAPS_GLOBALFOCUS 0x00008000
-#define DSBCAPS_GETCURRENTPOSITION2 0x00010000
-#define DSBCAPS_MUTE3DATMAXDISTANCE 0x00020000
-#define DSBCAPS_LOCDEFER 0x00040000
-
-#define DSBPLAY_LOOPING 0x00000001
-#define DSBPLAY_LOCHARDWARE 0x00000002
-#define DSBPLAY_LOCSOFTWARE 0x00000004
-#define DSBPLAY_TERMINATEBY_TIME 0x00000008
-#define DSBPLAY_TERMINATEBY_DISTANCE 0x000000010
-#define DSBPLAY_TERMINATEBY_PRIORITY 0x000000020
-
-#define DSBSTATUS_PLAYING 0x00000001
-#define DSBSTATUS_BUFFERLOST 0x00000002
-#define DSBSTATUS_LOOPING 0x00000004
-#define DSBSTATUS_LOCHARDWARE 0x00000008
-#define DSBSTATUS_LOCSOFTWARE 0x00000010
-#define DSBSTATUS_TERMINATED 0x00000020
-
-#define DSBLOCK_FROMWRITECURSOR 0x00000001
-#define DSBLOCK_ENTIREBUFFER 0x00000002
-
-#define DSBFREQUENCY_ORIGINAL 0
-#define DSBFREQUENCY_MIN 100
-#if DIRECTSOUND_VERSION >= 0x0900
-#define DSBFREQUENCY_MAX 200000
-#else
-#define DSBFREQUENCY_MAX 100000
-#endif
-
-#define DSBPAN_LEFT -10000
-#define DSBPAN_CENTER 0
-#define DSBPAN_RIGHT 10000
-
-#define DSBVOLUME_MIN -10000
-#define DSBVOLUME_MAX 0
-
-#define DSBSIZE_MIN 4
-#define DSBSIZE_MAX 0x0FFFFFFF
-#define DSBSIZE_FX_MIN 150 // NOTE: Milliseconds, not bytes
-
-#define DS3DMODE_NORMAL 0x00000000
-#define DS3DMODE_HEADRELATIVE 0x00000001
-#define DS3DMODE_DISABLE 0x00000002
-
-#define DS3D_IMMEDIATE 0x00000000
-#define DS3D_DEFERRED 0x00000001
-
-#define DS3D_MINDISTANCEFACTOR FLT_MIN
-#define DS3D_MAXDISTANCEFACTOR FLT_MAX
-#define DS3D_DEFAULTDISTANCEFACTOR 1.0f
-
-#define DS3D_MINROLLOFFFACTOR 0.0f
-#define DS3D_MAXROLLOFFFACTOR 10.0f
-#define DS3D_DEFAULTROLLOFFFACTOR 1.0f
-
-#define DS3D_MINDOPPLERFACTOR 0.0f
-#define DS3D_MAXDOPPLERFACTOR 10.0f
-#define DS3D_DEFAULTDOPPLERFACTOR 1.0f
-
-#define DS3D_DEFAULTMINDISTANCE 1.0f
-#define DS3D_DEFAULTMAXDISTANCE 1000000000.0f
-
-#define DS3D_MINCONEANGLE 0
-#define DS3D_MAXCONEANGLE 360
-#define DS3D_DEFAULTCONEANGLE 360
-
-#define DS3D_DEFAULTCONEOUTSIDEVOLUME DSBVOLUME_MAX
-
-// IDirectSoundCapture attributes
-
-#define DSCCAPS_EMULDRIVER DSCAPS_EMULDRIVER
-#define DSCCAPS_CERTIFIED DSCAPS_CERTIFIED
-#define DSCCAPS_MULTIPLECAPTURE 0x00000001
-
-// IDirectSoundCaptureBuffer attributes
-
-#define DSCBCAPS_WAVEMAPPED 0x80000000
-
-#if DIRECTSOUND_VERSION >= 0x0800
-#define DSCBCAPS_CTRLFX 0x00000200
-#endif
-
-
-#define DSCBLOCK_ENTIREBUFFER 0x00000001
-
-#define DSCBSTATUS_CAPTURING 0x00000001
-#define DSCBSTATUS_LOOPING 0x00000002
-
-#define DSCBSTART_LOOPING 0x00000001
-
-#define DSBPN_OFFSETSTOP 0xFFFFFFFF
-
-#define DS_CERTIFIED 0x00000000
-#define DS_UNCERTIFIED 0x00000001
-
-
-//
-// Flags for the I3DL2 effects
-//
-
-//
-// I3DL2 Material Presets
-//
-
-enum
-{
- DSFX_I3DL2_MATERIAL_PRESET_SINGLEWINDOW,
- DSFX_I3DL2_MATERIAL_PRESET_DOUBLEWINDOW,
- DSFX_I3DL2_MATERIAL_PRESET_THINDOOR,
- DSFX_I3DL2_MATERIAL_PRESET_THICKDOOR,
- DSFX_I3DL2_MATERIAL_PRESET_WOODWALL,
- DSFX_I3DL2_MATERIAL_PRESET_BRICKWALL,
- DSFX_I3DL2_MATERIAL_PRESET_STONEWALL,
- DSFX_I3DL2_MATERIAL_PRESET_CURTAIN
-};
-
-#define I3DL2_MATERIAL_PRESET_SINGLEWINDOW -2800,0.71f
-#define I3DL2_MATERIAL_PRESET_DOUBLEWINDOW -5000,0.40f
-#define I3DL2_MATERIAL_PRESET_THINDOOR -1800,0.66f
-#define I3DL2_MATERIAL_PRESET_THICKDOOR -4400,0.64f
-#define I3DL2_MATERIAL_PRESET_WOODWALL -4000,0.50f
-#define I3DL2_MATERIAL_PRESET_BRICKWALL -5000,0.60f
-#define I3DL2_MATERIAL_PRESET_STONEWALL -6000,0.68f
-#define I3DL2_MATERIAL_PRESET_CURTAIN -1200,0.15f
-
-enum
-{
- DSFX_I3DL2_ENVIRONMENT_PRESET_DEFAULT,
- DSFX_I3DL2_ENVIRONMENT_PRESET_GENERIC,
- DSFX_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL,
- DSFX_I3DL2_ENVIRONMENT_PRESET_ROOM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_BATHROOM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_STONEROOM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL,
- DSFX_I3DL2_ENVIRONMENT_PRESET_CAVE,
- DSFX_I3DL2_ENVIRONMENT_PRESET_ARENA,
- DSFX_I3DL2_ENVIRONMENT_PRESET_HANGAR,
- DSFX_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY,
- DSFX_I3DL2_ENVIRONMENT_PRESET_HALLWAY,
- DSFX_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR,
- DSFX_I3DL2_ENVIRONMENT_PRESET_ALLEY,
- DSFX_I3DL2_ENVIRONMENT_PRESET_FOREST,
- DSFX_I3DL2_ENVIRONMENT_PRESET_CITY,
- DSFX_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS,
- DSFX_I3DL2_ENVIRONMENT_PRESET_QUARRY,
- DSFX_I3DL2_ENVIRONMENT_PRESET_PLAIN,
- DSFX_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT,
- DSFX_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE,
- DSFX_I3DL2_ENVIRONMENT_PRESET_UNDERWATER,
- DSFX_I3DL2_ENVIRONMENT_PRESET_SMALLROOM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEROOM,
- DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL,
- DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEHALL,
- DSFX_I3DL2_ENVIRONMENT_PRESET_PLATE
-};
-
-//
-// I3DL2 Reverberation Presets Values
-//
-
-#define I3DL2_ENVIRONMENT_PRESET_DEFAULT -1000, -100, 0.0f, 1.49f, 0.83f, -2602, 0.007f, 200, 0.011f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_GENERIC -1000, -100, 0.0f, 1.49f, 0.83f, -2602, 0.007f, 200, 0.011f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_PADDEDCELL -1000,-6000, 0.0f, 0.17f, 0.10f, -1204, 0.001f, 207, 0.002f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_ROOM -1000, -454, 0.0f, 0.40f, 0.83f, -1646, 0.002f, 53, 0.003f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_BATHROOM -1000,-1200, 0.0f, 1.49f, 0.54f, -370, 0.007f, 1030, 0.011f, 100.0f, 60.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_LIVINGROOM -1000,-6000, 0.0f, 0.50f, 0.10f, -1376, 0.003f, -1104, 0.004f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_STONEROOM -1000, -300, 0.0f, 2.31f, 0.64f, -711, 0.012f, 83, 0.017f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_AUDITORIUM -1000, -476, 0.0f, 4.32f, 0.59f, -789, 0.020f, -289, 0.030f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_CONCERTHALL -1000, -500, 0.0f, 3.92f, 0.70f, -1230, 0.020f, -2, 0.029f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_CAVE -1000, 0, 0.0f, 2.91f, 1.30f, -602, 0.015f, -302, 0.022f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_ARENA -1000, -698, 0.0f, 7.24f, 0.33f, -1166, 0.020f, 16, 0.030f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_HANGAR -1000,-1000, 0.0f,10.05f, 0.23f, -602, 0.020f, 198, 0.030f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY -1000,-4000, 0.0f, 0.30f, 0.10f, -1831, 0.002f, -1630, 0.030f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_HALLWAY -1000, -300, 0.0f, 1.49f, 0.59f, -1219, 0.007f, 441, 0.011f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR -1000, -237, 0.0f, 2.70f, 0.79f, -1214, 0.013f, 395, 0.020f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_ALLEY -1000, -270, 0.0f, 1.49f, 0.86f, -1204, 0.007f, -4, 0.011f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_FOREST -1000,-3300, 0.0f, 1.49f, 0.54f, -2560, 0.162f, -613, 0.088f, 79.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_CITY -1000, -800, 0.0f, 1.49f, 0.67f, -2273, 0.007f, -2217, 0.011f, 50.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_MOUNTAINS -1000,-2500, 0.0f, 1.49f, 0.21f, -2780, 0.300f, -2014, 0.100f, 27.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_QUARRY -1000,-1000, 0.0f, 1.49f, 0.83f,-10000, 0.061f, 500, 0.025f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_PLAIN -1000,-2000, 0.0f, 1.49f, 0.50f, -2466, 0.179f, -2514, 0.100f, 21.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_PARKINGLOT -1000, 0, 0.0f, 1.65f, 1.50f, -1363, 0.008f, -1153, 0.012f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_SEWERPIPE -1000,-1000, 0.0f, 2.81f, 0.14f, 429, 0.014f, 648, 0.021f, 80.0f, 60.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_UNDERWATER -1000,-4000, 0.0f, 1.49f, 0.10f, -449, 0.007f, 1700, 0.011f, 100.0f, 100.0f, 5000.0f
-
-//
-// Examples simulating 'musical' reverb presets
-//
-// Name Decay time Description
-// Small Room 1.1s A small size room with a length of 5m or so.
-// Medium Room 1.3s A medium size room with a length of 10m or so.
-// Large Room 1.5s A large size room suitable for live performances.
-// Medium Hall 1.8s A medium size concert hall.
-// Large Hall 1.8s A large size concert hall suitable for a full orchestra.
-// Plate 1.3s A plate reverb simulation.
-//
-
-#define I3DL2_ENVIRONMENT_PRESET_SMALLROOM -1000, -600, 0.0f, 1.10f, 0.83f, -400, 0.005f, 500, 0.010f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM -1000, -600, 0.0f, 1.30f, 0.83f, -1000, 0.010f, -200, 0.020f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_LARGEROOM -1000, -600, 0.0f, 1.50f, 0.83f, -1600, 0.020f, -1000, 0.040f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL -1000, -600, 0.0f, 1.80f, 0.70f, -1300, 0.015f, -800, 0.030f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_LARGEHALL -1000, -600, 0.0f, 1.80f, 0.70f, -2000, 0.030f, -1400, 0.060f, 100.0f, 100.0f, 5000.0f
-#define I3DL2_ENVIRONMENT_PRESET_PLATE -1000, -200, 0.0f, 1.30f, 0.90f, 0, 0.002f, 0, 0.010f, 100.0f, 75.0f, 5000.0f
-
-//
-// DirectSound3D Algorithms
-//
-
-// Default DirectSound3D algorithm {00000000-0000-0000-0000-000000000000}
-#define DS3DALG_DEFAULT GUID_NULL
-
-// No virtualization (Pan3D) {C241333F-1C1B-11d2-94F5-00C04FC28ACA}
-DEFINE_GUID(DS3DALG_NO_VIRTUALIZATION, 0xc241333f, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
-
-// High-quality HRTF algorithm {C2413340-1C1B-11d2-94F5-00C04FC28ACA}
-DEFINE_GUID(DS3DALG_HRTF_FULL, 0xc2413340, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
-
-// Lower-quality HRTF algorithm {C2413342-1C1B-11d2-94F5-00C04FC28ACA}
-DEFINE_GUID(DS3DALG_HRTF_LIGHT, 0xc2413342, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
-
-
-#if DIRECTSOUND_VERSION >= 0x0800
-
-//
-// DirectSound Internal Effect Algorithms
-//
-
-
-// Gargle {DAFD8210-5711-4B91-9FE3-F75B7AE279BF}
-DEFINE_GUID(GUID_DSFX_STANDARD_GARGLE, 0xdafd8210, 0x5711, 0x4b91, 0x9f, 0xe3, 0xf7, 0x5b, 0x7a, 0xe2, 0x79, 0xbf);
-
-// Chorus {EFE6629C-81F7-4281-BD91-C9D604A95AF6}
-DEFINE_GUID(GUID_DSFX_STANDARD_CHORUS, 0xefe6629c, 0x81f7, 0x4281, 0xbd, 0x91, 0xc9, 0xd6, 0x04, 0xa9, 0x5a, 0xf6);
-
-// Flanger {EFCA3D92-DFD8-4672-A603-7420894BAD98}
-DEFINE_GUID(GUID_DSFX_STANDARD_FLANGER, 0xefca3d92, 0xdfd8, 0x4672, 0xa6, 0x03, 0x74, 0x20, 0x89, 0x4b, 0xad, 0x98);
-
-// Echo/Delay {EF3E932C-D40B-4F51-8CCF-3F98F1B29D5D}
-DEFINE_GUID(GUID_DSFX_STANDARD_ECHO, 0xef3e932c, 0xd40b, 0x4f51, 0x8c, 0xcf, 0x3f, 0x98, 0xf1, 0xb2, 0x9d, 0x5d);
-
-// Distortion {EF114C90-CD1D-484E-96E5-09CFAF912A21}
-DEFINE_GUID(GUID_DSFX_STANDARD_DISTORTION, 0xef114c90, 0xcd1d, 0x484e, 0x96, 0xe5, 0x09, 0xcf, 0xaf, 0x91, 0x2a, 0x21);
-
-// Compressor/Limiter {EF011F79-4000-406D-87AF-BFFB3FC39D57}
-DEFINE_GUID(GUID_DSFX_STANDARD_COMPRESSOR, 0xef011f79, 0x4000, 0x406d, 0x87, 0xaf, 0xbf, 0xfb, 0x3f, 0xc3, 0x9d, 0x57);
-
-// Parametric Equalization {120CED89-3BF4-4173-A132-3CB406CF3231}
-DEFINE_GUID(GUID_DSFX_STANDARD_PARAMEQ, 0x120ced89, 0x3bf4, 0x4173, 0xa1, 0x32, 0x3c, 0xb4, 0x06, 0xcf, 0x32, 0x31);
-
-// I3DL2 Environmental Reverberation: Reverb (Listener) Effect {EF985E71-D5C7-42D4-BA4D-2D073E2E96F4}
-DEFINE_GUID(GUID_DSFX_STANDARD_I3DL2REVERB, 0xef985e71, 0xd5c7, 0x42d4, 0xba, 0x4d, 0x2d, 0x07, 0x3e, 0x2e, 0x96, 0xf4);
-
-// Waves Reverberation {87FC0268-9A55-4360-95AA-004A1D9DE26C}
-DEFINE_GUID(GUID_DSFX_WAVES_REVERB, 0x87fc0268, 0x9a55, 0x4360, 0x95, 0xaa, 0x00, 0x4a, 0x1d, 0x9d, 0xe2, 0x6c);
-
-//
-// DirectSound Capture Effect Algorithms
-//
-
-
-// Acoustic Echo Canceller {BF963D80-C559-11D0-8A2B-00A0C9255AC1}
-// Matches KSNODETYPE_ACOUSTIC_ECHO_CANCEL in ksmedia.h
-DEFINE_GUID(GUID_DSCFX_CLASS_AEC, 0xBF963D80L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1);
-
-// Microsoft AEC {CDEBB919-379A-488a-8765-F53CFD36DE40}
-DEFINE_GUID(GUID_DSCFX_MS_AEC, 0xcdebb919, 0x379a, 0x488a, 0x87, 0x65, 0xf5, 0x3c, 0xfd, 0x36, 0xde, 0x40);
-
-// System AEC {1C22C56D-9879-4f5b-A389-27996DDC2810}
-DEFINE_GUID(GUID_DSCFX_SYSTEM_AEC, 0x1c22c56d, 0x9879, 0x4f5b, 0xa3, 0x89, 0x27, 0x99, 0x6d, 0xdc, 0x28, 0x10);
-
-// Noise Supression {E07F903F-62FD-4e60-8CDD-DEA7236665B5}
-// Matches KSNODETYPE_NOISE_SUPPRESS in post Windows ME DDK's ksmedia.h
-DEFINE_GUID(GUID_DSCFX_CLASS_NS, 0xe07f903f, 0x62fd, 0x4e60, 0x8c, 0xdd, 0xde, 0xa7, 0x23, 0x66, 0x65, 0xb5);
-
-// Microsoft Noise Suppresion {11C5C73B-66E9-4ba1-A0BA-E814C6EED92D}
-DEFINE_GUID(GUID_DSCFX_MS_NS, 0x11c5c73b, 0x66e9, 0x4ba1, 0xa0, 0xba, 0xe8, 0x14, 0xc6, 0xee, 0xd9, 0x2d);
-
-// System Noise Suppresion {5AB0882E-7274-4516-877D-4EEE99BA4FD0}
-DEFINE_GUID(GUID_DSCFX_SYSTEM_NS, 0x5ab0882e, 0x7274, 0x4516, 0x87, 0x7d, 0x4e, 0xee, 0x99, 0xba, 0x4f, 0xd0);
-
-#endif // DIRECTSOUND_VERSION >= 0x0800
-
-#endif // __DSOUND_INCLUDED__
-
-
-
-#ifdef __cplusplus
-};
-#endif // __cplusplus
-
-
diff --git a/plugins/!NotAdopted/sndVol/dxerr8.h b/plugins/!NotAdopted/sndVol/dxerr8.h
deleted file mode 100644
index c2744306e2..0000000000
--- a/plugins/!NotAdopted/sndVol/dxerr8.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*==========================================================================;
- *
- *
- * File: dxerr8.h
- * Content: DirectX Error Library Include File
- *
- ****************************************************************************/
-
-#ifndef _DXERR8_H_
-#define _DXERR8_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif //__cplusplus
-
-//
-// DXGetErrorString8
-//
-// Desc: Converts a DirectX HRESULT to a string
-//
-// Args: HRESULT hr Can be any error code from
-// D3D8 D3DX8 DDRAW DPLAY8 DMUSIC DSOUND DINPUT DSHOW
-//
-// Return: Converted string
-//
-const char* WINAPI DXGetErrorString8A(HRESULT hr);
-const WCHAR* WINAPI DXGetErrorString8W(HRESULT hr);
-
-#ifdef UNICODE
-#define DXGetErrorString8 DXGetErrorString8W
-#else
-#define DXGetErrorString8 DXGetErrorString8A
-#endif
-
-
-//
-// DXGetErrorDescription8
-//
-// Desc: Returns a string description of a DirectX HRESULT
-//
-// Args: HRESULT hr Can be any error code from
-// D3D8 D3DX8 DDRAW DPLAY8 DMUSIC DSOUND DINPUT DSHOW
-//
-// Return: String description
-//
-const char* WINAPI DXGetErrorDescription8A(HRESULT hr);
-const WCHAR* WINAPI DXGetErrorDescription8W(HRESULT hr);
-
-#ifdef UNICODE
- #define DXGetErrorDescription8 DXGetErrorDescription8W
-#else
- #define DXGetErrorDescription8 DXGetErrorDescription8A
-#endif
-
-
-//
-// DXTrace
-//
-// Desc: Outputs a formatted error message to the debug stream
-//
-// Args: CHAR* strFile The current file, typically passed in using the
-// __FILE__ macro.
-// DWORD dwLine The current line number, typically passed in using the
-// __LINE__ macro.
-// HRESULT hr An HRESULT that will be traced to the debug stream.
-// CHAR* strMsg A string that will be traced to the debug stream (may be NULL)
-// BOOL bPopMsgBox If TRUE, then a message box will popup also containing the passed info.
-//
-// Return: The hr that was passed in.
-//
-HRESULT WINAPI DXTraceA( const char* strFile, DWORD dwLine, HRESULT hr, const char* strMsg, BOOL bPopMsgBox );
-HRESULT WINAPI DXTraceW( const char* strFile, DWORD dwLine, HRESULT hr, const WCHAR* strMsg, BOOL bPopMsgBox );
-
-#ifdef UNICODE
-#define DXTrace DXTraceW
-#else
-#define DXTrace DXTraceA
-#endif
-
-
-//
-// Helper macros
-//
-#if defined(DEBUG) | defined(_DEBUG)
-#define DXTRACE_MSG(str) DXTrace( __FILE__, (DWORD)__LINE__, 0, str, FALSE )
-#define DXTRACE_ERR(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, TRUE )
-#define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace( __FILE__, (DWORD)__LINE__, hr, str, FALSE )
-#else
-#define DXTRACE_MSG(str) (0L)
-#define DXTRACE_ERR(str,hr) (hr)
-#define DXTRACE_ERR_NOMSGBOX(str,hr) (hr)
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif //__cplusplus
-
-#endif // _DXERR8_H_
diff --git a/plugins/!NotAdopted/sndVol/dxguid.lib b/plugins/!NotAdopted/sndVol/dxguid.lib
deleted file mode 100644
index 53b96d26b2..0000000000
--- a/plugins/!NotAdopted/sndVol/dxguid.lib
+++ /dev/null
Binary files differ
diff --git a/plugins/!NotAdopted/sndVol/dxutil.cpp b/plugins/!NotAdopted/sndVol/dxutil.cpp
deleted file mode 100644
index 7cf3ecd863..0000000000
--- a/plugins/!NotAdopted/sndVol/dxutil.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-//-----------------------------------------------------------------------------
-// File: DXUtil.cpp
-//
-// Desc: Shortcut macros and functions for using DX objects
-//
-//
-// Copyright (c) 1997-2001 Microsoft Corporation. All rights reserved
-//-----------------------------------------------------------------------------
-#define STRICT
-#include <windows.h>
-#include <mmsystem.h>
-#include <tchar.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include "DXUtil.h"
-
-//-----------------------------------------------------------------------------
-// Name: DXUtil_ConvertAnsiStringToWide()
-// Desc: This is a UNICODE conversion utility to convert a CHAR string into a
-// WCHAR string. cchDestChar defaults -1 which means it
-// assumes strDest is large enough to store strSource
-//-----------------------------------------------------------------------------
-VOID DXUtil_ConvertAnsiStringToWide( WCHAR* wstrDestination, const CHAR* strSource,
- int cchDestChar )
-{
- if( wstrDestination==NULL || strSource==NULL )
- return;
-
- if( cchDestChar == -1 )
- cchDestChar = strlen(strSource)+1;
-
- MultiByteToWideChar( CP_ACP, 0, strSource, -1,
- wstrDestination, cchDestChar-1 );
-
- wstrDestination[cchDestChar-1] = 0;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: DXUtil_ConvertWideStringToAnsi()
-// Desc: This is a UNICODE conversion utility to convert a WCHAR string into a
-// CHAR string. cchDestChar defaults -1 which means it
-// assumes strDest is large enough to store strSource
-//-----------------------------------------------------------------------------
-VOID DXUtil_ConvertWideStringToAnsi( CHAR* strDestination, const WCHAR* wstrSource,
- int cchDestChar )
-{
- if( strDestination==NULL || wstrSource==NULL )
- return;
-
- if( cchDestChar == -1 )
- cchDestChar = wcslen(wstrSource)+1;
-
- WideCharToMultiByte( CP_ACP, 0, wstrSource, -1, strDestination,
- cchDestChar-1, NULL, NULL );
-
- strDestination[cchDestChar-1] = 0;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: DXUtil_ConvertGenericStringToAnsi()
-// Desc: This is a UNICODE conversion utility to convert a TCHAR string into a
-// CHAR string. cchDestChar defaults -1 which means it
-// assumes strDest is large enough to store strSource
-//-----------------------------------------------------------------------------
-VOID DXUtil_ConvertGenericStringToAnsi( CHAR* strDestination, const TCHAR* tstrSource,
- int cchDestChar )
-{
- if( strDestination==NULL || tstrSource==NULL || cchDestChar == 0 )
- return;
-
-#ifdef _UNICODE
- DXUtil_ConvertWideStringToAnsi( strDestination, tstrSource, cchDestChar );
-#else
- if( cchDestChar == -1 )
- {
- strcpy( strDestination, tstrSource );
- }
- else
- {
- strncpy( strDestination, tstrSource, cchDestChar );
- strDestination[cchDestChar-1] = '\0';
- }
-#endif
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: DXUtil_ConvertGenericStringToWide()
-// Desc: This is a UNICODE conversion utility to convert a TCHAR string into a
-// WCHAR string. cchDestChar defaults -1 which means it
-// assumes strDest is large enough to store strSource
-//-----------------------------------------------------------------------------
-VOID DXUtil_ConvertGenericStringToWide( WCHAR* wstrDestination, const TCHAR* tstrSource,
- int cchDestChar )
-{
- if( wstrDestination==NULL || tstrSource==NULL || cchDestChar == 0 )
- return;
-
-#ifdef _UNICODE
- if( cchDestChar == -1 )
- {
- wcscpy( wstrDestination, tstrSource );
- }
- else
- {
- wcsncpy( wstrDestination, tstrSource, cchDestChar );
- wstrDestination[cchDestChar-1] = L'\0';
- }
-#else
- DXUtil_ConvertAnsiStringToWide( wstrDestination, tstrSource, cchDestChar );
-#endif
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: DXUtil_ConvertAnsiStringToGeneric()
-// Desc: This is a UNICODE conversion utility to convert a CHAR string into a
-// TCHAR string. cchDestChar defaults -1 which means it
-// assumes strDest is large enough to store strSource
-//-----------------------------------------------------------------------------
-VOID DXUtil_ConvertAnsiStringToGeneric( TCHAR* tstrDestination, const CHAR* strSource,
- int cchDestChar )
-{
- if( tstrDestination==NULL || strSource==NULL || cchDestChar == 0 )
- return;
-
-#ifdef _UNICODE
- DXUtil_ConvertAnsiStringToWide( tstrDestination, strSource, cchDestChar );
-#else
- if( cchDestChar == -1 )
- {
- strcpy( tstrDestination, strSource );
- }
- else
- {
- strncpy( tstrDestination, strSource, cchDestChar );
- tstrDestination[cchDestChar-1] = '\0';
- }
-#endif
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: DXUtil_ConvertAnsiStringToGeneric()
-// Desc: This is a UNICODE conversion utility to convert a WCHAR string into a
-// TCHAR string. cchDestChar defaults -1 which means it
-// assumes strDest is large enough to store strSource
-//-----------------------------------------------------------------------------
-VOID DXUtil_ConvertWideStringToGeneric( TCHAR* tstrDestination, const WCHAR* wstrSource,
- int cchDestChar )
-{
- if( tstrDestination==NULL || wstrSource==NULL || cchDestChar == 0 )
- return;
-
-#ifdef _UNICODE
- if( cchDestChar == -1 )
- {
- wcscpy( tstrDestination, wstrSource );
- }
- else
- {
- wcsncpy( tstrDestination, wstrSource, cchDestChar );
- tstrDestination[cchDestChar-1] = L'\0';
- }
-#else
- DXUtil_ConvertWideStringToAnsi( tstrDestination, wstrSource, cchDestChar );
-#endif
-}
-
-//-----------------------------------------------------------------------------
-// Name: _DbgOut()
-// Desc: Outputs a message to the debug stream
-//-----------------------------------------------------------------------------
-HRESULT _DbgOut( TCHAR* strFile, DWORD dwLine, HRESULT hr, TCHAR* strMsg )
-{
- TCHAR buffer[256];
- wsprintf( buffer, _T("%s(%ld): "), strFile, dwLine );
- OutputDebugString( buffer );
- OutputDebugString( strMsg );
-
- if( hr )
- {
- wsprintf( buffer, _T("(hr=%08lx)\n"), hr );
- OutputDebugString( buffer );
- }
-
- OutputDebugString( _T("\n") );
-
- return hr;
-}
-
-
-
-
-//-----------------------------------------------------------------------------
-// Name: DXUtil_Trace()
-// Desc: Outputs to the debug stream a formatted string with a variable-
-// argument list.
-//-----------------------------------------------------------------------------
-VOID DXUtil_Trace( TCHAR* strMsg, ... )
-{
-#if defined(DEBUG) | defined(_DEBUG)
- TCHAR strBuffer[512];
-
- va_list args;
- va_start(args, strMsg);
- _vsntprintf( strBuffer, 512, strMsg, args );
- va_end(args);
-
- OutputDebugString( strBuffer );
-#else
- UNREFERENCED_PARAMETER(strMsg);
-#endif
-}
diff --git a/plugins/!NotAdopted/sndVol/dxutil.h b/plugins/!NotAdopted/sndVol/dxutil.h
deleted file mode 100644
index cfded98bcd..0000000000
--- a/plugins/!NotAdopted/sndVol/dxutil.h
+++ /dev/null
@@ -1,49 +0,0 @@
-//-----------------------------------------------------------------------------
-// File: DXUtil.h
-//
-// Desc: Helper functions and typing shortcuts for DirectX programming.
-//
-// Copyright (c) 1997-2001 Microsoft Corporation. All rights reserved
-//-----------------------------------------------------------------------------
-#ifndef DXUTIL_H
-#define DXUTIL_H
-
-//-----------------------------------------------------------------------------
-// UNICODE support for converting between CHAR, TCHAR, and WCHAR strings
-//-----------------------------------------------------------------------------
-VOID DXUtil_ConvertAnsiStringToWide( WCHAR* wstrDestination, const CHAR* strSource, int cchDestChar = -1 );
-VOID DXUtil_ConvertWideStringToAnsi( CHAR* strDestination, const WCHAR* wstrSource, int cchDestChar = -1 );
-VOID DXUtil_ConvertGenericStringToAnsi( CHAR* strDestination, const TCHAR* tstrSource, int cchDestChar = -1 );
-VOID DXUtil_ConvertGenericStringToWide( WCHAR* wstrDestination, const TCHAR* tstrSource, int cchDestChar = -1 );
-VOID DXUtil_ConvertAnsiStringToGeneric( TCHAR* tstrDestination, const CHAR* strSource, int cchDestChar = -1 );
-VOID DXUtil_ConvertWideStringToGeneric( TCHAR* tstrDestination, const WCHAR* wstrSource, int cchDestChar = -1 );
-
-//-----------------------------------------------------------------------------
-// Miscellaneous helper functions
-//-----------------------------------------------------------------------------
-#define SAFE_DELETE(p) { if(p) { delete (p); (p)=NULL; } }
-#define SAFE_DELETE_ARRAY(p) { if(p) { delete[] (p); (p)=NULL; } }
-#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
-
-//-----------------------------------------------------------------------------
-// Debug printing support
-//-----------------------------------------------------------------------------
-VOID DXUtil_Trace( TCHAR* strMsg, ... );
-HRESULT _DbgOut( TCHAR*, DWORD, HRESULT, TCHAR* );
-
-#if defined(DEBUG) | defined(_DEBUG)
- #define DXTRACE DXUtil_Trace
-#else
- #define DXTRACE sizeof
-#endif
-
-#if defined(DEBUG) | defined(_DEBUG)
- #define DEBUG_MSG(str) _DbgOut( __FILE__, (DWORD)__LINE__, 0, str )
-#else
- #define DEBUG_MSG(str) (0L)
-#endif
-
-
-
-
-#endif // DXUTIL_H
diff --git a/plugins/!NotAdopted/sndVol/m_cluiframes.h b/plugins/!NotAdopted/sndVol/m_cluiframes.h
deleted file mode 100644
index d046439346..0000000000
--- a/plugins/!NotAdopted/sndVol/m_cluiframes.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
-Miranda ICQ: the free icq client for MS Windows
-Copyright (C) 2000-2 Richard Hughes, Roland Rabien & Tristan Van de Vreede
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-//#include "../../core/commonheaders.h"
-//#pragma hdrstop
-
-//adds a frame window
-//wParam=(CLISTFrame*)
-//lParam=0
-//returns an integer, the frame id.
-typedef struct tagCLISTFrame {
- DWORD cbSize;
- HWND hWnd ;
- HICON hIcon;
- int align; //al flags below
- int height;
- int Flags; //F_flags below
- char *name; //frame window name,will be shown in menu
- char *TBname; //titlebar caption
- //COLORREF TBBackColour; //titlebar background colour
-} CLISTFrame;
-#define F_VISIBLE 1 //Frame visible
-#define F_SHOWTB 2 //Show TitleBar
-#define F_UNCOLLAPSED 4 //UnCollapse frame
-#define F_LOCKED 8 //Lock Frame
-#define F_NOBORDER 16 //Dont apply WS_BORDER style for window
-#define F_SHOWTBTIP 32 //Show titlebar tooltip
-
-
-// frame alignment
-#define alTop 0x00000001
-#define alBottom 0x00000002
-#define alClient 0x00000004 //only one alClient frame
-#define MS_CLIST_FRAMES_ADDFRAME "CListFrames/AddFrame"
-
-#define MS_CLIST_FRAMES_REMOVEFRAME "CListFrames/RemoveFrame"
-
-//shows all frames
-//wParam=lParam=0
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_SHOWALLFRAMES "CListFrames/ShowALLFrames"
-
-//shows the titlebars of all frames
-//wParam=lParam=0
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_SHOWALLFRAMESTB "CListFrames/ShowALLFramesTB"
-
-//hides the titlebars of all frames
-//wParam=lParam=0
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_HIDEALLFRAMESTB "CListFrames/HideALLFramesTB"
-
-//shows the frame if it is hidden,
-//hides the frame if it is shown
-//wParam=FrameId
-//lParam=0
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_SHFRAME "CListFrames/SHFrame"
-
-//shows the frame titlebar if it is hidden,
-//hides the frame titlebar if it is shown
-//wParam=FrameId
-//lParam=0
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_SHFRAMETITLEBAR "CListFrame/SHFrameTitleBar"
-
-//locks the frame if it is unlocked,
-//unlock the frame if it is locked
-//wParam=FrameId
-//lParam=0
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_ULFRAME "CListFrame/ULFrame"
-
-//collapses the frame if it is uncollapsed,
-//uncollapses the frame if it is collapsed
-//wParam=FrameId
-//lParam=0
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_UCOLLFRAME "CListFrame/UCOLLFrame"
-
-//redraws the frame
-//wParam=FrameId, -1 for all frames
-//lparam=FU_flags
-//returns a pointer to option, -1 on failure
-#define FU_TBREDRAW 1 //redraw titlebar
-#define FU_FMREDRAW 2 //redraw Frame
-#define FU_FMPOS 4 //update Frame position
-#define MS_CLIST_FRAMES_UPDATEFRAME "CListFrame/UpdateFrame"
-
-//gets the frame options
-//(HIWORLD)wParam=FrameId
-//(LOWORD)wParam=FO_flag
-//lParam=0
-//returns a pointer to option, -1 on failure
-#define FO_FLAGS 0x0001 //return set of F_VISIBLE,F_SHOWTB,F_UNCOLLAPSED,F_LOCKED,F_NOBORDER,F_SHOWTBTIP
-#define FO_NAME 0x0002 //Change name
-#define FO_TBNAME 0x0003 //Change TB caption
-#define FO_TBSTYLE 0x0004 //Change TB style
-#define FO_TBEXSTYLE 0x0005 //Change TB exstyle
-#define FO_ICON 0x0006 //Change icon
-#define FO_HEIGHT 0x0007 //Change height
-#define FO_ALIGN 0x0008 //Change align
-#define FO_TBTIPNAME 0x0009 //Change TB tooltip
-
-#define MS_CLIST_FRAMES_GETFRAMEOPTIONS "CListFrame/GetFrameOptions"
-
-//sets the frame options
-//(HIWORLD)wParam=FrameId
-//(LOWORD)wParam=FO_flag
-//lParam=value
-//returns 0 on success, -1 on failure
-#define MS_CLIST_FRAMES_SETFRAMEOPTIONS "CListFrame/SetFrameOptions"
diff --git a/plugins/!NotAdopted/sndVol/mradio-muted.ico b/plugins/!NotAdopted/sndVol/mradio-muted.ico
deleted file mode 100644
index 4efbca899c..0000000000
--- a/plugins/!NotAdopted/sndVol/mradio-muted.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/!NotAdopted/sndVol/mradio.ico b/plugins/!NotAdopted/sndVol/mradio.ico
deleted file mode 100644
index e95c6fe21a..0000000000
--- a/plugins/!NotAdopted/sndVol/mradio.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/!NotAdopted/sndVol/nosnd.ico b/plugins/!NotAdopted/sndVol/nosnd.ico
deleted file mode 100644
index 231bc4187d..0000000000
--- a/plugins/!NotAdopted/sndVol/nosnd.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/!NotAdopted/sndVol/optionsdlg.cpp b/plugins/!NotAdopted/sndVol/optionsdlg.cpp
deleted file mode 100644
index 0b194fc046..0000000000
--- a/plugins/!NotAdopted/sndVol/optionsdlg.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-#include "plugin.h"
-#include "playSnd.h"
-#include "resource.h"
-#include "optionsdlg.h"
-
-#include <math.h>
-
-#pragma comment(lib, "comctl32.lib")
-
-extern void SetRadioVolume(int value);
-extern COLORREF g_clrback;
-extern HBRUSH g_HBRback;
-extern int g_mRadioMuted;
-extern HWND hwndMRadio;
-extern HICON hIconMRadio, hIconMRadio_off;
-
-void LoadBackgroundSettings()
-{
- HWND hwnd;
-
- if(g_HBRback)
- DeleteObject(g_HBRback);
-
- if(DBGetContactSettingByte(NULL, SERVICENAME, "def_bg", 1))
- g_clrback = GetSysColor(COLOR_3DFACE);
- else
- g_clrback = DBGetContactSettingDword(NULL, SERVICENAME, "bgc", GetSysColor(COLOR_3DFACE));
-
- g_HBRback = CreateSolidBrush(g_clrback);
- hwnd = GetFocus();
- InvalidateRect(hwndSlider, NULL, TRUE);
- SetFocus(hwndSlider);
- RedrawWindow(hwndFrame, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_ERASE);
- SetFocus(hwnd);
-}
-
-LRESULT CALLBACK GroupWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- switch( uMsg )
- {
- case WM_LBUTTONDOWN:
- ::MessageBox(0,_T("LB"),_T(""),0);
- return 0;
- case WM_PAINT:
- {
- CallWindowProc((WNDPROC)GetWindowLong(hwnd, GWL_USERDATA), hwnd, uMsg, wParam, lParam);
-
- HDC hdc = GetDC(hwnd);
- RECT rc;
- TCHAR szTitle[256];
- HFONT oldfont;
- int oldBk;
- ZeroMemory(&rc, sizeof(rc));
- // Determine a size of the text
-
- oldBk = SetBkMode(hdc, TRANSPARENT);
- oldfont = (HFONT)SelectObject(hdc, (HFONT)SendMessage(hwnd, WM_GETFONT, 0,0));
- SetBkMode(hdc, TRANSPARENT);
- GetWindowText(hwnd, szTitle, sizeof(szTitle) / sizeof(TCHAR));
- DrawText(hdc, szTitle, lstrlen(szTitle), &rc, DT_SINGLELINE|DT_CALCRECT);
-
- rc.left += 8; rc.right += 8 + 16 + 4;
-
- FillRect(hdc, &rc, (HBRUSH) (COLOR_BTNFACE+1));
- DrawIconEx(hdc, rc.left+2, rc.top, hSoundOn, 16,16, 0, NULL, DI_NORMAL);
-
- rc.left += 2 + 16 + 2;
- //rc.right += 2 + 16 + 2;
- DrawText(hdc, szTitle, lstrlen(szTitle), &rc, DT_SINGLELINE|DT_WORD_ELLIPSIS);
-
- SetBkMode(hdc, oldBk);
-
- SelectObject(hdc, oldfont);
-
- ReleaseDC(hwnd, hdc);
-
- return 0;
- }
- }
-
- return CallWindowProc((WNDPROC)GetWindowLong(hwnd, GWL_USERDATA), hwnd, uMsg, wParam, lParam);
-}
-
-LRESULT CALLBACK OptionsDlgProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
-{
- switch( uMsg ) {
- case WM_INITDIALOG:
- {
- HWND grp = GetDlgItem(hwndDlg, IDC_GRP);
-
- TranslateDialogDefault(hwndDlg);
- CheckDlgButton(hwndDlg, IDC_AUTO, DBGetContactSettingByte(NULL,SERVICENAME,"AutoPreview", TRUE)?BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_MUTE, DBGetContactSettingByte(NULL,SERVICENAME,"MuteBtn", TRUE)?BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_MRADIO, DBGetContactSettingByte(NULL, SERVICENAME, "mRadioAdjust", 0) ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_MUTERADIO, DBGetContactSettingByte(NULL, SERVICENAME, "mRadioMute", 0) ? BST_CHECKED : BST_UNCHECKED);
-
- EnableWindow(GetDlgItem(hwndDlg, IDC_MRADIO), ServiceExists(MS_RADIO_SETVOL));
- EnableWindow(GetDlgItem(hwndDlg, IDC_MUTERADIO), ServiceExists(MS_RADIO_SETVOL));
-
- hwndOptSlider = GetDlgItem(hwndDlg, IDC_VOLUME);
- SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_SETRANGE, FALSE, MAKELONG(SLIDER_MIN,SLIDER_MAX));
- SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_SETPOS, TRUE, DBGetContactSettingDword(NULL,SERVICENAME,"Volume",100));
-
- SetWindowLong(grp, GWL_USERDATA, GetWindowLong(grp, GWL_WNDPROC));
- SetWindowLong(grp, GWL_WNDPROC, (LONG)GroupWndProc);
- SendDlgItemMessage(hwndDlg, IDC_BACKCOLOR, CPM_SETCOLOUR, 0, (LPARAM)DBGetContactSettingDword(NULL, SERVICENAME, "bgc", GetSysColor(COLOR_3DFACE)));
- EnableWindow(GetDlgItem(hwndDlg, IDC_BACKCOLOR), DBGetContactSettingByte(NULL, SERVICENAME, "def_bg", 1) ? FALSE : TRUE);
- CheckDlgButton(hwndDlg, IDC_DEFCOLOR, DBGetContactSettingByte(NULL, SERVICENAME, "def_bg", 1));
- return TRUE;
- }
- case WM_HSCROLL:
- {
- int value = (DWORD)SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_GETPOS, 0, 0);
- if(hwndSlider)
- SendMessage(hwndSlider, TBM_SETPOS, TRUE, value);
- else
- DBWriteContactSettingDword(NULL, SERVICENAME, "Volume", value);
- playSnd::SetVolume(value);
- if(IsDlgButtonChecked(hwndDlg, IDC_AUTO))
- SkinPlaySound("AlertMsg");
- SetRadioVolume(value);
- break;
- }
- case WM_COMMAND:
- if(LOWORD(wParam) == IDC_TEST) {
- playSnd::SetVolume((DWORD)SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_GETPOS, 0, 0));
- SkinPlaySound("AlertMsg");
- return FALSE;
- }
- else if(LOWORD(wParam) == IDC_MRADIO) {
- DBWriteContactSettingByte(NULL, SERVICENAME, "mRadioAdjust", IsDlgButtonChecked(hwndDlg, IDC_MRADIO) ? 1 : 0);
- if(IsDlgButtonChecked(hwndDlg, IDC_MRADIO) && ServiceExists(MS_RADIO_SETVOL)) {
- int value = (DWORD)SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_GETPOS, 0, 0);
- CallService(MS_RADIO_SETVOL, (WPARAM)value, 0);
- }
- }
- else if(LOWORD(wParam) == IDC_MUTERADIO) {
- int useSound = DBGetContactSettingByte(NULL, "Skin", "UseSound", 1);
- int value;
- DBWriteContactSettingByte(NULL, SERVICENAME, "mRadioMute", IsDlgButtonChecked(hwndDlg, IDC_MUTERADIO) ? 1 : 0);
- if(ServiceExists(MS_RADIO_SETVOL)) {
- if(IsDlgButtonChecked(hwndDlg, IDC_MUTERADIO))
- g_mRadioMuted = !useSound;
- value = g_mRadioMuted ? 0 : (int)SendMessage(hwndSlider, TBM_GETPOS, 0, 0);
- CallService(MS_RADIO_SETVOL, (WPARAM)value, 0);
- DBWriteContactSettingByte(NULL, "mRadio", "Volume", (BYTE)value);
- SendMessage(hwndMRadio, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(g_mRadioMuted ? hIconMRadio_off : hIconMRadio));
- }
- }
- else if(LOWORD(wParam) == IDC_DEFCOLOR) {
- DBWriteContactSettingByte(NULL, SERVICENAME, "def_bg", IsDlgButtonChecked(hwndDlg, IDC_DEFCOLOR) ? 1 : 0);
- EnableWindow(GetDlgItem(hwndDlg, IDC_BACKCOLOR), DBGetContactSettingByte(NULL, SERVICENAME, "def_bg", 1) ? FALSE : TRUE);
- LoadBackgroundSettings();
- }
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0,0);
- break;
-
- case WM_NOTIFY:
- switch(((LPNMHDR)lParam)->code) {
- case NM_RELEASEDCAPTURE:
- if(IsDlgButtonChecked(hwndDlg, IDC_AUTO) == BST_CHECKED) {
- int value = (DWORD)SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_GETPOS, 0, 0);
- if(hwndSlider)
- SendMessage(hwndSlider, TBM_SETPOS, TRUE, value);
-
- playSnd::SetVolume(value);
- SkinPlaySound("AlertMsg");
- SetRadioVolume(value);
- }
- break;
- case PSN_APPLY:
- {
- int value = (DWORD)SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_GETPOS, 0, 0);
- if(hwndSlider)
- SendMessage(hwndSlider, TBM_SETPOS, TRUE, value);
- playSnd::SetVolume(value);
-
- DBWriteContactSettingDword(NULL, SERVICENAME, "Volume", value);
- autoPreview = (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_AUTO) == BST_CHECKED);
- DBWriteContactSettingByte(NULL, SERVICENAME, "AutoPreview", autoPreview);
- value = (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_MUTE) == BST_CHECKED);
- DBWriteContactSettingByte(NULL, SERVICENAME, "MuteBtn", value);
- PostMessage(hwndFrame, WM_USER, value, 0);
- DBWriteContactSettingDword(NULL, SERVICENAME, "bgc", (DWORD)SendDlgItemMessage(hwndDlg, IDC_BACKCOLOR, CPM_GETCOLOUR, 0, 0));
- LoadBackgroundSettings();
- return TRUE;
- }
- case PSN_RESET:
- {
- int value = DBGetContactSettingDword(NULL,SERVICENAME,"Volume",100);
- SendDlgItemMessage(hwndDlg, IDC_VOLUME, TBM_SETPOS, TRUE, value);
- if(hwndSlider)
- SendMessage(hwndSlider, TBM_SETPOS, TRUE, value);
- playSnd::SetVolume(value);
- return TRUE;
- }
- }
- break;
-
- case WM_DESTROY:
- hwndOptSlider = NULL;
- return FALSE;
- }
- return FALSE;
-}
diff --git a/plugins/!NotAdopted/sndVol/optionsdlg.h b/plugins/!NotAdopted/sndVol/optionsdlg.h
deleted file mode 100644
index ae4080788e..0000000000
--- a/plugins/!NotAdopted/sndVol/optionsdlg.h
+++ /dev/null
@@ -1 +0,0 @@
-LRESULT CALLBACK OptionsDlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ); \ No newline at end of file
diff --git a/plugins/!NotAdopted/sndVol/playSnd.cpp b/plugins/!NotAdopted/sndVol/playSnd.cpp
deleted file mode 100644
index ccc49c7965..0000000000
--- a/plugins/!NotAdopted/sndVol/playSnd.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-#include "plugin.h"
-#include "playSnd.h"
-
-namespace playSnd
-{
-
-CMusicManager* g_pMusicManager = NULL;
-CMusicSegment* g_pMusicSegment = NULL;
-HANDLE g_hDMusicMessageEvent = NULL;
-DWORD g_dwVolume = -77777;
-BOOL g_bInOption = FALSE;
-
-
-HRESULT Init()
-{
- HRESULT hr;
- g_pMusicManager = new CMusicManager();
-
- if( FAILED( hr = g_pMusicManager->Initialize( NULL ) ) )
- return DXTRACE_ERR( TEXT("Initialize"), hr );
-
- return S_OK;
-}
-
-void Destroy()
-{
- SAFE_DELETE( g_pMusicSegment );
- SAFE_DELETE( g_pMusicManager );
-}
-
-//-----------------------------------------------------------------------------
-// Name: LoadSegmentFile()
-// Desc:
-//-----------------------------------------------------------------------------
-HRESULT LoadSegmentFile( TCHAR *strFileName )
-{
- HRESULT hr;
-
- // Free any previous segment, and make a new one
- SAFE_DELETE( g_pMusicSegment );
-
- // Have the loader collect any garbage now that the old
- // segment has been released
- g_pMusicManager->CollectGarbage();
-
- // Set the media path based on the file name (something like C:\MEDIA)
- // to be used as the search directory for finding DirectMusic content
- // related to this file.
- TCHAR strMediaPath[MAX_PATH];
- _tcscpy( strMediaPath, strFileName );
- TCHAR* strLastSlash = _tcsrchr(strMediaPath, TEXT('\\'));
- if(strLastSlash != NULL)
- {
- *strLastSlash = 0;
- if( FAILED( hr = g_pMusicManager->SetSearchDirectory( strMediaPath ) ) )
- return DXTRACE_ERR( TEXT("SetSearchDirectory"), hr );
- }
- else
- {
- if( FAILED( hr = g_pMusicManager->SetSearchDirectory( _T("") ) ) )
- return DXTRACE_ERR( TEXT("SetSearchDirectory"), hr );
- }
-
- // For DirectMusic must know if the file is a standard MIDI file or not
- // in order to load the correct instruments.
- BOOL bMidiFile = FALSE;
- if( _tcsstr( strFileName, _T(".mid") ) != NULL ||
- _tcsstr( strFileName, _T(".rmi") ) != NULL )
- {
- bMidiFile = TRUE;
- }
-
- BOOL bWavFile = FALSE;
- if( _tcsstr( strFileName, _T(".wav") ) != NULL )
- {
- bWavFile = TRUE;
- }
-
- // Load the file into a DirectMusic segment
- if( FAILED( g_pMusicManager->CreateSegmentFromFile( &g_pMusicSegment, strFileName,
- TRUE, bMidiFile ) ) )
- {
- // Not a critical failure, so just update the status
- return E_FAIL;
- }
-
- return S_OK;
-}
-
-BOOL WINAPI PlaySound(char* pszSound, HMODULE hmod, DWORD fdwSound)
-{
- HRESULT hr;
-#if defined(UNICODE)
- TCHAR ptszSound[MAX_PATH];
- DWORD cpSys = CP_ACP;
-
- MultiByteToWideChar(cpSys, 0, pszSound, -1, ptszSound, MAX_PATH);
- ptszSound[MAX_PATH - 1] = 0;
- if( FAILED( hr = LoadSegmentFile(ptszSound) ) )
- return FALSE;
-
- if( FAILED( hr = g_pMusicSegment->SetRepeats( 0 ) ) )
- return FALSE;
-#else
- if( FAILED( hr = LoadSegmentFile(pszSound) ) )
- return FALSE;
-
- if( FAILED( hr = g_pMusicSegment->SetRepeats( 0 ) ) )
- return FALSE;
-#endif
- // Play the segment and wait. The DMUS_SEGF_BEAT indicates to play on the
- // next beat if there is a segment currently playing.
- if( FAILED( hr = g_pMusicSegment->Play( DMUS_SEGF_BEAT ) ) )
- return FALSE;
-
- return TRUE;
-}
-
-
-BOOL SetVolume(long Value)
-{
- long value = (int)(log10((float)Value)/2.0*5000.0-4000.0);
- IDirectMusicPerformance* pPerf = NULL;
- if( g_pMusicManager )
- pPerf = g_pMusicManager->GetPerformance();
- if( NULL == pPerf )
- return FALSE;
-
- // Adjust the slider position to match GUID_PerfMasterTempo range
- pPerf->SetGlobalParam(GUID_PerfMasterVolume, (void*)&value, sizeof(long));
-
- return TRUE;
-}
-
-
-}
diff --git a/plugins/!NotAdopted/sndVol/playSnd.h b/plugins/!NotAdopted/sndVol/playSnd.h
deleted file mode 100644
index b3582c0790..0000000000
--- a/plugins/!NotAdopted/sndVol/playSnd.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <windows.h>
-#include <mmsystem.h>
-#include <basetsd.h>
-#include "dmusicc.h"
-#include "dmusici.h"
-#include <dxerr8.h>
-#include <tchar.h>
-#include "DMUtil.h"
-#include "DXUtil.h"
-
-//-----------------------------------------------------------------------------
-// Defines, constants, and global variables
-//-----------------------------------------------------------------------------
-
-namespace playSnd
-{
- extern BOOL g_bInOption;
-
- HRESULT Init();
- void Destroy();
- HRESULT LoadSegmentFile( TCHAR* strFileName );
- BOOL WINAPI PlaySound(char* pszSound, HMODULE hmod, DWORD fdwSound);
- BOOL SetVolume(long Value);
-}
diff --git a/plugins/!NotAdopted/sndVol/plugin.cpp b/plugins/!NotAdopted/sndVol/plugin.cpp
deleted file mode 100644
index 016c0ad3e1..0000000000
--- a/plugins/!NotAdopted/sndVol/plugin.cpp
+++ /dev/null
@@ -1,478 +0,0 @@
-#define _WIN32_WINNT 0x0500
-#include "plugin.h"
-#include "playSnd.h"
-#include "optionsdlg.h"
-#include "resource.h"
-#include "m_cluiframes.h"
-
-#include "IcoLib.h"
-
-HINSTANCE hInst;
-PLUGINLINK *pluginLink;
-
-HWND hwndFrame = NULL, hwndMute = NULL, hwndSlider = NULL, hwndOptSlider = NULL, hwndMRadio = 0;
-HANDLE hHookSkinPlayingSound, hHookDbSettingChange, hHookSkinIconsChanged;
-HHOOK hHookMouse;
-bool showMute = TRUE;
-extern void LoadBackgroundSettings();
-
-HBRUSH g_HBRback = 0;
-COLORREF g_clrback = 0;
-
-#if defined(UNICODE)
- char szTitle[] = "sndVol (UNICODE)";
-#else
- char szTitle[] = "sndVol";
-#endif
-
-bool isEnabled = FALSE;
-HICON hSoundOn = NULL, hSoundOff = NULL;
-HICON hIconMRadio = 0, hIconMRadio_off = 0;
-
-int isMuteVisible = FALSE;
-int autoPreview = FALSE;
-
-char *szIconId[4] = {"sndVol_Off", "sndVol_On", "mradio_off", "mradio_on"};
-char *szIconName[4] = {"Off", "On", "mRadio off", "mRadio on"};
-int iIconId[4] = {-IDI_SND_OFF, -IDI_SND_ON, -IDI_MRAADIO_OFF, -IDI_MRADIO};
-int g_mRadioMuted = 0;
-
-/*
-PLUGININFO pluginInfo={
- sizeof( PLUGININFO ),
- szTitle,
- PLUGIN_MAKE_VERSION( 0,0,2,2 ),
-#if defined(UNICODE)
- "Volume control for Mirandas event sounds and mRadio (UNICODE)",
-#else
- "Volume control for Mirandas event sounds and mRadio",
-#endif
- "Denis Stanishevskiy / StDenis",
- "stdenformiranda(at)fromru(dot)com",
- "Copyright (c) 2005-2006, Denis Stanishevskiy, modifications and mRadio support by Nightwish - silvercircle(at)gmail(dot)com",
- "",
- 0, 0
-};
-
-*/
-
-PLUGININFOEX pluginInfo = {
- sizeof(PLUGININFOEX),
- szTitle,
- PLUGIN_MAKE_VERSION(0, 0, 3, 0),
-#if defined(UNICODE)
- "Volume control for Mirandas event sounds and mRadio (UNICODE)",
-#else
- "Volume control for Mirandas event sounds and mRadio",
-#endif
- "Denis Stanishevskiy / StDenis",
- "stdenformiranda(at)fromru(dot)com",
- "Copyright (c) 2005-2006, Denis Stanishevskiy, modifications and mRadio support by Nightwish - silvercircle(at)gmail(dot)com",
- "",
- UNICODE_AWARE,
- 0,
-#ifdef _UNICODE
- { 0xb0733420, 0x7bf2, 0x4c08, { 0xb2, 0xbf, 0xf2, 0x63, 0xdf, 0x72, 0x42, 0xc9 }}
-#else
- { 0x35235260, 0x3d3d, 0x4b81, { 0xbe, 0x2e, 0x7f, 0x95, 0xdb, 0xad, 0x1a, 0x23 }}
-#endif
-};
-
-void SetRadioVolume(int value)
-{
- if(ServiceExists(MS_RADIO_SETVOL) && DBGetContactSettingByte(NULL,SERVICENAME,"mRadioAdjust", FALSE)) {
- int useSound = DBGetContactSettingByte(NULL, "Skin", "UseSound", 1);
-
- if(g_mRadioMuted)
- return;
-
- if(useSound || !DBGetContactSettingByte(NULL, SERVICENAME, "mRadioMute", 0) || !g_mRadioMuted)
- CallService(MS_RADIO_SETVOL, (WPARAM)value, 0);
- }
-}
-
-BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
-{
- hInst=hinstDLL;
- if(fdwReason == DLL_PROCESS_ATTACH)
- DisableThreadLibraryCalls(GetModuleHandle(_T("sndvol")));
- return TRUE;
-}
-
-extern "C" __declspec(dllexport) PLUGININFOEX *MirandaPluginInfoEx(DWORD mirandaVersion)
-{
- if (mirandaVersion < PLUGIN_MAKE_VERSION(0, 8, 0, 0))
- return NULL;
- return &pluginInfo;
-}
-
-#define MIID_SNDVOL {0x50ea8870, 0x1c68, 0x4962, { 0xbc, 0xc1, 0x57, 0x73, 0x45, 0x4e, 0x3d, 0x26 }}
-
-extern "C" static const MUUID interfaces[] = {MIID_TESTPLUGIN, MIID_SNDVOL, MIID_LAST};
-
-extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void)
-{
- return interfaces;
-}
-
-HANDLE hMenuItem;
-
-int OnSkinPlayingSound(WPARAM wParam,LPARAM lParam)
-{
- char * pszFile = (char *) lParam;
- if(pszFile && (DBGetContactSettingByte(NULL,"Skin","UseSound",1) || (int)wParam==1))
- playSnd::PlaySound(pszFile, NULL, SND_ASYNC | SND_FILENAME | SND_NOWAIT);
- return 0;
-}
-
-int OnSkinIconsChanged(WPARAM wParam,LPARAM lParam)
-{
- hSoundOff = (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)szIconId[0]);
- hSoundOn = (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)szIconId[1]);
- hIconMRadio_off = (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)szIconId[2]);
- hIconMRadio = (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)szIconId[3]);
-
- int useSound = DBGetContactSettingByte(NULL,"Skin","UseSound",1);
- DBWriteContactSettingByte(NULL,"Skin","UseSound",useSound);
- SendMessage(hwndMute, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(useSound?hSoundOn:hSoundOff));
- SendMessage(hwndMRadio, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(g_mRadioMuted ? hIconMRadio_off : hIconMRadio));
-
- return 0;
-}
-
-int OnSettingChanged(WPARAM wParam,LPARAM lParam)
-{
- if(wParam != 0 || lParam == NULL)
- return 0;
- {
- DBCONTACTWRITESETTING *dbcws=(DBCONTACTWRITESETTING*)lParam;
- if(!strcmp(dbcws->szModule,"Skin")) {
- if(!strcmp(dbcws->szSetting,"UseSound")) {
- int useSound = dbcws->value.bVal;
- SendMessage(hwndMute, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(useSound?hSoundOn:hSoundOff));
- if(ServiceExists(MS_RADIO_SETVOL) && DBGetContactSettingByte(NULL,SERVICENAME,"mRadioMute", FALSE)) {
- if(useSound) {
- int value = (int)SendMessage(hwndSlider, TBM_GETPOS, 0, 0);
- CallService(MS_RADIO_SETVOL, (WPARAM)value, 0);
- }
- else
- CallService(MS_RADIO_SETVOL, 0, 0);
- }
- return 0;
- }
- }
- else if(!strcmp(dbcws->szModule, "mRadio") && !strcmp(dbcws->szSetting, "Volume")) {
- g_mRadioMuted = (DBGetContactSettingByte(NULL, "mRadio", "Volume", 50) == 0) ? TRUE : FALSE;
- SendMessage(hwndMRadio, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(g_mRadioMuted ? hIconMRadio_off : hIconMRadio));
- return 0;
- }
- }
- return 0;
-}
-
-static int OnOptionsInit(WPARAM wParam,LPARAM lParam)
-{
- OPTIONSDIALOGPAGE odp;
-
- ZeroMemory(&odp, sizeof(odp));
-
- odp.cbSize = sizeof(odp);
- odp.ptszGroup = TranslateT("Events");
- odp.position = -200000000;
- odp.hInstance = hInst;
- odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT);
- odp.ptszTitle = TranslateT("Sounds Volume");
- odp.pfnDlgProc = (DLGPROC)OptionsDlgProc;
- odp.flags = ODPF_BOLDGROUPS | ODPF_TCHAR;
- CallService(MS_OPT_ADDPAGE, wParam, (LPARAM)&odp);
-
- return 0;
-}
-
-BOOL __inline IsMouseInside(HWND hwnd)
-{
- POINT pt;
- HWND hwndAtPt;
-
- GetCursorPos(&pt);
- hwndAtPt = WindowFromPoint(pt);
- while(hwndAtPt != NULL) {
- if(hwndAtPt == hwnd)
- return TRUE;
- hwndAtPt = GetParent(hwndAtPt);
- }
- return FALSE;
-}
-
-LRESULT CALLBACK OnMouseHook(int code, WPARAM wParam, LPARAM lParam)
-{
- if(code >= 0) {
- if(wParam == WM_MOUSEWHEEL) {
- MOUSEHOOKSTRUCTEX *mhk = (MOUSEHOOKSTRUCTEX*)lParam;
-
- if(IsMouseInside(hwndSlider)) {
- int count = (short)HIWORD(mhk->mouseData);
- PostMessage(hwndSlider, WM_MOUSEWHEEL, MAKEWPARAM(0,-count), MAKELPARAM(mhk->pt.x, mhk->pt.y));
- return 1;
- }
- }
- }
- return CallNextHookEx(hHookMouse, code, wParam, lParam);
-}
-
-static WNDPROC OldSliderWndProc = 0;
-
-static LRESULT CALLBACK SliderWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch(msg) {
- case WM_ERASEBKGND:
- return TRUE;
- }
- return(CallWindowProc(OldSliderWndProc, hwnd, msg, wParam, lParam));
-}
-static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch(msg) {
- case WM_CREATE:
- {
-#define MUTE_W 20
-#define MUTE_H 20
- isMuteVisible = DBGetContactSettingByte(NULL,SERVICENAME,"MuteBtn", TRUE);
- hwndMute = CreateWindow(MIRANDABUTTONCLASS, _T(""), WS_CHILD | (isMuteVisible?WS_VISIBLE:0), 1, 1,
- MUTE_W, MUTE_H, hwnd, (HMENU)0, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
- SendMessage(hwndMute, BUTTONSETASFLATBTN,0,0);
- SendMessage(hwndMute, BM_SETIMAGE,IMAGE_ICON,(LPARAM)hSoundOn);
-
- hwndSlider = CreateWindow(TRACKBAR_CLASS, _T(""), WS_CHILD | WS_VISIBLE | TBS_NOTICKS | TBS_TOOLTIPS, MUTE_W+1, 1, 120,
- MUTE_W, hwnd, (HMENU)0, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
- SendMessage(hwndSlider, TBM_SETRANGE, FALSE, MAKELONG(SLIDER_MIN, SLIDER_MAX));
- SendMessage(hwndSlider, TBM_SETPOS, TRUE, DBGetContactSettingDword(NULL,SERVICENAME,"Volume",80));
- OldSliderWndProc = (WNDPROC)SetWindowLong(hwndSlider, GWL_WNDPROC, (LONG)SliderWndProc);
- SendMessage(hwndMute, BUTTONADDTOOLTIP, (WPARAM)Translate("Click to toggle all sounds"), 0);
-
- if(ServiceExists(MS_RADIO_SETVOL)) {
- hwndMRadio = CreateWindow(MIRANDABUTTONCLASS, _T(""), WS_CHILD | (isMuteVisible?WS_VISIBLE:0), 1, 1,
- MUTE_W, MUTE_H, hwnd, (HMENU)0, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
- SendMessage(hwndMRadio, BUTTONSETASFLATBTN,0,0);
- SendMessage(hwndMRadio, BUTTONADDTOOLTIP, (WPARAM)Translate("Click to mute mRadio only, right click for mRadio settings"), 0);
- SendMessage(hwndMRadio, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(g_mRadioMuted ? hIconMRadio_off : hIconMRadio));
- }
- break;
- }
- case WM_COMMAND:
- if((HWND)lParam == hwndMute) {
- int useSound = !DBGetContactSettingByte(NULL,"Skin","UseSound",1);
- DBWriteContactSettingByte(NULL,"Skin","UseSound",useSound);
- SendMessage(hwndMute, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(useSound?hSoundOn:hSoundOff));
- }
- else if((HWND)lParam == hwndMRadio) {
- int value;
-
- g_mRadioMuted = !g_mRadioMuted;
- value = g_mRadioMuted ? 0 : (int)SendMessage(hwndSlider, TBM_GETPOS, 0, 0);
- CallService(MS_RADIO_SETVOL, (WPARAM)value, 0);
- DBWriteContactSettingByte(NULL, "mRadio", "Volume", (BYTE)value);
- SendMessage(hwndMRadio, BM_SETIMAGE,IMAGE_ICON,(LPARAM)(g_mRadioMuted ? hIconMRadio_off : hIconMRadio));
- }
- break;
- case WM_CONTEXTMENU:
- if(IsMouseInside(hwndMRadio))
- CallService("mRadio/Settings", 0, 0);
- break;
- case WM_USER:
- ShowWindow(hwndMute, wParam?SW_SHOW:SW_HIDE);
- isMuteVisible = wParam;
- case WM_HSCROLL:
- {
- int value = (DWORD)SendMessage(hwndSlider, TBM_GETPOS, 0, 0);
- if(hwndOptSlider)
- SendMessage(hwndOptSlider, TBM_SETPOS, TRUE, value);
- else
- DBWriteContactSettingDword(NULL, SERVICENAME, "Volume", value);
- playSnd::SetVolume(value);
- if(DBGetContactSettingByte(NULL,SERVICENAME,"AutoPreview", FALSE))
- SkinPlaySound("AlertMsg");
-
- SetRadioVolume(value);
- break;
- }
- case WM_SIZE:
- {
- RECT rect;
-
- GetClientRect(hwnd,&rect);
- #define SLIDER_H 18
- if(hwndMute)
- MoveWindow(hwndMute, 1, 1, MUTE_W, MUTE_H, FALSE);
- SetWindowPos(hwndSlider, 0,
- rect.left+(isMuteVisible?MUTE_W:0)+1, rect.top+1+ (MUTE_H-SLIDER_H)/2, rect.right-rect.left-3-(isMuteVisible?MUTE_W:0)-(ServiceExists(MS_RADIO_SETVOL) ? MUTE_W:0), SLIDER_H,
- SWP_NOZORDER);
- if(hwndMRadio)
- MoveWindow(hwndMRadio, rect.right - MUTE_W, 1, MUTE_W, MUTE_H, FALSE);
- InvalidateRect(hwnd, &rect, FALSE);
- return 0;
- }
- case WM_CTLCOLORSTATIC:
- {
- if((HANDLE)lParam == hwndSlider) {
- HDC dc = (HDC)wParam;
-
- SetBkColor(dc, g_clrback);
- return((BOOL)g_HBRback);
- }
- break;
- }
- case WM_ERASEBKGND:
- {
- HDC dc = (HDC)wParam;
- RECT rc;
-
- GetClientRect(hwnd, &rc);
- FillRect(dc, &rc, g_HBRback);
- return TRUE;
- }
- case WM_NOTIFY:
- switch(((LPNMHDR)lParam)->code)
- {
- case NM_RELEASEDCAPTURE:
- {
- int value = (DWORD)SendMessage(hwndSlider, TBM_GETPOS, 0, 0); //*SLIDER_DIV;
-
- DBWriteContactSettingDword(NULL, SERVICENAME, "Volume", value);
- if(hwndOptSlider) SendMessage(hwndOptSlider, TBM_SETPOS, TRUE, value);
- playSnd::SetVolume(value);
- SetRadioVolume(value);
- break;
- }
- }
- break;
- case WM_DESTROY:
- if(hwndSlider && IsWindow(hwndSlider) && OldSliderWndProc != 0)
- SetWindowLong(hwndSlider, GWL_WNDPROC, (LONG)OldSliderWndProc);
- break;
- }
- return DefWindowProc(hwnd,msg,wParam,lParam);
-}
-#define WndClass _T("SNDVOL_WND")
-
-static HANDLE g_ShutDownEvent;
-static HANDLE g_hFrame = 0;
-
-static int ShutDownPlugin(WPARAM wParam, LPARAM lParam)
-{
- UnhookEvent(g_ShutDownEvent);
-
- if(!ServiceExists(MS_SKIN2_ADDICON))
- {
- DestroyIcon(hSoundOff);
- DestroyIcon(hSoundOn);
- UnhookEvent(hHookSkinIconsChanged);
- }
- UnhookEvent(hHookSkinPlayingSound);
- playSnd::Destroy();
- if(g_HBRback)
- DeleteObject(g_HBRback);
-
- CallService(MS_CLIST_FRAMES_REMOVEFRAME, (WPARAM)g_hFrame, 0);
- return 0;
-}
-
-static int OnModulesLoaded(WPARAM wparam,LPARAM lparam)
-{
- int useSound;
-
- g_mRadioMuted = (DBGetContactSettingByte(NULL, "mRadio", "Volume", 50) == 0) ? TRUE : FALSE;
-
- g_ShutDownEvent = HookEvent(ME_SYSTEM_OKTOEXIT, ShutDownPlugin);
-
- if(!ServiceExists(MS_SKIN2_ADDICON)) {
- hSoundOn = (HICON)LoadImage(hInst,MAKEINTRESOURCE(IDI_SND_ON),IMAGE_ICON,GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),0);
- hSoundOff = (HICON)LoadImage(hInst,MAKEINTRESOURCE(IDI_SND_OFF),IMAGE_ICON,GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),0);
- hIconMRadio = (HICON)LoadImage(hInst,MAKEINTRESOURCE(IDI_MRADIO),IMAGE_ICON,GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),0);
- hIconMRadio_off = (HICON)LoadImage(hInst,MAKEINTRESOURCE(IDI_MRAADIO_OFF),IMAGE_ICON,GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),0);
- }
- else {
- SKINICONDESC sid;
- char ModuleName[MAX_PATH];
-
- sid.cbSize = sizeof(sid);
- sid.pszSection = Translate("Sound Volume");
- GetModuleFileNameA(hInst, ModuleName, sizeof(ModuleName));
- sid.pszDefaultFile = ModuleName;
-#define myLOAD_ICON(n, result)\
- sid.pszName = szIconId[n];\
- sid.pszDescription = szIconName[n];\
- sid.iDefaultIndex = iIconId[n];\
- CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);\
- result = (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)szIconId[n]);
-
- myLOAD_ICON(0, hSoundOff);
- myLOAD_ICON(1, hSoundOn);
- myLOAD_ICON(2, hIconMRadio_off);
- myLOAD_ICON(3, hIconMRadio);
-
- hHookSkinIconsChanged = HookEvent(ME_SKIN2_ICONSCHANGED, OnSkinIconsChanged);
- }
- if(ServiceExists(MS_CLIST_FRAMES_ADDFRAME)) {
- WNDCLASSEX wcx;
- CLISTFrame f;
-
- ZeroMemory( &wcx, sizeof( wcx ) );
-
- wcx.cbSize = sizeof(WNDCLASSEX);
- wcx.style = 0;
- wcx.lpfnWndProc = WndProc;
- wcx.cbClsExtra = 0;
- wcx.cbWndExtra = 0;
- wcx.hInstance = hInst;
- wcx.hIcon = NULL;
- wcx.hCursor = LoadCursor(hInst, IDC_ARROW);
- wcx.hbrBackground = (HBRUSH)(COLOR_3DFACE+1);
- wcx.lpszMenuName = NULL;
- wcx.lpszClassName = WndClass;
- wcx.hIconSm = NULL;
-
- RegisterClassEx(&wcx);
-
- hwndFrame = CreateWindow(WndClass, NULL, WS_CHILD | WS_VISIBLE, 0, 0, 120, MUTE_H+2,
- (HWND)CallService( MS_CLUI_GETHWND, 0, 0 ), NULL, hInst, NULL);
-
- ZeroMemory(&f, sizeof(CLISTFrame));
- f.align = alBottom;
- f.cbSize = sizeof(CLISTFrame);
- f.height = MUTE_H+2;
- f.Flags = F_VISIBLE;
- f.hWnd = hwndFrame;
- f.name = "SoundVolume";
- g_hFrame = (HANDLE)CallService(MS_CLIST_FRAMES_ADDFRAME,(int)&f,0);
- }
- else
- MessageBox(0, _T("Frame services not found. The sound volume plugin needs a multiwindow-enabled contact list"), _T("Critical"), MB_OK | MB_ICONERROR);
-
- useSound = DBGetContactSettingByte(NULL, "Skin", "UseSound", 1);
- DBWriteContactSettingByte(NULL, "Skin", "UseSound", !useSound);
- DBWriteContactSettingByte(NULL, "Skin", "UseSound", useSound);
-
- LoadBackgroundSettings();
- return 0;
-}
-
-
-extern "C" int __declspec(dllexport) Load(PLUGINLINK *link)
-{
- pluginLink=link;
-
- playSnd::Init();
- hHookSkinPlayingSound = HookEvent(ME_SKIN_PLAYINGSOUND, OnSkinPlayingSound);
- HookEvent(ME_OPT_INITIALISE, OnOptionsInit);
- HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded);
- hHookDbSettingChange = HookEvent(ME_DB_CONTACT_SETTINGCHANGED, OnSettingChanged);
- hHookMouse = SetWindowsHookEx(WH_MOUSE, OnMouseHook, hInst, 0);
-
- return 0;
-}
-
-extern "C" int __declspec(dllexport) Unload(void)
-{
- return 0;
-}
diff --git a/plugins/!NotAdopted/sndVol/plugin.h b/plugins/!NotAdopted/sndVol/plugin.h
deleted file mode 100644
index dce6605048..0000000000
--- a/plugins/!NotAdopted/sndVol/plugin.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <windows.h>
-#include <commctrl.h>
-#include <stdio.h>
-#include "../../include/newpluginapi.h"
-#include "../../include/m_system.h"
-#include "../../include/m_database.h"
-#include "../../include/m_protomod.h"
-#include "../../include/m_protosvc.h"
-#include "../../include/m_langpack.h"
-#include "../../include/m_clist.h"
-#include "../../include/m_options.h"
-#include "../../include/m_clui.h"
-#include "../../include/m_clc.h"
-#include "../../include/m_utils.h"
-#include "../../include/m_skin.h"
-#include "../../include/m_button.h"
-#include <math.h>
-
-
-#define SERVICENAME "sndVol"
-
-extern HINSTANCE hInst;
-extern bool isEnabled;
-extern HWND hwndFrame, hwndSlider, hwndOptSlider;
-extern HICON hSoundOn, hSoundOff;
-extern int autoPreview;
-
-#define SLIDER_MIN 1
-#define SLIDER_MAX 100
-#define SLIDER_DIV 6
-
-#define MS_RADIO_SETVOL "mRadio/SetVol"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int __declspec(dllexport) Load( PLUGINLINK *link );
-int __declspec(dllexport) Unload( void );
-__declspec(dllexport) PLUGININFO *MirandaPluginInfo( DWORD dwVersion );
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/plugins/!NotAdopted/sndVol/resource.h b/plugins/!NotAdopted/sndVol/resource.h
deleted file mode 100644
index 4646bcc9b7..0000000000
--- a/plugins/!NotAdopted/sndVol/resource.h
+++ /dev/null
@@ -1,31 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by sndVol.rc
-//
-#define IDD_OPT 101
-#define IDI_SND_ON 103
-#define IDI_SND_OFF 104
-#define IDI_MRADIO 105
-#define IDI_MRAADIO_OFF 107
-#define IDC_SLIDER1 1000
-#define IDC_VOLUME 1000
-#define IDC_TEST 1001
-#define IDC_AUTO 1002
-#define IDC_GRP 1003
-#define IDC_MUTE 1004
-#define IDC_MRADIO 1005
-#define IDC_MUTERADIO 1006
-#define IDC_CUSTOM1 1007
-#define IDC_BACKCOLOR 1008
-#define IDC_DEFCOLOR 1009
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 108
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1010
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/plugins/!NotAdopted/sndVol/snd.ico b/plugins/!NotAdopted/sndVol/snd.ico
deleted file mode 100644
index 60f5752468..0000000000
--- a/plugins/!NotAdopted/sndVol/snd.ico
+++ /dev/null
Binary files differ
diff --git a/plugins/!NotAdopted/sndVol/sndVol.aps b/plugins/!NotAdopted/sndVol/sndVol.aps
deleted file mode 100644
index 155b97c18a..0000000000
--- a/plugins/!NotAdopted/sndVol/sndVol.aps
+++ /dev/null
Binary files differ
diff --git a/plugins/!NotAdopted/sndVol/sndVol.dsp b/plugins/!NotAdopted/sndVol/sndVol.dsp
deleted file mode 100644
index 24eb2355cc..0000000000
--- a/plugins/!NotAdopted/sndVol/sndVol.dsp
+++ /dev/null
@@ -1,203 +0,0 @@
-# Microsoft Developer Studio Project File - Name="sndVol" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=sndVol - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE
-!MESSAGE NMAKE /f "sndVol.mak".
-!MESSAGE
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE
-!MESSAGE NMAKE /f "sndVol.mak" CFG="sndVol - Win32 Debug"
-!MESSAGE
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE
-!MESSAGE "sndVol - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "sndVol - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "sndVol - Win32 Release Unicode" (basierend auf "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "sndVol - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "sndVol_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O1 /I "." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "sndVol_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib dxerr8.lib dxguid.lib advapi32.lib winmm.lib /nologo /dll /map /machine:I386 /out:"..\..\bin\Release\plugins\sndVol.dll" /opt:nowin98
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "sndVol - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "sndVol_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "sndVol_EXPORTS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dxerr8.lib winmm.lib dxguid.lib /nologo /dll /debug /machine:I386 /out:"..\..\bin\Release\plugins\sndVol.dll" /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "sndVol - Win32 Release Unicode"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "sndVol___Win32_Release_Unicode"
-# PROP BASE Intermediate_Dir "sndVol___Win32_Release_Unicode"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "sndVol___Win32_Release_Unicode"
-# PROP Intermediate_Dir "sndVol___Win32_Release_Unicode"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O1 /I "." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "sndVol_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O1 /I "." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "UNICODE" /D "_UNICODE" /D "_USRDLL" /D "sndVol_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG" /d "UNICODE" /d "_UNICODE"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib dxerr8.lib dxguid.lib advapi32.lib winmm.lib /nologo /dll /map /machine:I386 /out:"..\..\bin\Release\plugins\sndVol.dll" /opt:nowin98
-# SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib dxerr8.lib dxguid.lib advapi32.lib winmm.lib /nologo /dll /map /machine:I386 /out:"..\..\bin\Release Unicode\plugins\sndVol.dll" /opt:nowin98
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "sndVol - Win32 Release"
-# Name "sndVol - Win32 Debug"
-# Name "sndVol - Win32 Release Unicode"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\dmutil.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\dxutil.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\optionsdlg.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\playSnd.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\plugin.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\dmutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dxutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\optionsdlg.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\playSnd.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\plugin.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=".\mradio-muted.ico"
-# End Source File
-# Begin Source File
-
-SOURCE=.\mradio.ico
-# End Source File
-# Begin Source File
-
-SOURCE=.\nosnd.ico
-# End Source File
-# Begin Source File
-
-SOURCE=.\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\snd.ico
-# End Source File
-# Begin Source File
-
-SOURCE=.\sndVol.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\volume.ico
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/plugins/!NotAdopted/sndVol/sndVol.dsw b/plugins/!NotAdopted/sndVol/sndVol.dsw
deleted file mode 100644
index 7e7ac094a5..0000000000
--- a/plugins/!NotAdopted/sndVol/sndVol.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "sndVol"=".\sndVol.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/plugins/!NotAdopted/sndVol/sndVol.rc b/plugins/!NotAdopted/sndVol/sndVol.rc
deleted file mode 100644
index ae4fb896a7..0000000000
--- a/plugins/!NotAdopted/sndVol/sndVol.rc
+++ /dev/null
@@ -1,199 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Russisch resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
-#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
-#pragma code_page(1251)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE MOVEABLE PURE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE MOVEABLE PURE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE MOVEABLE PURE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-#endif // Russisch resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Neutral resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_OPT DIALOGEX 0, 0, 296, 104
-STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
-FONT 8, "MS Shell Dlg", 0, 0, 0x1
-BEGIN
- GROUPBOX "Volume",IDC_GRP,0,0,296,103
- CONTROL "Slider1",IDC_VOLUME,"msctls_trackbar32",TBS_NOTICKS |
- WS_TABSTOP,6,13,284,17
- LTEXT "min",IDC_STATIC,6,27,12,8
- LTEXT "max",IDC_STATIC,276,27,14,8
- PUSHBUTTON "Preview",IDC_TEST,10,40,50,14
- CONTROL "Auto-preview",IDC_AUTO,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,65,40,57,15
- CONTROL "Mute button",IDC_MUTE,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,206,40,65,15
- CONTROL "Set mRadio volume",IDC_MRADIO,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,65,56,137,15
- CONTROL "Mute mRadio ",IDC_MUTERADIO,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,206,56,65,15
- LTEXT "Background colour:",IDC_STATIC,13,84,86,13
- CONTROL "",IDC_BACKCOLOR,"ColourPicker",WS_DISABLED | WS_TABSTOP,
- 114,83,22,11
- CONTROL "Use windows default colour",IDC_DEFCOLOR,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,169,83,112,11
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_SND_ON ICON DISCARDABLE "snd.ico"
-IDI_SND_OFF ICON DISCARDABLE "nosnd.ico"
-IDI_MRADIO ICON DISCARDABLE "mradio.ico"
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,0,3,0
- PRODUCTVERSION 0,0,3,0
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "000004b0"
- BEGIN
-#if defined(UNICODE)
- VALUE "Comments", "Requires a multiwindow-enabled contact list.\0"
- VALUE "CompanyName", "\0"
- VALUE "FileDescription", "Sound Volume plugin (UNICODE)\0"
- VALUE "FileVersion", "0, 0, 3, 0\0"
- VALUE "InternalName", "sndVol (UNICODE)\0"
- VALUE "LegalCopyright", "Copyright (C) 2006-2007\0"
- VALUE "LegalTrademarks", "Licensed under the General Public License V2 or any later version.\0"
- VALUE "OriginalFilename", "sndVol.dll\0"
- VALUE "PrivateBuild", "W\0"
- VALUE "ProductName", "sndVol plugin (UNICODE)\0"
- VALUE "ProductVersion", "0, 0, 3, 0\0"
- VALUE "SpecialBuild", "\0"
-#else
- VALUE "Comments", "Requires a multiwindow-enabled contact list.\0"
- VALUE "CompanyName", "\0"
- VALUE "FileDescription", "Sound Volume plugin\0"
- VALUE "FileVersion", "0, 0, 3, 0\0"
- VALUE "InternalName", "sndVol\0"
- VALUE "LegalCopyright", "Copyright (C) 2006\0"
- VALUE "LegalTrademarks", "Licensed under the General Public License V2 or any later version.\0"
- VALUE "OriginalFilename", "sndVol.dll\0"
- VALUE "PrivateBuild", "\0"
- VALUE "ProductName", "sndVol plugin\0"
- VALUE "ProductVersion", "0, 0, 3, 0\0"
- VALUE "SpecialBuild", "\0"
-#endif
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x0, 1200
- END
-END
-
-#endif // !_MAC
-
-#endif // Neutral resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Deutsch (Österreich) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEA)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_MRAADIO_OFF ICON DISCARDABLE "mradio-muted.ico"
-#endif // Deutsch (Österreich) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/plugins/!NotAdopted/sndVol/sndVol.sln b/plugins/!NotAdopted/sndVol/sndVol.sln
deleted file mode 100644
index 3d84726cb2..0000000000
--- a/plugins/!NotAdopted/sndVol/sndVol.sln
+++ /dev/null
@@ -1,23 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sndVol", "sndVol.vcproj", "{8852C7E2-FD61-45D8-BA15-7C18F64B845F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release UNICODE|Win32 = Release UNICODE|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {8852C7E2-FD61-45D8-BA15-7C18F64B845F}.Debug|Win32.ActiveCfg = Debug|Win32
- {8852C7E2-FD61-45D8-BA15-7C18F64B845F}.Debug|Win32.Build.0 = Debug|Win32
- {8852C7E2-FD61-45D8-BA15-7C18F64B845F}.Release UNICODE|Win32.ActiveCfg = Release UNICODE|Win32
- {8852C7E2-FD61-45D8-BA15-7C18F64B845F}.Release UNICODE|Win32.Build.0 = Release UNICODE|Win32
- {8852C7E2-FD61-45D8-BA15-7C18F64B845F}.Release|Win32.ActiveCfg = Release|Win32
- {8852C7E2-FD61-45D8-BA15-7C18F64B845F}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/!NotAdopted/sndVol/sndVol.vcproj b/plugins/!NotAdopted/sndVol/sndVol.vcproj
deleted file mode 100644
index f102395833..0000000000
--- a/plugins/!NotAdopted/sndVol/sndVol.vcproj
+++ /dev/null
@@ -1,540 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="sndVol"
- ProjectGUID="{8852C7E2-FD61-45D8-BA15-7C18F64B845F}"
- RootNamespace="sndVol"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Debug/sndVol.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;sndVol_EXPORTS"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- PrecompiledHeaderFile=".\Debug/sndVol.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="2057"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="odbc32.lib odbccp32.lib dxerr8.lib winmm.lib dxguid.lib"
- OutputFile="..\..\bin\Release\plugins\sndVol.dll"
- LinkIncremental="2"
- SuppressStartupBanner="true"
- GenerateDebugInformation="true"
- ProgramDatabaseFile=".\Debug/sndVol.pdb"
- ImportLibrary=".\Debug/sndVol.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Debug/sndVol.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/sndVol.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="."
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;sndVol_EXPORTS;_CRT_SECURE_NO_DEPRECATE"
- StringPooling="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- PrecompiledHeaderFile=".\Release/sndVol.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="2057"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="dxerr8.lib dxguid.lib winmm.lib"
- OutputFile="..\..\bin\Release\plugins\sndVol.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ProgramDatabaseFile=".\Release/sndVol.pdb"
- GenerateMapFile="true"
- MapFileName=".\Release/sndVol.map"
- ImportLibrary=".\Release/sndVol.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Release/sndVol.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release UNICODE|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="true"
- SuppressStartupBanner="true"
- TargetEnvironment="1"
- TypeLibraryName=".\Release/sndVol.tlb"
- HeaderFileName=""
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="."
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;sndVol_EXPORTS;_CRT_SECURE_NO_DEPRECATE;UNICODE;_UNICODE"
- StringPooling="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- PrecompiledHeaderFile=".\Release/sndVol.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="2057"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="dxerr8.lib dxguid.lib winmm.lib"
- OutputFile="..\..\bin\Release Unicode\plugins\sndVol.dll"
- LinkIncremental="1"
- SuppressStartupBanner="true"
- ProgramDatabaseFile=".\Release/sndVol.pdb"
- GenerateMapFile="true"
- MapFileName=".\Release/sndVol.map"
- ImportLibrary=".\Release/sndVol.lib"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- SuppressStartupBanner="true"
- OutputFile=".\Release/sndVol.bsc"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
- >
- <File
- RelativePath="dmutil.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release UNICODE|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="dxutil.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release UNICODE|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="optionsdlg.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release UNICODE|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="playSnd.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release UNICODE|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="plugin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release UNICODE|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl"
- >
- <File
- RelativePath="dmutil.h"
- >
- </File>
- <File
- RelativePath="dxutil.h"
- >
- </File>
- <File
- RelativePath="optionsdlg.h"
- >
- </File>
- <File
- RelativePath="playSnd.h"
- >
- </File>
- <File
- RelativePath="plugin.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
- >
- <File
- RelativePath=".\mradio-muted.ico"
- >
- </File>
- <File
- RelativePath=".\mradio.ico"
- >
- </File>
- <File
- RelativePath="nosnd.ico"
- >
- </File>
- <File
- RelativePath="resource.h"
- >
- </File>
- <File
- RelativePath="snd.ico"
- >
- </File>
- <File
- RelativePath="sndVol.rc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release UNICODE|Win32"
- >
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="volume.ico"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>