2397 lines
102 KiB
C
2397 lines
102 KiB
C
/*
|
|
* dsound.h DirectSound interfaces
|
|
*
|
|
* =========================================================================
|
|
*
|
|
* Open Watcom Project
|
|
*
|
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
|
*
|
|
* This file is automatically generated. Do not edit directly.
|
|
*
|
|
* =========================================================================
|
|
*/
|
|
|
|
#define COM_NO_WINDOWS_H
|
|
#include <objbase.h>
|
|
#include <float.h>
|
|
|
|
/* DirectSound version number */
|
|
#ifndef DIRECTSOUND_VERSION
|
|
#define DIRECTSOUND_VERSION 0x0900
|
|
#endif
|
|
|
|
#ifndef __DSOUND_INCLUDED__
|
|
#define __DSOUND_INCLUDED__
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef DX_SHARED_DEFINES
|
|
#define DX_SHARED_DEFINES
|
|
|
|
/* Direct3D color data type */
|
|
#ifndef D3DCOLOR_DEFINED
|
|
#define D3DCOLOR_DEFINED
|
|
typedef DWORD D3DCOLOR;
|
|
#endif
|
|
|
|
/* DirectX shared primitive data types */
|
|
typedef float D3DVALUE;
|
|
typedef float *LPD3DVALUE;
|
|
typedef DWORD *LPD3DCOLOR;
|
|
|
|
/* Direct3D vectors */
|
|
typedef struct _D3DVECTOR {
|
|
union {
|
|
D3DVALUE x;
|
|
D3DVALUE dvX;
|
|
};
|
|
union {
|
|
D3DVALUE y;
|
|
D3DVALUE dvY;
|
|
};
|
|
union {
|
|
D3DVALUE z;
|
|
D3DVALUE dvZ;
|
|
};
|
|
} D3DVECTOR;
|
|
typedef D3DVECTOR *LPD3DVECTOR;
|
|
|
|
#endif /* DX_SHARED_DEFINES */
|
|
|
|
/* Macro to make DirectSound error codes */
|
|
#define _FACDS 0x0878
|
|
#define MAKE_DSHRESULT( x ) MAKE_HRESULT( 1, _FACDS, x )
|
|
|
|
/* DirectSound effect flags */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFX_LOCHARDWARE 0x00000001L
|
|
#define DSFX_LOCSOFTWARE 0x00000002L
|
|
#endif
|
|
|
|
/* DirectSound capture effect flags */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSCFX_LOCHARDWARE 0x00000001L
|
|
#define DSCFX_LOCSOFTWARE 0x00000002L
|
|
#endif
|
|
|
|
/* DirectSound capture effect results */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSCFXR_LOCHARDWARE 0x00000010L
|
|
#define DSCFXR_LOCSOFTWARE 0x00000020L
|
|
#endif
|
|
|
|
/* DirectSound gargle effect wave shapes */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXGARGLE_WAVE_TRIANGLE 0L
|
|
#define DSFXGARGLE_WAVE_SQUARE 1L
|
|
#endif
|
|
|
|
/* DirectSound gargle effect rates */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXGARGLE_RATEHZ_MIN 1L
|
|
#define DSFXGARGLE_RATEHZ_MAX 1000L
|
|
#endif
|
|
|
|
/* DirectSound chorus waveforms */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXCHORUS_WAVE_TRIANGLE 0L
|
|
#define DSFXCHORUS_WAVE_SIN 1L
|
|
#endif
|
|
|
|
/* DirectSound chorus minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#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 0L
|
|
#define DSFXCHORUS_PHASE_MAX 4L
|
|
#endif
|
|
|
|
/* DirectSound chorus phases */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXCHORUS_PHASE_NEG_180 0L
|
|
#define DSFXCHORUS_PHASE_NEG_90 1L
|
|
#define DSFXCHORUS_PHASE_ZERO 2L
|
|
#define DSFXCHORUS_PHASE_90 3L
|
|
#define DSFXCHORUS_PHASE_180 4L
|
|
#endif
|
|
|
|
/* DirectSound flanger waveforms */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXFLANGER_WAVE_TRIANGLE 0L
|
|
#define DSFXFLANGER_WAVE_SIN 1L
|
|
#endif
|
|
|
|
/* DirectSound flanger minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXFLANGER_WETDRYMIX_MIN 0.0f
|
|
#define DSFXFLANGER_WETDRYMIN_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 0L
|
|
#define DSFXFLANGER_PHASE_MAX 4L
|
|
#define DSFXFLANGER_FEEDBACK_MIN -99.0f
|
|
#define DSFXFLANGER_FEEDBACK_MAX 99.0f
|
|
#define DSFXFLANGER_DELAY_MIN 0.0f
|
|
#define DSFXFLANGER_DELAY_MAX 4.0f
|
|
#endif
|
|
|
|
/* DirectSound flanger phases */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXFLANGER_PHASE_NEG_180 0L
|
|
#define DSFXFLANGER_PHASE_NEG_90 1L
|
|
#define DSFXFLANGER_PHASE_ZERO 2L
|
|
#define DSFXFLANGER_PHASE_90 3L
|
|
#define DSFXFLANGER_PHASE_180 4L
|
|
#endif
|
|
|
|
/* DirectSound echo minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#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 0L
|
|
#define DSFXECHO_PANDELAY_MAX 1L
|
|
#endif
|
|
|
|
/* DirectSound distortion minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#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
|
|
#endif
|
|
|
|
/* DirectSound compressor minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#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
|
|
#endif
|
|
|
|
/* DirectSound parametric equalizer minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFXPARAMEQ_CENTER_MIN 80.0f
|
|
#define DSFXPARAMEQ_CENTER_MAX 1600.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
|
|
#endif
|
|
|
|
/* DirectSound I3DL2 reverberation minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSFX_I3DL2REVERB_ROOM_MIN (-10000L)
|
|
#define DSFX_I3DL2REVERB_ROOM_MAX 0L
|
|
#define DSFX_I3DL2REVERB_ROOM_DEFAULT (-1000L)
|
|
#define DSFX_I3DL2REVERB_ROOMHF_MIN (-10000L)
|
|
#define DSFX_I3DL2REVERB_ROOMHF_MAX 0L
|
|
#define DSFX_I3DL2REVERB_ROOMHF_DEFAULT (-100L)
|
|
#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 (-10000L)
|
|
#define DSFX_I3DL2REVERB_REFLECTIONS_MAX 1000L
|
|
#define DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT (-2602L)
|
|
#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 (-10000L)
|
|
#define DSFX_I3DL2REVERB_REVERB_MAX 2000L
|
|
#define DSFX_I3DL2REVERB_REVERB_DEFAULT 200L
|
|
#define DSFX_I3DL2REVERB_REVERBDEFAULT_MIN 0.0f
|
|
#define DSFX_I3DL2REVERB_REVERBDEFAULT_MAX 0.1f
|
|
#define DSFX_I3DL2REVERB_REVERBDEFAULT_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 0L
|
|
#define DSFX_I3DL2REVERB_QUALITY_MAX 3L
|
|
#define DSFX_I3DL2REVERB_QUALITY_DEFAULT 2L
|
|
#endif
|
|
|
|
/* DirectSound waves reverberation minimum and maximum values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#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
|
|
#endif
|
|
|
|
/* DirectSound capture AEC modes */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSCFX_AEC_MODE_PASS_THROUGH 0x00000000L
|
|
#define DSCFX_AEC_MODE_HALF_DUPLEX 0x00000001L
|
|
#define DSCFX_AEC_MODE_FULL_DUPLEX 0x00000002L
|
|
#endif
|
|
|
|
/* DirectSound capture AEC status values */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED 0x00000000L
|
|
#define DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED 0x00000001L
|
|
#define DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED 0x00000002L
|
|
#define DSCFX_AEC_STATUS_CURRENTLY_CONVERGED 0x00000008L
|
|
#endif
|
|
|
|
/* DirectSound error codes */
|
|
#define DS_OK S_OK
|
|
#define DS_NO_VIRTUALIZATION MAKE_HRESULT( 0, _FACDS, 10 )
|
|
#define DSERR_ALLOCATED MAKE_DSHRESULT( 10 )
|
|
#define DSERR_CONTROLUNAVAIL MAKE_DSHRESULT( 30 )
|
|
#define DSERR_INVALIDPARAM E_INVALIDARG
|
|
#define DSERR_INVALIDCALL MAKE_DSHRESULT( 50 )
|
|
#define DSERR_GENERIC E_FAIL
|
|
#define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT( 70 )
|
|
#define DSERR_OUTOFMEMORY E_OUTOFMEMORY
|
|
#define DSERR_BADFORMAT MAKE_DSHRESULT( 100 )
|
|
#define DSERR_UNSUPPORTED E_NOTIMPL
|
|
#define DSERR_NODRIVER MAKE_DSHRESULT( 120 )
|
|
#define DSERR_ALREADYINITIALIZED MAKE_DSHRESULT( 130 )
|
|
#define DSERR_NOAGGREGATION CLASS_E_NOAGGREGATION
|
|
#define DSERR_BUFFERLOST MAKE_DSHRESULT( 150 )
|
|
#define DSERR_OTHERAPPHASPRIO MAKE_DSHRESULT( 160 )
|
|
#define DSERR_UNINITIALIZED MAKE_DSHRESULT( 170 )
|
|
#define DSERR_NOINTERFACE E_NOINTERFACE
|
|
#define DSERR_ACCESSDENIED E_ACCESSDENIED
|
|
#define DSERR_BUFFERTOOSMALL MAKE_DSHRESULT( 180 )
|
|
#define DSERR_DS8_REQUIRED MAKE_DSHRESULT( 190 )
|
|
#define DSERR_SENDLOOP MAKE_DSHRESULT( 200 )
|
|
#define DSERR_BADSENDBUFFERGUID MAKE_DSHRESULT( 210 )
|
|
#define DSERR_OBJECTNOTFOUND MAKE_DSHRESULT( 4449 )
|
|
#define DSERR_FXUNAVAILABLE MAKE_DSHRESULT( 220 )
|
|
|
|
/* DirectSound capability flags */
|
|
#define DSCAPS_PRIMARYMONO 0x00000001L
|
|
#define DSCAPS_PRIMARYSTEREO 0x00000002L
|
|
#define DSCAPS_PRIMARY8BIT 0x00000004L
|
|
#define DSCAPS_PRIMARY16BIT 0x00000008L
|
|
#define DSCAPS_CONTINUOUSRATE 0x00000010L
|
|
#define DSCAPS_EMULDRIVER 0x00000020L
|
|
#define DSCAPS_CERTIFIED 0x00000040L
|
|
#define DSCAPS_SECONDARYMONO 0x00000100L
|
|
#define DSCAPS_SECONDARYSTEREO 0x00000200L
|
|
#define DSCAPS_SECONDARY8BIT 0x00000400L
|
|
#define DSCAPS_SECONDARY16BIT 0x00000800L
|
|
|
|
/* DirectSound cooperative levels */
|
|
#define DSSCL_NORMAL 0x00000001L
|
|
#define DSSCL_PRIORITY 0x00000002L
|
|
#define DSSCL_EXCLUSIVE 0x00000003L
|
|
#define DSSCL_WRITEPRIMARY 0x00000004L
|
|
|
|
/* DirectSound speakers */
|
|
#define DSSPEAKER_DIRECTOUT 0x00000000L
|
|
#define DSSPEAKER_HEADPHONE 0x00000001L
|
|
#define DSSPEAKER_MONO 0x00000002L
|
|
#define DSSPEAKER_QUAD 0x00000003L
|
|
#define DSSPEAKER_STEREO 0x00000004L
|
|
#define DSSPEAKER_SURROUND 0x00000005L
|
|
#define DSSPEAKER_5POINT1 0x00000006L
|
|
#define DSSPEAKER_7POINT1 0x00000007L
|
|
|
|
/* DirectSound speaker geometry values */
|
|
#define DSSPEAKER_GEOMETRY_MIN 0x00000005L
|
|
#define DSSPEAKER_GEOMETRY_NARROW 0x0000000AL
|
|
#define DSSPEAKER_GEOMETRY_WIDE 0x00000014L
|
|
#define DSSPEAKER_GEOMETRY_MAX 0x000000B4L
|
|
|
|
/* Macros to manipulate DirectSound speaker constants */
|
|
#define DSSPEAKER_COMBINED( p1, p2 ) ((DWORD)((BYTE)(p1) | (DWORD)(BYTE)(p2) << 16))
|
|
#define DSSPEAKER_CONFIG( x ) ((BYTE)(x))
|
|
#define DSSPEAKER_GEOMETRY( x ) ((BYTE)(((DWORD)(x) >> 16) & 0x00FF))
|
|
|
|
/* DirectSound buffer capability flags */
|
|
#define DSBCAPS_PRIMARYBUFFER 0x00000001L
|
|
#define DSBCAPS_STATIC 0x00000002L
|
|
#define DSBCAPS_LOCHARDWARE 0x00000004L
|
|
#define DSBCAPS_LOCSOFTWARE 0x00000008L
|
|
#define DSBCAPS_CTRL3D 0x00000010L
|
|
#define DSBCAPS_CTRLFREQUENCY 0x00000020L
|
|
#define DSBCAPS_CTRLPAN 0x00000040L
|
|
#define DSBCAPS_CTRLVOLUME 0x00000080L
|
|
#define DSBCAPS_CTRLPOSITIONNOTIFY 0x00000100L
|
|
#define DSBCAPS_CTRLFX 0x00000200L
|
|
#define DSBCAPS_STICKYFOCUS 0x00004000L
|
|
#define DSBCAPS_GLOBALFOCUS 0x00008000L
|
|
#define DSBCAPS_GETCURRENTPOSITION2 0x00010000L
|
|
#define DSBCAPS_MUTE3DATMAXDISTANCE 0x00020000L
|
|
#define DSBCAPS_LOCDEFER 0x00040000L
|
|
|
|
/* IDirectSoundBuffer::Play() flags */
|
|
#define DSBPLAY_LOOPING 0x00000001L
|
|
#define DSBPLAY_LOCHARDWARE 0x00000002L
|
|
#define DSBPLAY_LOCSOFTWARE 0x00000004L
|
|
#define DSBPLAY_TERMINATEBY_TIME 0x00000008L
|
|
#define DSBPLAY_TERMINATEBY_DISTANCE 0x00000010L
|
|
#define DSBPLAY_TERMINATEBY_PRIORITY 0x00000020L
|
|
|
|
/* DirectSound buffer status values */
|
|
#define DSBSTATUS_PLAYING 0x00000001L
|
|
#define DSBSTATUS_BUFFERLOST 0x00000002L
|
|
#define DSBSTATUS_LOOPING 0x00000004L
|
|
#define DSBSTATUS_LOCHARDWARE 0x00000008L
|
|
#define DSBSTATUS_LOCSOFTWARE 0x00000010L
|
|
#define DSBSTATUS_TERMINATED 0x00000020L
|
|
|
|
/* IDirectSoundBuffer::Lock() flags */
|
|
#define DSBLOCK_FROMWRITECURSOR 0x00000001L
|
|
#define DSBLOCK_ENTIREBUFFER 0x00000002L
|
|
|
|
/* DirectSound buffer frequencies */
|
|
#define DSBFREQUENCY_ORIGINAL 0
|
|
#define DSBFREQUENCY_MIN 100
|
|
#if (DIRECTSOUND_VERSION >= 0x0900)
|
|
#define DSBFREQUENCY_MAX 200000
|
|
#else
|
|
#define DSBFREQUENCY_MIN 100000
|
|
#endif
|
|
|
|
/* DirectSound buffer pan values */
|
|
#define DSBPAN_LEFT (-10000)
|
|
#define DSBPAN_CENTER 0
|
|
#define DSBPAN_RIGHT 10000
|
|
|
|
/* DirectSound buffer volume values */
|
|
#define DSBVOLUME_MIN (-10000)
|
|
#define DSBVOLUME_MAX 0
|
|
|
|
/* DirectSound buffer size values */
|
|
#define DSBSIZE_MIN 4
|
|
#define DSBSIZE_MAX 0x0FFFFFFF
|
|
#define DSBSIZE_FX_MIN 150
|
|
|
|
/* DirectSound 3D modes */
|
|
#define DS3DMODE_NORMAL 0x00000000L
|
|
#define DS3DMODE_RELATIVE 0x00000001L
|
|
#define DS3DMODE_DISABLE 0x00000002L
|
|
|
|
/* DirectSound 3D apply modes */
|
|
#define DS3D_IMMEDIATE 0x00000000L
|
|
#define DS3D_DEFERRED 0x00000001L
|
|
|
|
/* DirectSound 3D minimum and maximum values */
|
|
#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 0L
|
|
#define DS3D_MAXCONEANGLE 360L
|
|
#define DS3D_DEFAULTCONEANGLE 360L
|
|
#define DS3D_DEFAULTCONEOUTSIDEVOLUME DSBVOLUME_MAX
|
|
|
|
/* DirectSound capture capability flags */
|
|
#define DSCCAPS_EMULDRIVER DSCAPS_EMULDRIVER
|
|
#define DSCCAPS_CERTIFIED DSCAPS_CERTIFIED
|
|
#define DSCCAPS_MULTIPLECAPTURE 0x00000001L
|
|
|
|
/* DirectSound capture buffer capability flags */
|
|
#define DSCBCAPS_WAVEMAPPED 0x80000000L
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DSCBCAPS_CTRLFX 0x00000200L
|
|
#endif
|
|
|
|
/* IDirectSoundCaptureBuffer::Lock() flags */
|
|
#define DSCBLOCK_ENTIREBUFFER 0x00000001L
|
|
|
|
/* DirectSound capture buffer status values */
|
|
#define DSCBSTATUS_CAPTURING 0x00000001L
|
|
#define DSCBSTATUS_LOOPING 0x00000002L
|
|
|
|
/* IDirectSoundCaptureBuffer::Start() flags */
|
|
#define DSCBSTART_LOOPING 0x00000001L
|
|
|
|
/* DirectSound buffer position notify offset special value */
|
|
#define DSBPN_OFFSETSTOP 0xFFFFFFFFL
|
|
|
|
/* IDirectSound8::VerifyCertification() flags */
|
|
#define DS_CERTIFIED 0x00000000L
|
|
#define DS_UNCERTIFIED 0x00000001L
|
|
|
|
/* I3DL2 material presets */
|
|
#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
|
|
|
|
/* I3DL2 environment presets */
|
|
#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
|
|
#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
|
|
|
|
/* DirectSound capabilities */
|
|
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;
|
|
typedef DSCAPS *LPDSCAPS;
|
|
typedef const DSCAPS *LPCDSCAPS;
|
|
|
|
/* DirectSound buffer capabilities */
|
|
typedef struct _DSBCAPS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwBufferBytes;
|
|
DWORD dwUnlockTransferRate;
|
|
DWORD dwPlayCpuOverhead;
|
|
} DSBCAPS;
|
|
typedef DSBCAPS *LPDSBCAPS;
|
|
typedef const DSBCAPS *LPCDSBCAPS;
|
|
|
|
/* DirectSound effect descriptor */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSEFFECTDESC {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
GUID guidDSFXClass;
|
|
DWORD_PTR dwReserved1;
|
|
DWORD_PTR dwReserved2;
|
|
} DSEFFECTDESC;
|
|
typedef DSEFFECTDESC *LPDSEFFECTDESC;
|
|
typedef const DSEFFECTDESC *LPCDSEFFECTDESC;
|
|
#endif
|
|
|
|
/* DirectSound effect results */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
enum {
|
|
DSFXR_PRESENT = 0,
|
|
DSFXR_LOCHARDWARE = 1,
|
|
DSFXR_LOCSOFTWARE = 2,
|
|
DSFXR_UNALLOCATED = 3,
|
|
DSFXR_FAILED = 4,
|
|
DSFXR_UNKNOWN = 5,
|
|
DSFXR_SENDLOOP = 6
|
|
};
|
|
#endif
|
|
|
|
/* DirectSound capture effect descriptor */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSCEFFECTDESC {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
GUID guidDSCFXClass;
|
|
GUID guidDSCFXInstance;
|
|
DWORD dwReserved1;
|
|
DWORD dwReserved2;
|
|
} DSCEFFECTDESC;
|
|
typedef DSCEFFECTDESC *LPDSCEFFECTDESC;
|
|
typedef const DSCEFFECTDESC *LPCDSCEFFECTDESC;
|
|
#endif
|
|
|
|
/* DirectSound buffer descriptor */
|
|
typedef struct _DSBUFFERDESC {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwBufferBytes;
|
|
DWORD dwReserved;
|
|
LPWAVEFORMATEX lpwfxFormat;
|
|
#if (DIRECTSOUND_VERSION >= 0x0700)
|
|
GUID guid3DAlgorithm;
|
|
#endif
|
|
} DSBUFFERDESC;
|
|
typedef DSBUFFERDESC *LPDSBUFFERDESC;
|
|
typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
|
|
|
|
/* DirectSound buffer descriptor (version 1) */
|
|
typedef struct _DSBUFFERDESC1 {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwBufferBytes;
|
|
DWORD dwReserved;
|
|
LPWAVEFORMATEX lpwfxFormat;
|
|
} DSBUFFERDESC1;
|
|
typedef DSBUFFERDESC1 *LPDSBUFFERDESC1;
|
|
typedef const DSBUFFERDESC1 *LPCDSBUFFERDESC1;
|
|
|
|
/* DirectSound 3D buffer */
|
|
typedef struct _DS3DBUFFER {
|
|
DWORD dwSize;
|
|
D3DVECTOR vPosition;
|
|
D3DVECTOR vVelocity;
|
|
DWORD dwInsideConeAngle;
|
|
DWORD dwOutsideConeAngle;
|
|
D3DVECTOR vConeOrientation;
|
|
LONG lConeOutsideVolume;
|
|
D3DVALUE flMinDistance;
|
|
D3DVALUE flMaxDistance;
|
|
DWORD dwMode;
|
|
} DS3DBUFFER;
|
|
typedef DS3DBUFFER *LPDS3DBUFFER;
|
|
typedef const DS3DBUFFER *LPCDS3DBUFFER;
|
|
|
|
/* DirectSound 3D listener */
|
|
typedef struct _DS3DLISTENER {
|
|
DWORD dwSize;
|
|
D3DVECTOR vPosition;
|
|
D3DVECTOR vVelocity;
|
|
D3DVECTOR vOrientFront;
|
|
D3DVECTOR vOrientTop;
|
|
D3DVALUE flDistanceFactor;
|
|
D3DVALUE flRolloffFactor;
|
|
D3DVALUE flDopplerFactor;
|
|
} DS3DLISTENER;
|
|
typedef DS3DLISTENER *LPDS3DLISTENER;
|
|
typedef const DS3DLISTENER *LPCDS3DLISTENER;
|
|
|
|
/* DirectSound capture capabilities */
|
|
typedef struct _DSCCAPS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwFormats;
|
|
DWORD dwChannels;
|
|
} DSCCAPS;
|
|
typedef DSCCAPS *LPDSCCAPS;
|
|
typedef const DSCCAPS *LPCDSCCAPS;
|
|
|
|
/* DirectSound capture buffer descriptor (version 1) */
|
|
typedef struct _DSCBUFFERDESC1 {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwBufferBytes;
|
|
DWORD dwReserved;
|
|
LPWAVEFORMATEX lpwfxFormat;
|
|
} DSCBUFFERDESC1;
|
|
typedef DSCBUFFERDESC1 *LPDSCBUFFERDESC1;
|
|
|
|
/* DirectSound capture buffer descriptor */
|
|
typedef struct _DSCBUFFERDESC {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwBufferBytes;
|
|
DWORD dwReserved;
|
|
LPWAVEFORMATEX lpwfxFormat;
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
DWORD dwFXCount;
|
|
LPDSCEFFECTDESC lpDSCFXDesc;
|
|
#endif
|
|
} DSCBUFFERDESC;
|
|
typedef DSCBUFFERDESC *LPDSCBUFFERDESC;
|
|
typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
|
|
|
|
/* DirectSound capture buffer capabilities */
|
|
typedef struct _DSCBCAPS {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwBufferBytes;
|
|
DWORD dwReserved;
|
|
} DSCBCAPS;
|
|
typedef DSCBCAPS *LPDSCBCAPS;
|
|
typedef const DSCBCAPS *LPCDSCBCAPS;
|
|
|
|
/* DirectSound buffer position notify */
|
|
typedef struct _DSBPOSITIONNOTIFY {
|
|
DWORD dwOffset;
|
|
HANDLE hEventNotify;
|
|
} DSBPOSITIONNOTIFY;
|
|
typedef DSBPOSITIONNOTIFY *LPDSBPOSITIONNOTIFY;
|
|
typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
|
|
|
|
/* DirectSound enumeration callback */
|
|
typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)( LPGUID, LPCSTR, LPCSTR, LPVOID );
|
|
typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)( LPGUID, LPCWSTR, LPCWSTR, LPVOID );
|
|
#ifdef UNICODE
|
|
#define LPDSENUMCALLBACK LPDSENUMCALLBACKW
|
|
#else
|
|
#define LPDSENUMCALLBACK LPDSENUMCALLBACKA
|
|
#endif
|
|
|
|
/* DirectSound gargle effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXGargle {
|
|
DWORD dwRateHz;
|
|
DWORD dwWaveShape;
|
|
} DSFXGargle;
|
|
typedef DSFXGargle *LPDSFXGargle;
|
|
typedef const DSFXGargle *LPCDSFXGargle;
|
|
#endif
|
|
|
|
/* DirectSound chorus effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXChorus {
|
|
FLOAT fWetDryMix;
|
|
FLOAT fDepth;
|
|
FLOAT fFeedback;
|
|
FLOAT fFrequency;
|
|
LONG lWaveform;
|
|
FLOAT fDelay;
|
|
LONG lPhase;
|
|
} DSFXChorus;
|
|
typedef DSFXChorus *LPDSFXChorus;
|
|
typedef const DSFXChorus *LPCDSFXChorus;
|
|
#endif
|
|
|
|
/* DirectSound flanger effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXFlanger {
|
|
FLOAT fWetDryMix;
|
|
FLOAT fDepth;
|
|
FLOAT fFeedback;
|
|
FLOAT fFrequency;
|
|
LONG lWaveform;
|
|
FLOAT fDelay;
|
|
LONG lPhase;
|
|
} DSFXFlanger;
|
|
typedef DSFXFlanger *LPDSFXFlanger;
|
|
typedef const DSFXFlanger *LPCDSFXFlanger;
|
|
#endif
|
|
|
|
/* DirectSound echo effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXEcho {
|
|
FLOAT fWetDryMix;
|
|
FLOAT fFeedback;
|
|
FLOAT fLeftDelay;
|
|
FLOAT fRightDelay;
|
|
LONG lPanDelay;
|
|
} DSFXEcho;
|
|
typedef DSFXEcho *LPDSFXEcho;
|
|
typedef const DSFXEcho *LPCDSFXEcho;
|
|
#endif
|
|
|
|
/* DirectSound distortion effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXDistortion {
|
|
FLOAT fGain;
|
|
FLOAT fEdge;
|
|
FLOAT fPostEQCenterFrequency;
|
|
FLOAT fPostEQBandwidth;
|
|
FLOAT fPreLowpassCutoff;
|
|
} DSFXDistortion;
|
|
typedef DSFXDistortion *LPDSFXDistortion;
|
|
typedef const DSFXDistortion *LPCDSFXDistortion;
|
|
#endif
|
|
|
|
/* DirectSound compressor effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXCompressor {
|
|
FLOAT fGain;
|
|
FLOAT fAttack;
|
|
FLOAT fRelease;
|
|
FLOAT fThreshold;
|
|
FLOAT fRatio;
|
|
FLOAT fPredelay;
|
|
} DSFXCompressor;
|
|
typedef DSFXCompressor *LPDSFXCompressor;
|
|
typedef const DSFXCompressor *LPCDSFXCompressor;
|
|
#endif
|
|
|
|
/* DirectSound parametric equalizer effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXParamEq {
|
|
FLOAT fCenter;
|
|
FLOAT fBandwidth;
|
|
FLOAT fGain;
|
|
} DSFXParamEq;
|
|
typedef DSFXParamEq *LPDSFXParamEq;
|
|
typedef const DSFXParamEq *LPCDSFXParamEq;
|
|
#endif
|
|
|
|
/* DirectSound I3DL2 reverberation effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXI3DL2Reverb {
|
|
LONG lRoom;
|
|
LONG lRoomHF;
|
|
FLOAT flRoomRolloffFactor;
|
|
FLOAT flDecayTime;
|
|
FLOAT flDecayHFRatio;
|
|
LONG lReflections;
|
|
FLOAT flReflectionsDelay;
|
|
LONG lReverb;
|
|
FLOAT flReverbDelay;
|
|
FLOAT flDiffusion;
|
|
FLOAT flDensity;
|
|
FLOAT flHFReference;
|
|
} DSFXI3DL2Reverb;
|
|
typedef DSFXI3DL2Reverb *LPDSFXI3DL2Reverb;
|
|
typedef const DSFXI3DL2Reverb *LPCDSFXI3DL2Reverb;
|
|
#endif
|
|
|
|
/* DirectSound waves reverberation effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSFXWavesReverb {
|
|
FLOAT fInGain;
|
|
FLOAT fReverbMix;
|
|
FLOAT fReverbTime;
|
|
FLOAT fHighFreqRTRatio;
|
|
} DSFXWavesReverb;
|
|
typedef DSFXWavesReverb *LPDSFXWavesReverb;
|
|
typedef const DSFXWavesReverb *LPCDSFXWavesReverb;
|
|
#endif
|
|
|
|
/* DirectSound capture AEC effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSCFXAec {
|
|
BOOL fEnable;
|
|
BOOL fNoiseFill;
|
|
DWORD dwMode;
|
|
} DSCFXAec;
|
|
typedef DSCFXAec *LPDSCFXAec;
|
|
typedef const DSCFXAec *LPCDSCFXAec;
|
|
#endif
|
|
|
|
/* DirectSound capture noise suppress effect */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef struct _DSCFXNoiseSuppress {
|
|
BOOL fEnable;
|
|
} DSCFXNoiseSuppress;
|
|
typedef DSCFXNoiseSuppress *LPDSCFXNoiseSuppress;
|
|
typedef const DSCFXNoiseSuppress *LPCDSCFXNoiseSuppress;
|
|
#endif
|
|
|
|
/* DirectSound I3DL2 materials */
|
|
enum {
|
|
DSFX_I3DL2_MATERIAL_PRESET_SINGLEWINDOW = 0,
|
|
DSFX_I3DL2_MATERIAL_PRESET_DOUBLEWINDOW = 1,
|
|
DSFX_I3DL2_MATERIAL_PRESET_THINDOOR = 2,
|
|
DSFX_I3DL2_MATERIAL_PRESET_THICKDOOR = 3,
|
|
DSFX_I3DL2_MATERIAL_PRESET_WOODWALL = 4,
|
|
DSFX_I3DL2_MATERIAL_PRESET_BRICKWALL = 5,
|
|
DSFX_I3DL2_MATERIAL_PRESET_STONEWALL = 6,
|
|
DSFX_I3DL2_MATERIAL_PRESET_CURTAIN = 7
|
|
};
|
|
|
|
/* DirectSound I3DL2 environments */
|
|
enum {
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_DEFAULT = 0,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_GENERIC = 1,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL = 2,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_ROOM = 3,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_BATHROOM = 4,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM = 5,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_STONEROOM = 6,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM = 7,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL = 8,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_CAVE = 9,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_ARENA = 10,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_HANGAR = 11,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY = 12,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_HALLWAY = 13,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR = 14,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_ALLEY = 15,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_FOREST = 16,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_CITY = 17,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS = 18,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_QUARRY = 19,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_PLAIN = 20,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT = 21,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE = 22,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_UNDERWATER = 23,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_SMALLROOM = 24,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM = 25,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEROOM = 26,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL = 27,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEHALL = 28,
|
|
DSFX_I3DL2_ENVIRONMENT_PRESET_PLATE = 29
|
|
};
|
|
|
|
/* DirectSound interface aliases */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#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 interface pointers */
|
|
typedef interface IDirectSound *LPDIRECTSOUND;
|
|
typedef interface IDirectSoundBuffer *LPDIRECTSOUNDBUFFER;
|
|
typedef interface IDirectSound3DListener *LPDIRECTSOUND3DLISTENER;
|
|
typedef interface IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER;
|
|
typedef interface IDirectSoundCapture *LPDIRECTSOUNDCAPTURE;
|
|
typedef interface IDirectSoundCaptureBuffer *LPDIRECTSOUNDCAPTUREBUFFER;
|
|
typedef interface IDirectSoundNotify *LPDIRECTSOUNDNOTIFY;
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
typedef interface IDirectSoundFXGargle *LPDIRECTSOUNDFXGARGLE;
|
|
typedef interface IDirectSoundFXChorus *LPDIRECTSOUNDFXCHORUS;
|
|
typedef interface IDirectSoundFXFlanger *LPDIRECTSOUNDFXFLANGER;
|
|
typedef interface IDirectSoundFXEcho *LPDIRECTSOUNDFXECHO;
|
|
typedef interface IDirectSoundFXDistortion *LPDIRECTSOUNDFXDISTORTION;
|
|
typedef interface IDirectSoundFXCompressor *LPDIRECTSOUNDFXCOMPRESSOR;
|
|
typedef interface IDirectSoundFXParamEq *LPDIRECTSOUNDFXPARAMEQ;
|
|
typedef interface IDirectSoundFXWavesReverb *LPDIRECTSOUNDFXWAVESREVERB;
|
|
typedef interface IDirectSoundFXI3DL2Reverb *LPDIRECTSOUNDFXI3DL2REVERB;
|
|
typedef interface IDirectSoundCaptureFXAec *LPDIRECTSOUNDCAPTUREFXAEC;
|
|
typedef interface IDirectSoundCaptureFXNoiseSuppress *LPDIRECTSOUNDCAPTUREFXNOISESUPPRESS;
|
|
typedef interface IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX;
|
|
typedef interface IDirectSound8 *LPDIRECTSOUND8;
|
|
typedef interface IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8;
|
|
typedef interface IDirectSound3DListener8 *LPDIRECTSOUND3DLISTENER8;
|
|
typedef interface IDirectSound3DBuffer8 *LPDIRECTSOUND3DBUFFER8;
|
|
typedef interface IDirectSoundCapture8 *LPDIRECTSOUNDCAPTURE8;
|
|
typedef interface IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8;
|
|
typedef interface IDirectSoundNotify8 *LPDIRECTSOUNDNOTIFY8;
|
|
typedef interface IDirectSoundFXGargle8 *LPDIRECTSOUNDFXGARGLE8;
|
|
typedef interface IDirectSoundFXChorus8 *LPDIRECTSOUNDFXCHORUS8;
|
|
typedef interface IDirectSoundFXFlanger8 *LPDIRECTSOUNDFXFLANGER8;
|
|
typedef interface IDirectSoundFXEcho8 *LPDIRECTSOUNDFXECHO8;
|
|
typedef interface IDirectSoundFXDistortion8 *LPDIRECTSOUNDFXDISTORTION8;
|
|
typedef interface IDirectSoundFXCompressor8 *LPDIRECTSOUNDFXCOMPRESSOR8;
|
|
typedef interface IDirectSoundFXParamEq8 *LPDIRECTSOUNDFXPARAMEQ8;
|
|
typedef interface IDirectSoundFXWavesReverb8 *LPDIRECTSOUNDFXWAVESREVERB8;
|
|
typedef interface IDirectSoundFXI3DL2Reverb8 *LPDIRECTSOUNDFXI3DL2REVERB8;
|
|
typedef interface IDirectSoundCaptureFXAec8 *LPDIRECTSOUNDCAPTUREFXAEC8;
|
|
typedef interface IDirectSoundCaptureFXNoiseSuppress8 *LPDIRECTSOUNDCAPTUREFXNOISESUPPRESS8;
|
|
typedef interface IDirectSoundFullDuplex8 *LPDIRECTSOUNDFULLDUPLEX8;
|
|
#endif
|
|
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
|
|
|
|
/* GUIDs */
|
|
EXTERN_C const CLSID CLSID_DirectSound;
|
|
EXTERN_C const CLSID CLSID_DirectSound8;
|
|
EXTERN_C const CLSID CLSID_DirectSoundCapture;
|
|
EXTERN_C const CLSID CLSID_DirectSoundCapture8;
|
|
EXTERN_C const CLSID CLSID_DirectSoundFullDuplex;
|
|
EXTERN_C const GUID DSDEVID_DefaultPlayback;
|
|
EXTERN_C const GUID DSDEVID_DefaultCapture;
|
|
EXTERN_C const GUID DSDEVID_DefaultVoicePlayback;
|
|
EXTERN_C const GUID DSDEVID_DefaultVoiceCapture;
|
|
EXTERN_C const IID IID_IDirectSound;
|
|
EXTERN_C const IID IID_IDirectSoundBuffer;
|
|
EXTERN_C const IID IID_IDirectSound3DListener;
|
|
EXTERN_C const IID IID_IDirectSound3DBuffer;
|
|
EXTERN_C const IID IID_IDirectSoundCapture;
|
|
EXTERN_C const IID IID_IDirectSoundCaptureBuffer;
|
|
EXTERN_C const IID IID_IDirectSoundNotify;
|
|
EXTERN_C const GUID DS3DALG_NO_VIRTUALIZATION;
|
|
EXTERN_C const GUID DS3DALG_HRTF_FULL;
|
|
EXTERN_C const GUID DS3DALG_HRTF_LIGHT;
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
EXTERN_C const IID IID_IDirectSound8;
|
|
EXTERN_C const IID IID_IDirectSoundBuffer8;
|
|
EXTERN_C const GUID GUID_All_Objects;
|
|
EXTERN_C const IID IID_IDirectSoundCaptureBuffer8;
|
|
EXTERN_C const IID IID_IDirectSoundFXGargle;
|
|
EXTERN_C const IID IID_IDirectSoundFXChorus;
|
|
EXTERN_C const IID IID_IDirectSoundFXFlanger;
|
|
EXTERN_C const IID IID_IDirectSoundFXEcho;
|
|
EXTERN_C const IID IID_IDirectSoundFXDistortion;
|
|
EXTERN_C const IID IID_IDirectSoundFXCompressor;
|
|
EXTERN_C const IID IID_IDirectSoundFXParamEq;
|
|
EXTERN_C const IID IID_IDirectSoundFXI3DL2Reverb;
|
|
EXTERN_C const IID IID_IDirectSoundFXWavesReverb;
|
|
EXTERN_C const IID IID_IDirectSoundCaptureFXAec;
|
|
EXTERN_C const IID IID_IDirectSoundCaptureFXNoiseSuppress;
|
|
EXTERN_C const IID IID_IDirectSoundFullDuplex;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_GARGLE;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_CHORUS;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_FLANGER;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_ECHO;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_DISTORTION;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_COMPRESSOR;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_PARAMEQ;
|
|
EXTERN_C const GUID GUID_DSFX_STANDARD_I3DL2REVERB;
|
|
EXTERN_C const GUID GUID_DSFX_WAVES_REVERB;
|
|
EXTERN_C const GUID GUID_DSCFX_CLASS_AEC;
|
|
EXTERN_C const GUID GUID_DSCFX_MS_AEC;
|
|
EXTERN_C const GUID GUID_DSCFX_SYSTEM_AEC;
|
|
EXTERN_C const GUID GUID_DSCFX_CLASS_NS;
|
|
EXTERN_C const GUID GUID_DSCFX_MS_NS;
|
|
EXTERN_C const GUID GUID_DSCFX_SYSTEM_NS;
|
|
#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
|
|
#define DS3DALG_DEFAULT GUID_NULL
|
|
|
|
/* IDirectSound interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSound
|
|
DECLARE_INTERFACE_( IDirectSound, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSound methods */
|
|
STDMETHOD( CreateSoundBuffer )( THIS_ LPCDSBUFFERDESC, LPDIRECTSOUNDBUFFER *, LPUNKNOWN ) PURE;
|
|
STDMETHOD( GetCaps )( THIS_ LPDSCAPS ) PURE;
|
|
STDMETHOD( DuplicateSoundBuffer )( THIS_ LPDIRECTSOUNDBUFFER, LPDIRECTSOUNDBUFFER * ) PURE;
|
|
STDMETHOD( SetCooperativeLevel )( THIS_ HWND, DWORD ) PURE;
|
|
STDMETHOD( Compact )( THIS ) PURE;
|
|
STDMETHOD( GetSpeakerConfig )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( SetSpeakerConfig )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( Initialize )( THIS_ LPCGUID ) PURE;
|
|
};
|
|
|
|
/* IDirectSound8 interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSound8
|
|
DECLARE_INTERFACE_( IDirectSound8, IDirectSound ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSound methods */
|
|
STDMETHOD( CreateSoundBuffer )( THIS_ LPCDSBUFFERDESC, LPDIRECTSOUNDBUFFER *, LPUNKNOWN ) PURE;
|
|
STDMETHOD( GetCaps )( THIS_ LPDSCAPS ) PURE;
|
|
STDMETHOD( DuplicateSoundBuffer )( THIS_ LPDIRECTSOUNDBUFFER, LPDIRECTSOUNDBUFFER * ) PURE;
|
|
STDMETHOD( SetCooperativeLevel )( THIS_ HWND, DWORD ) PURE;
|
|
STDMETHOD( Compact )( THIS ) PURE;
|
|
STDMETHOD( GetSpeakerConfig )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( SetSpeakerConfig )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( Initialize )( THIS_ LPCGUID ) PURE;
|
|
|
|
/* IDirectSound8 methods */
|
|
STDMETHOD( VerifyCertification )( THIS_ LPDWORD ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundBuffer interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundBuffer
|
|
DECLARE_INTERFACE_( IDirectSoundBuffer, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundBuffer methods */
|
|
STDMETHOD( GetCaps )( THIS_ LPDSBCAPS ) PURE;
|
|
STDMETHOD( GetCurrentPosition )( THIS_ LPDWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetFormat )( THIS_ LPWAVEFORMATEX, DWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetVolume )( THIS_ LPLONG ) PURE;
|
|
STDMETHOD( GetPan )( THIS_ LPLONG ) PURE;
|
|
STDMETHOD( GetFrequency )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( GetStatus )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( Initialize )( THIS_ LPDIRECTSOUND, LPCDSBUFFERDESC ) PURE;
|
|
STDMETHOD( Lock )( THIS_ DWORD, DWORD, LPVOID *, LPDWORD, LPVOID *, LPDWORD, DWORD ) PURE;
|
|
STDMETHOD( Play )( THIS_ DWORD, DWORD, DWORD ) PURE;
|
|
STDMETHOD( SetCurrentPosition )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( SetFormat )( THIS_ LPCWAVEFORMATEX ) PURE;
|
|
STDMETHOD( SetVolume )( THIS_ LONG ) PURE;
|
|
STDMETHOD( SetPan )( THIS_ LONG ) PURE;
|
|
STDMETHOD( SetFrequency )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( Stop )( THIS ) PURE;
|
|
STDMETHOD( Unlock )( THIS_ LPVOID, DWORD, LPVOID, DWORD ) PURE;
|
|
STDMETHOD( Restore )( THIS ) PURE;
|
|
};
|
|
|
|
/* IDirectSoundBuffer8 interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundBuffer8
|
|
DECLARE_INTERFACE_( IDirectSoundBuffer8, IDirectSoundBuffer ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundBuffer methods */
|
|
STDMETHOD( GetCaps )( THIS_ LPDSBCAPS ) PURE;
|
|
STDMETHOD( GetCurrentPosition )( THIS_ LPDWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetFormat )( THIS_ LPWAVEFORMATEX, DWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetVolume )( THIS_ LPLONG ) PURE;
|
|
STDMETHOD( GetPan )( THIS_ LPLONG ) PURE;
|
|
STDMETHOD( GetFrequency )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( GetStatus )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( Initialize )( THIS_ LPDIRECTSOUND, LPCDSBUFFERDESC ) PURE;
|
|
STDMETHOD( Lock )( THIS_ DWORD, DWORD, LPVOID *, LPDWORD, LPVOID *, LPDWORD, DWORD ) PURE;
|
|
STDMETHOD( Play )( THIS_ DWORD, DWORD, DWORD ) PURE;
|
|
STDMETHOD( SetCurrentPosition )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( SetFormat )( THIS_ LPCWAVEFORMATEX ) PURE;
|
|
STDMETHOD( SetVolume )( THIS_ LONG ) PURE;
|
|
STDMETHOD( SetPan )( THIS_ LONG ) PURE;
|
|
STDMETHOD( SetFrequency )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( Stop )( THIS ) PURE;
|
|
STDMETHOD( Unlock )( THIS_ LPVOID, DWORD, LPVOID, DWORD ) PURE;
|
|
STDMETHOD( Restore )( THIS ) PURE;
|
|
|
|
/* IDirectSoundBuffer8 methods */
|
|
STDMETHOD( SetFX )( THIS_ DWORD, LPDSEFFECTDESC, LPDWORD ) PURE;
|
|
STDMETHOD( AcquireResources )( THIS_ DWORD, DWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetObjectInPath )( THIS_ REFGUID, DWORD, REFGUID, LPVOID * ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSound3DListener interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSound3DListener
|
|
DECLARE_INTERFACE_( IDirectSound3DListener, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSound3DListener methods */
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDS3DLISTENER ) PURE;
|
|
STDMETHOD( GetDistanceFactor )( THIS_ D3DVALUE * ) PURE;
|
|
STDMETHOD( GetDopplerFactor )( THIS_ D3DVALUE * ) PURE;
|
|
STDMETHOD( GetOrientation )( THIS_ D3DVECTOR *, D3DVECTOR * ) PURE;
|
|
STDMETHOD( GetPosition )( THIS_ D3DVECTOR * ) PURE;
|
|
STDMETHOD( GetRolloffFactor )( THIS_ D3DVALUE * ) PURE;
|
|
STDMETHOD( GetVelocity )( THIS_ D3DVECTOR * ) PURE;
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDS3DLISTENER, DWORD ) PURE;
|
|
STDMETHOD( SetDistanceFactor )( THIS_ D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetDopplerFactor )( THIS_ D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetOrientation )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetPosition )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetRolloffFactor )( THIS_ D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetVelocity )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( CommitDeferredSettings )( THIS ) PURE;
|
|
};
|
|
|
|
/* IDirectSound3DBuffer interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSound3DBuffer
|
|
DECLARE_INTERFACE_( IDirectSound3DBuffer, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSound3DBuffer methods */
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDS3DBUFFER ) PURE;
|
|
STDMETHOD( GetConeAngles )( THIS_ LPDWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetConeOrientation )( THIS_ D3DVECTOR * ) PURE;
|
|
STDMETHOD( GetConeOutsideVolume )( THIS_ LPLONG ) PURE;
|
|
STDMETHOD( GetMaxDistance )( THIS_ D3DVALUE * ) PURE;
|
|
STDMETHOD( GetMinDistance )( THIS_ D3DVALUE * ) PURE;
|
|
STDMETHOD( GetMode )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( GetPosition )( THIS_ D3DVECTOR * ) PURE;
|
|
STDMETHOD( GetVelocity )( THIS_ D3DVECTOR * ) PURE;
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDS3DBUFFER, DWORD ) PURE;
|
|
STDMETHOD( SetConeAngles )( THIS_ DWORD, DWORD, DWORD ) PURE;
|
|
STDMETHOD( SetConeOrientation )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetConeOutsideVolume )( THIS_ LONG, DWORD ) PURE;
|
|
STDMETHOD( SetMaxDistance )( THIS_ D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetMinDistance )( THIS_ D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetMode )( THIS_ DWORD, DWORD ) PURE;
|
|
STDMETHOD( SetPosition )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD ) PURE;
|
|
STDMETHOD( SetVelocity )( THIS_ D3DVALUE, D3DVALUE, D3DVALUE, DWORD ) PURE;
|
|
};
|
|
|
|
/* IDirectSoundCapture interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundCapture
|
|
DECLARE_INTERFACE_( IDirectSoundCapture, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundCapture methods */
|
|
STDMETHOD( CreateCaptureBuffer )( THIS_ LPCDSCBUFFERDESC, LPDIRECTSOUNDCAPTUREBUFFER *, LPUNKNOWN ) PURE;
|
|
STDMETHOD( GetCaps )( THIS_ LPDSCCAPS ) PURE;
|
|
STDMETHOD( Initialize )( THIS_ LPCGUID ) PURE;
|
|
};
|
|
|
|
/* IDirectSoundCaptureBuffer interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundCaptureBuffer
|
|
DECLARE_INTERFACE_( IDirectSoundCaptureBuffer, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundCaptureBuffer methods */
|
|
STDMETHOD( GetCaps )( THIS_ LPDSCBCAPS ) PURE;
|
|
STDMETHOD( GetCurrentPosition )( THIS_ LPDWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetFormat )( THIS_ LPWAVEFORMATEX, DWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetStatus )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( Initialize )( THIS_ LPDIRECTSOUNDCAPTURE, LPCDSCBUFFERDESC ) PURE;
|
|
STDMETHOD( Lock )( THIS_ DWORD, DWORD, LPVOID *, LPDWORD, LPVOID *, LPDWORD, DWORD ) PURE;
|
|
STDMETHOD( Start )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( Stop )( THIS ) PURE;
|
|
STDMETHOD( Unlock )( THIS_ LPVOID, DWORD, LPVOID, DWORD ) PURE;
|
|
};
|
|
|
|
/* IDirectSoundCaptureBuffer8 interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundCaptureBuffer8
|
|
DECLARE_INTERFACE_( IDirectSoundCaptureBuffer8, IDirectSoundCaptureBuffer ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundCaptureBuffer methods */
|
|
STDMETHOD( GetCaps )( THIS_ LPDSCBCAPS ) PURE;
|
|
STDMETHOD( GetCurrentPosition )( THIS_ LPDWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetFormat )( THIS_ LPWAVEFORMATEX, DWORD, LPDWORD ) PURE;
|
|
STDMETHOD( GetStatus )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( Initialize )( THIS_ LPDIRECTSOUNDCAPTURE, LPCDSCBUFFERDESC ) PURE;
|
|
STDMETHOD( Lock )( THIS_ DWORD, DWORD, LPVOID *, LPDWORD, LPVOID *, LPDWORD, DWORD ) PURE;
|
|
STDMETHOD( Start )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( Stop )( THIS ) PURE;
|
|
STDMETHOD( Unlock )( THIS_ LPVOID, DWORD, LPVOID, DWORD ) PURE;
|
|
|
|
/* IDirectSoundCaptureBuffer8 methods */
|
|
STDMETHOD( GetObjectInPath )( THIS_ REFGUID, DWORD, REFGUID, LPVOID * ) PURE;
|
|
STDMETHOD( GetFXStatus )( THIS_ DWORD, LPDWORD ) PURE;
|
|
};
|
|
|
|
/* IDirectSoundNotify interface */
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundNotify
|
|
DECLARE_INTERFACE_( IDirectSoundNotify, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundNotify methods */
|
|
STDMETHOD( SetNotificationPositions )( THIS_ DWORD, LPCDSBPOSITIONNOTIFY ) PURE;
|
|
};
|
|
|
|
/* IDirectSoundFXGargle interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXGargle
|
|
DECLARE_INTERFACE_( IDirectSoundFXGargle, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXGargle methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXGargle ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXGargle ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXChorus interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXChorus
|
|
DECLARE_INTERFACE_( IDirectSoundFXChorus, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXChorus methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXChorus ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXChorus ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXFlanger interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXFlanger
|
|
DECLARE_INTERFACE_( IDirectSoundFXFlanger, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXFlanger methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXFlanger ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXFlanger ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXEcho interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXEcho
|
|
DECLARE_INTERFACE_( IDirectSoundFXEcho, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXEcho methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXEcho ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXEcho ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXDistortion interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXDistortion
|
|
DECLARE_INTERFACE_( IDirectSoundFXDistortion, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXDistortion methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXDistortion ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXDistortion ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXCompressor interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXCompressor
|
|
DECLARE_INTERFACE_( IDirectSoundFXCompressor, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXCompressor methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXCompressor ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXCompressor ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXParamEq interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXParamEq
|
|
DECLARE_INTERFACE_( IDirectSoundFXParamEq, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXParamEq methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXParamEq ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXParamEq ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXI3DL2Reverb interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXI3DL2Reverb
|
|
DECLARE_INTERFACE_( IDirectSoundFXI3DL2Reverb, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXI3DL2Reverb methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXI3DL2Reverb ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXI3DL2Reverb ) PURE;
|
|
STDMETHOD( SetPreset )( THIS_ DWORD ) PURE;
|
|
STDMETHOD( GetPreset )( THIS_ LPDWORD ) PURE;
|
|
STDMETHOD( SetQuality )( THIS_ LONG ) PURE;
|
|
STDMETHOD( GetQuality )( THIS_ LONG * ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFXWavesReverb interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFXWavesReverb
|
|
DECLARE_INTERFACE_( IDirectSoundFXWavesReverb, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFXWavesReverb methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSFXWavesReverb ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSFXWavesReverb ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundCaptureFXAec interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundCaptureFXAec
|
|
DECLARE_INTERFACE_( IDirectSoundCaptureFXAec, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundCaptureFXAec methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSCFXAec ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSCFXAec ) PURE;
|
|
STDMETHOD( GetStatus )( THIS_ PDWORD ) PURE;
|
|
STDMETHOD( Reset )( THIS ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundCaptureFXNoiseSuppress interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundCaptureFXNoiseSuppress
|
|
DECLARE_INTERFACE_( IDirectSoundCaptureFXNoiseSuppress, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundCaptureFXNoiseSuppress methods */
|
|
STDMETHOD( SetAllParameters )( THIS_ LPCDSCFXNoiseSuppress ) PURE;
|
|
STDMETHOD( GetAllParameters )( THIS_ LPDSCFXNoiseSuppress ) PURE;
|
|
STDMETHOD( Reset )( THIS ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* IDirectSoundFullDuplex interface */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#undef INTERFACE
|
|
#define INTERFACE IDirectSoundFullDuplex
|
|
DECLARE_INTERFACE_( IDirectSoundFullDuplex, IUnknown ) {
|
|
/* IUnknown methods */
|
|
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
|
|
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
|
|
STDMETHOD_( ULONG, Release )( THIS ) PURE;
|
|
|
|
/* IDirectSoundFullDuplex methods */
|
|
STDMETHOD( Initialize )( THIS_ LPCGUID, LPCGUID, LPCDSCBUFFERDESC, LPCDSBUFFERDESC, HWND, DWORD, LPLPDIRECTSOUNDCAPTUREBUFFER8, LPLPDIRECTSOUNDBUFFER8 ) PURE;
|
|
};
|
|
#endif
|
|
|
|
/* C/C++ object macros */
|
|
#if !defined( __cplusplus ) || defined( CINTERFACE )
|
|
#define IDirectSound_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSound_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSound_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSound_CreateSoundBuffer( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->CreateSoundBuffer( x, p1, p2, p3 )
|
|
#define IDirectSound_GetCaps( x, p ) \
|
|
(x)->lpVtbl->GetCaps( x, p )
|
|
#define IDirectSound_DuplicateSoundBuffer( x, p1, p2 ) \
|
|
(x)->lpVtbl->DuplicateSoundBuffer( x, p1, p2 )
|
|
#define IDirectSound_SetCooperativeLevel( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetCooperativeLevel( x, p1, p2 )
|
|
#define IDirectSound_Compact( x ) \
|
|
(x)->lpVtbl->Compact( x )
|
|
#define IDirectSound_GetSpeakerConfig( x, p ) \
|
|
(x)->lpVtbl->GetSpeakerConfig( x, p )
|
|
#define IDirectSound_SetSpeakerConfig( x, p ) \
|
|
(x)->lpVtbl->SetSpeakerConfig( x, p )
|
|
#define IDirectSound_Initialize( x, p ) \
|
|
(x)->lpVtbl->Initialize( x, p )
|
|
#define IDirectSoundBuffer_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundBuffer_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundBuffer_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundBuffer_GetCaps( x, p ) \
|
|
(x)->lpVtbl->GetCaps( x, p )
|
|
#define IDirectSoundBuffer_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetCurrentPosition( x, p1, p2 )
|
|
#define IDirectSoundBuffer_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->GetFormat( x, p1, p2, p3 )
|
|
#define IDirectSoundBuffer_GetVolume( x, p ) \
|
|
(x)->lpVtbl->GetVolume( x, p )
|
|
#define IDirectSoundBuffer_GetPan( x, p ) \
|
|
(x)->lpVtbl->GetPan( x, p )
|
|
#define IDirectSoundBuffer_GetFrequency( x, p ) \
|
|
(x)->lpVtbl->GetFrequency( x, p )
|
|
#define IDirectSoundBuffer_GetStatus( x, p ) \
|
|
(x)->lpVtbl->GetStatus( x, p )
|
|
#define IDirectSoundBuffer_Initialize( x, p1, p2 ) \
|
|
(x)->lpVtbl->Initialize( x, p1, p2 )
|
|
#define IDirectSoundBuffer_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->lpVtbl->Lock( x, p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundBuffer_Play( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->Play( x, p1, p2, p3 )
|
|
#define IDirectSoundBuffer_SetCurrentPosition( x, p ) \
|
|
(x)->lpVtbl->SetCurrentPosition( x, p )
|
|
#define IDirectSoundBuffer_SetFormat( x, p ) \
|
|
(x)->lpVtbl->SetFormat( x, p )
|
|
#define IDirectSoundBuffer_SetVolume( x, p ) \
|
|
(x)->lpVtbl->SetVolume( x, p )
|
|
#define IDirectSoundBuffer_SetPan( x, p ) \
|
|
(x)->lpVtbl->SetPan( x, p )
|
|
#define IDirectSoundBuffer_SetFrequency( x, p ) \
|
|
(x)->lpVtbl->SetFrequency( x, p )
|
|
#define IDirectSoundBuffer_Stop( x ) \
|
|
(x)->lpVtbl->Stop( x )
|
|
#define IDirectSoundBuffer_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->Unlock( x, p1, p2, p3, p4 )
|
|
#define IDirectSoundBuffer_Restore( x ) \
|
|
(x)->lpVtbl->Restore( x )
|
|
#define IDirectSound3DListener_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSound3DListener_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSound3DListener_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSound3DListener_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSound3DListener_GetDistanceFactor( x, p ) \
|
|
(x)->lpVtbl->GetDistanceFactor( x, p )
|
|
#define IDirectSound3DListener_GetDopplerFactor( x, p ) \
|
|
(x)->lpVtbl->GetDopplerFactor( x, p )
|
|
#define IDirectSound3DListener_GetOrientation( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetOrientation( x, p1, p2 )
|
|
#define IDirectSound3DListener_GetPosition( x, p ) \
|
|
(x)->lpVtbl->GetPosition( x, p )
|
|
#define IDirectSound3DListener_GetRolloffFactor( x, p ) \
|
|
(x)->lpVtbl->GetRolloffFactor( x, p )
|
|
#define IDirectSound3DListener_GetVelocity( x, p ) \
|
|
(x)->lpVtbl->GetVelocity( x, p )
|
|
#define IDirectSound3DListener_SetAllParameters( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p1, p2 )
|
|
#define IDirectSound3DListener_SetDistanceFactor( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetDistanceFactor( x, p1, p2 )
|
|
#define IDirectSound3DListener_SetDopplerFactor( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetDopplerFactor( x, p1, p2 )
|
|
#define IDirectSound3DListener_SetOrientation( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->lpVtbl->SetOrientation( x, p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSound3DListener_SetPosition( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->SetPosition( x, p1, p2, p3, p4 )
|
|
#define IDirectSound3DListener_SetRolloffFactor( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetRolloffFactor( x, p1, p2 )
|
|
#define IDirectSound3DListener_SetVelocity( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->SetVelocity( x, p1, p2, p3, p4 )
|
|
#define IDirectSound3DListener_CommitDeferredSettings( x ) \
|
|
(x)->lpVtbl->CommitDeferredSettings( x )
|
|
#define IDirectSound3DBuffer_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSound3DBuffer_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSound3DBuffer_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSound3DBuffer_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSound3DBuffer_GetConeAngles( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetConeAngles( x, p1, p2 )
|
|
#define IDirectSound3DBuffer_GetConeOrientation( x, p ) \
|
|
(x)->lpVtbl->GetConeOrientation( x, p )
|
|
#define IDirectSound3DBuffer_GetConeOutsideVolume( x, p ) \
|
|
(x)->lpVtbl->GetConeOutsideVolume( x, p )
|
|
#define IDirectSound3DBuffer_GetMaxDistance( x, p ) \
|
|
(x)->lpVtbl->GetMaxDistance( x, p )
|
|
#define IDirectSound3DBuffer_GetMinDistance( x, p ) \
|
|
(x)->lpVtbl->GetMinDistance( x, p )
|
|
#define IDirectSound3DBuffer_GetMode( x, p ) \
|
|
(x)->lpVtbl->GetMode( x, p )
|
|
#define IDirectSound3DBuffer_GetPosition( x, p ) \
|
|
(x)->lpVtbl->GetPosition( x, p )
|
|
#define IDirectSound3DBuffer_GetVelocity( x, p ) \
|
|
(x)->lpVtbl->GetVelocity( x, p )
|
|
#define IDirectSound3DBuffer_SetAllParameters( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p1, p2 )
|
|
#define IDirectSound3DBuffer_SetConeAngles( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->SetConeAngles( x, p1, p2, p3 )
|
|
#define IDirectSound3DBuffer_SetConeOrientation( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->SetConeOrientation( x, p1, p2, p3, p4 )
|
|
#define IDirectSound3DBuffer_SetConeOutsideVolume( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetConeOutsideVolume( x, p1, p2 )
|
|
#define IDirectSound3DBuffer_SetMaxDistance( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetMaxDistance( x, p1, p2 )
|
|
#define IDirectSound3DBuffer_SetMinDistance( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetMinDistance( x, p1, p2 )
|
|
#define IDirectSound3DBuffer_SetMode( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetMode( x, p1, p2 )
|
|
#define IDirectSound3DBuffer_SetPosition( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->SetPosition( x, p1, p2, p3, p4 )
|
|
#define IDirectSound3DBuffer_SetVelocity( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->SetVelocity( x, p1, p2, p3, p4 )
|
|
#define IDirectSoundCapture_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundCapture_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundCapture_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundCapture_CreateCaptureBuffer( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->CreateCaptureBuffer( x, p1, p2, p3 )
|
|
#define IDirectSoundCapture_GetCaps( x, p ) \
|
|
(x)->lpVtbl->GetCaps( x, p )
|
|
#define IDirectSoundCapture_Initialize( x, p ) \
|
|
(x)->lpVtbl->Initialize( x, p )
|
|
#define IDirectSoundCaptureBuffer_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundCaptureBuffer_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundCaptureBuffer_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundCaptureBuffer_GetCaps( x, p ) \
|
|
(x)->lpVtbl->GetCaps( x, p )
|
|
#define IDirectSoundCaptureBuffer_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetCurrentPosition( x, p1, p2 )
|
|
#define IDirectSoundCaptureBuffer_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->GetFormat( x, p1, p2, p3 )
|
|
#define IDirectSoundCaptureBuffer_GetStatus( x, p ) \
|
|
(x)->lpVtbl->GetStatus( x, p )
|
|
#define IDirectSoundCaptureBuffer_Initialize( x, p1, p2 ) \
|
|
(x)->lpVtbl->Initialize( x, p1, p2 )
|
|
#define IDirectSoundCaptureBuffer_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->lpVtbl->Lock( x, p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundCaptureBuffer_Start( x, p ) \
|
|
(x)->lpVtbl->Start( x, p )
|
|
#define IDirectSoundCaptureBuffer_Stop( x ) \
|
|
(x)->lpVtbl->Stop( x )
|
|
#define IDirectSoundCaptureBuffer_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->Unlock( x, p1, p2, p3, p4 )
|
|
#define IDirectSoundNotify_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundNotify_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundNotify_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundNotify_SetNotificationPositions( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetNotificationPositions( x, p1, p2 )
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define IDirectSound8_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSound8_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSound8_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSound8_CreateSoundBuffer( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->CreateSoundBuffer( x, p1, p2, p3 )
|
|
#define IDirectSound8_GetCaps( x, p ) \
|
|
(x)->lpVtbl->GetCaps( x, p )
|
|
#define IDirectSound8_DuplicateSoundBuffer( x, p1, p2 ) \
|
|
(x)->lpVtbl->DuplicateSoundBuffer( x, p1, p2 )
|
|
#define IDirectSound8_SetCooperativeLevel( x, p1, p2 ) \
|
|
(x)->lpVtbl->SetCooperativeLevel( x, p1, p2 )
|
|
#define IDirectSound8_Compact( x ) \
|
|
(x)->lpVtbl->Compact( x )
|
|
#define IDirectSound8_GetSpeakerConfig( x, p ) \
|
|
(x)->lpVtbl->GetSpeakerConfig( x, p )
|
|
#define IDirectSound8_SetSpeakerConfig( x, p ) \
|
|
(x)->lpVtbl->SetSpeakerConfig( x, p )
|
|
#define IDirectSound8_Initialize( x, p ) \
|
|
(x)->lpVtbl->Initialize( x, p )
|
|
#define IDirectSound8_VerifyCertification( x, p ) \
|
|
(x)->lpVtbl->VerifyCertification( x, p )
|
|
#define IDirectSoundBuffer8_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundBuffer8_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundBuffer8_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundBuffer8_GetCaps( x, p ) \
|
|
(x)->lpVtbl->GetCaps( x, p )
|
|
#define IDirectSoundBuffer8_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetCurrentPosition( x, p1, p2 )
|
|
#define IDirectSoundBuffer8_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->GetFormat( x, p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_GetVolume( x, p ) \
|
|
(x)->lpVtbl->GetVolume( x, p )
|
|
#define IDirectSoundBuffer8_GetPan( x, p ) \
|
|
(x)->lpVtbl->GetPan( x, p )
|
|
#define IDirectSoundBuffer8_GetFrequency( x, p ) \
|
|
(x)->lpVtbl->GetFrequency( x, p )
|
|
#define IDirectSoundBuffer8_GetStatus( x, p ) \
|
|
(x)->lpVtbl->GetStatus( x, p )
|
|
#define IDirectSoundBuffer8_Initialize( x, p1, p2 ) \
|
|
(x)->lpVtbl->Initialize( x, p1, p2 )
|
|
#define IDirectSoundBuffer8_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->lpVtbl->Lock( x, p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundBuffer8_Play( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->Play( x, p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_SetCurrentPosition( x, p ) \
|
|
(x)->lpVtbl->SetCurrentPosition( x, p )
|
|
#define IDirectSoundBuffer8_SetFormat( x, p ) \
|
|
(x)->lpVtbl->SetFormat( x, p )
|
|
#define IDirectSoundBuffer8_SetVolume( x, p ) \
|
|
(x)->lpVtbl->SetVolume( x, p )
|
|
#define IDirectSoundBuffer8_SetPan( x, p ) \
|
|
(x)->lpVtbl->SetPan( x, p )
|
|
#define IDirectSoundBuffer8_SetFrequency( x, p ) \
|
|
(x)->lpVtbl->SetFrequency( x, p )
|
|
#define IDirectSoundBuffer8_Stop( x ) \
|
|
(x)->lpVtbl->Stop( x )
|
|
#define IDirectSoundBuffer8_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->Unlock( x, p1, p2, p3, p4 )
|
|
#define IDirectSoundBuffer8_Restore( x ) \
|
|
(x)->lpVtbl->Restore( x )
|
|
#define IDirectSoundBuffer8_SetFX( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->SetFX( x, p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_AcquireResources( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->AcquireResources( x, p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_GetObjectInPath( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->GetObjectInPath( x, p1, p2, p3, p4 )
|
|
#define IDirectSoundCaptureBuffer8_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundCaptureBuffer8_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundCaptureBuffer8_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundCaptureBuffer8_GetCaps( x, p ) \
|
|
(x)->lpVtbl->GetCaps( x, p )
|
|
#define IDirectSoundCaptureBuffer8_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetCurrentPosition( x, p1, p2 )
|
|
#define IDirectSoundCaptureBuffer8_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->lpVtbl->GetFormat( x, p1, p2, p3 )
|
|
#define IDirectSoundCaptureBuffer8_GetStatus( x, p ) \
|
|
(x)->lpVtbl->GetStatus( x, p )
|
|
#define IDirectSoundCaptureBuffer8_Initialize( x, p1, p2 ) \
|
|
(x)->lpVtbl->Initialize( x, p1, p2 )
|
|
#define IDirectSoundCaptureBuffer8_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->lpVtbl->Lock( x, p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundCaptureBuffer8_Start( x, p ) \
|
|
(x)->lpVtbl->Start( x, p )
|
|
#define IDirectSoundCaptureBuffer8_Stop( x ) \
|
|
(x)->lpVtbl->Stop( x )
|
|
#define IDirectSoundCaptureBuffer8_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->Unlock( x, p1, p2, p3, p4 )
|
|
#define IDirectSoundCaptureBuffer8_GetObjectInPath( x, p1, p2, p3, p4 ) \
|
|
(x)->lpVtbl->GetObjectInPath( x, p1, p2, p3, p4 )
|
|
#define IDirectSoundCaptureBuffer8_GetFXStatus( x, p1, p2 ) \
|
|
(x)->lpVtbl->GetFXStatus( x, p1, p2 )
|
|
#define IDirectSoundFXGargle_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXGargle_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXGargle_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXGargle_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXGargle_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXChorus_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXChorus_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXChorus_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXChorus_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXChorus_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXFlanger_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXFlanger_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXFlanger_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXFlanger_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXFlanger_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXEcho_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXEcho_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXEcho_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXEcho_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXEcho_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXDistortion_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXDistortion_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXDistortion_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXDistortion_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXDistortion_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXCompressor_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXCompressor_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXCompressor_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXCompressor_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXCompressor_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXParamEq_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXParamEq_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXParamEq_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXParamEq_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXParamEq_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXI3DL2Reverb_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXI3DL2Reverb_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXI3DL2Reverb_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXI3DL2Reverb_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXI3DL2Reverb_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundFXI3DL2Reverb_SetPreset( x, p ) \
|
|
(x)->lpVtbl->SetPreset( x, p )
|
|
#define IDirectSoundFXI3DL2Reverb_GetPreset( x, p ) \
|
|
(x)->lpVtbl->GetPreset( x, p )
|
|
#define IDirectSoundFXI3DL2Reverb_SetQuality( x, p ) \
|
|
(x)->lpVtbl->SetQuality( x, p )
|
|
#define IDirectSoundFXI3DL2Reverb_GetQuality( x, p ) \
|
|
(x)->lpVtbl->GetQuality( x, p )
|
|
#define IDirectSoundFXWavesReverb_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFXWavesReverb_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFXWavesReverb_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFXWavesReverb_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundFXWavesReverb_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundCaptureFXAec_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundCaptureFXAec_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundCaptureFXAec_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundCaptureFXAec_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundCaptureFXAec_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundCaptureFXAec_GetStatus( x, p ) \
|
|
(x)->lpVtbl->GetStatus( x, p )
|
|
#define IDirectSoundCaptureFXAec_Reset( x ) \
|
|
(x)->lpVtbl->Reset( x )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_SetAllParameters( x, p ) \
|
|
(x)->lpVtbl->SetAllParameters( x, p )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_GetAllParameters( x, p ) \
|
|
(x)->lpVtbl->GetAllParameters( x, p )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_Reset( x ) \
|
|
(x)->lpVtbl->Reset( x )
|
|
#define IDirectSoundFullDuplex_QueryInterface( x, p1, p2 ) \
|
|
(x)->lpVtbl->QueryInterface( x, p1, p2 )
|
|
#define IDirectSoundFullDuplex_AddRef( x ) \
|
|
(x)->lpVtbl->AddRef( x )
|
|
#define IDirectSoundFullDuplex_Release( x ) \
|
|
(x)->lpVtbl->Release( x )
|
|
#define IDirectSoundFullDuplex_Initialize( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \
|
|
(x)->lpVtbl->Initialize( x, p1, p2, p3, p4, p5, p6, p7, p8 )
|
|
#endif
|
|
#else
|
|
#define IDirectSound_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSound_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSound_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSound_CreateSoundBuffer( x, p1, p2, p3 ) \
|
|
(x)->CreateSoundBuffer( p1, p2, p3 )
|
|
#define IDirectSound_GetCaps( x, p ) \
|
|
(x)->GetCaps( p )
|
|
#define IDirectSound_DuplicateSoundBuffer( x, p1, p2 ) \
|
|
(x)->DuplicateSoundBuffer( p1, p2 )
|
|
#define IDirectSound_SetCooperativeLevel( x, p1, p2 ) \
|
|
(x)->SetCooperativeLevel( p1, p2 )
|
|
#define IDirectSound_Compact( x ) \
|
|
(x)->Compact()
|
|
#define IDirectSound_GetSpeakerConfig( x, p ) \
|
|
(x)->GetSpeakerConfig( p )
|
|
#define IDirectSound_SetSpeakerConfig( x, p ) \
|
|
(x)->SetSpeakerConfig( p )
|
|
#define IDirectSound_Initialize( x, p ) \
|
|
(x)->Initialize( p )
|
|
#define IDirectSoundBuffer_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundBuffer_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundBuffer_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundBuffer_GetCaps( x, p ) \
|
|
(x)->GetCaps( p )
|
|
#define IDirectSoundBuffer_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->GetCurrentPosition( p1, p2 )
|
|
#define IDirectSoundBuffer_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->GetFormat( p1, p2, p3 )
|
|
#define IDirectSoundBuffer_GetVolume( x, p ) \
|
|
(x)->GetVolume( p )
|
|
#define IDirectSoundBuffer_GetPan( x, p ) \
|
|
(x)->GetPan( p )
|
|
#define IDirectSoundBuffer_GetFrequency( x, p ) \
|
|
(x)->GetFrequency( p )
|
|
#define IDirectSoundBuffer_GetStatus( x, p ) \
|
|
(x)->GetStatus( p )
|
|
#define IDirectSoundBuffer_Initialize( x, p1, p2 ) \
|
|
(x)->Initialize( p1, p2 )
|
|
#define IDirectSoundBuffer_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->Lock( p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundBuffer_Play( x, p1, p2, p3 ) \
|
|
(x)->Play( p1, p2, p3 )
|
|
#define IDirectSoundBuffer_SetCurrentPosition( x, p ) \
|
|
(x)->SetCurrentPosition( p )
|
|
#define IDirectSoundBuffer_SetFormat( x, p ) \
|
|
(x)->SetFormat( p )
|
|
#define IDirectSoundBuffer_SetVolume( x, p ) \
|
|
(x)->SetVolume( p )
|
|
#define IDirectSoundBuffer_SetPan( x, p ) \
|
|
(x)->SetPan( p )
|
|
#define IDirectSoundBuffer_SetFrequency( x, p ) \
|
|
(x)->SetFrequency( p )
|
|
#define IDirectSoundBuffer_Stop( x ) \
|
|
(x)->Stop()
|
|
#define IDirectSoundBuffer_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->Unlock( p1, p2, p3, p4 )
|
|
#define IDirectSoundBuffer_Restore( x ) \
|
|
(x)->Restore()
|
|
#define IDirectSound3DListener_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSound3DListener_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSound3DListener_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSound3DListener_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSound3DListener_GetDistanceFactor( x, p ) \
|
|
(x)->GetDistanceFactor( p )
|
|
#define IDirectSound3DListener_GetDopplerFactor( x, p ) \
|
|
(x)->GetDopplerFactor( p )
|
|
#define IDirectSound3DListener_GetOrientation( x, p1, p2 ) \
|
|
(x)->GetOrientation( p1, p2 )
|
|
#define IDirectSound3DListener_GetPosition( x, p ) \
|
|
(x)->GetPosition( p )
|
|
#define IDirectSound3DListener_GetRolloffFactor( x, p ) \
|
|
(x)->GetRolloffFactor( p )
|
|
#define IDirectSound3DListener_GetVelocity( x, p ) \
|
|
(x)->GetVelocity( p )
|
|
#define IDirectSound3DListener_SetAllParameters( x, p1, p2 ) \
|
|
(x)->SetAllParameters( p1, p2 )
|
|
#define IDirectSound3DListener_SetDistanceFactor( x, p1, p2 ) \
|
|
(x)->SetDistanceFactor( p1, p2 )
|
|
#define IDirectSound3DListener_SetDopplerFactor( x, p1, p2 ) \
|
|
(x)->SetDopplerFactor( p1, p2 )
|
|
#define IDirectSound3DListener_SetOrientation( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->SetOrientation( p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSound3DListener_SetPosition( x, p1, p2, p3, p4 ) \
|
|
(x)->SetPosition( p1, p2, p3, p4 )
|
|
#define IDirectSound3DListener_SetRolloffFactor( x, p1, p2 ) \
|
|
(x)->SetRolloffFactor( p1, p2 )
|
|
#define IDirectSound3DListener_SetVelocity( x, p1, p2, p3, p4 ) \
|
|
(x)->SetVelocity( p1, p2, p3, p4 )
|
|
#define IDirectSound3DListener_CommitDeferredSettings( x ) \
|
|
(x)->CommitDeferredSettings()
|
|
#define IDirectSound3DBuffer_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSound3DBuffer_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSound3DBuffer_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSound3DBuffer_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSound3DBuffer_GetConeAngles( x, p1, p2 ) \
|
|
(x)->GetConeAngles( p1, p2 )
|
|
#define IDirectSound3DBuffer_GetConeOrientation( x, p ) \
|
|
(x)->GetConeOrientation( p )
|
|
#define IDirectSound3DBuffer_GetConeOutsideVolume( x, p ) \
|
|
(x)->GetConeOutsideVolume( p )
|
|
#define IDirectSound3DBuffer_GetMaxDistance( x, p ) \
|
|
(x)->GetMaxDistance( p )
|
|
#define IDirectSound3DBuffer_GetMinDistance( x, p ) \
|
|
(x)->GetMinDistance( p )
|
|
#define IDirectSound3DBuffer_GetMode( x, p ) \
|
|
(x)->GetMode( p )
|
|
#define IDirectSound3DBuffer_GetPosition( x, p ) \
|
|
(x)->GetPosition( p )
|
|
#define IDirectSound3DBuffer_GetVelocity( x, p ) \
|
|
(x)->GetVelocity( p )
|
|
#define IDirectSound3DBuffer_SetAllParameters( x, p1, p2 ) \
|
|
(x)->SetAllParameters( p1, p2 )
|
|
#define IDirectSound3DBuffer_SetConeAngles( x, p1, p2, p3 ) \
|
|
(x)->SetConeAngles( p1, p2, p3 )
|
|
#define IDirectSound3DBuffer_SetConeOrientation( x, p1, p2, p3, p4 ) \
|
|
(x)->SetConeOrientation( p1, p2, p3, p4 )
|
|
#define IDirectSound3DBuffer_SetConeOutsideVolume( x, p1, p2 ) \
|
|
(x)->SetConeOutsideVolume( p1, p2 )
|
|
#define IDirectSound3DBuffer_SetMaxDistance( x, p1, p2 ) \
|
|
(x)->SetMaxDistance( p1, p2 )
|
|
#define IDirectSound3DBuffer_SetMinDistance( x, p1, p2 ) \
|
|
(x)->SetMinDistance( p1, p2 )
|
|
#define IDirectSound3DBuffer_SetMode( x, p1, p2 ) \
|
|
(x)->SetMode( p1, p2 )
|
|
#define IDirectSound3DBuffer_SetPosition( x, p1, p2, p3, p4 ) \
|
|
(x)->SetPosition( p1, p2, p3, p4 )
|
|
#define IDirectSound3DBuffer_SetVelocity( x, p1, p2, p3, p4 ) \
|
|
(x)->SetVelocity( p1, p2, p3, p4 )
|
|
#define IDirectSoundCapture_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundCapture_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundCapture_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundCapture_CreateCaptureBuffer( x, p1, p2, p3 ) \
|
|
(x)->CreateCaptureBuffer( p1, p2, p3 )
|
|
#define IDirectSoundCapture_GetCaps( x, p ) \
|
|
(x)->GetCaps( p )
|
|
#define IDirectSoundCapture_Initialize( x, p ) \
|
|
(x)->Initialize( p )
|
|
#define IDirectSoundCaptureBuffer_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundCaptureBuffer_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundCaptureBuffer_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundCaptureBuffer_GetCaps( x, p ) \
|
|
(x)->GetCaps( p )
|
|
#define IDirectSoundCaptureBuffer_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->GetCurrentPosition( p1, p2 )
|
|
#define IDirectSoundCaptureBuffer_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->GetFormat( p1, p2, p3 )
|
|
#define IDirectSoundCaptureBuffer_GetStatus( x, p ) \
|
|
(x)->GetStatus( p )
|
|
#define IDirectSoundCaptureBuffer_Initialize( x, p1, p2 ) \
|
|
(x)->Initialize( p1, p2 )
|
|
#define IDirectSoundCaptureBuffer_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->Lock( p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundCaptureBuffer_Start( x, p ) \
|
|
(x)->Start( p )
|
|
#define IDirectSoundCaptureBuffer_Stop( x ) \
|
|
(x)->Stop()
|
|
#define IDirectSoundCaptureBuffer_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->Unlock( p1, p2, p3, p4 )
|
|
#define IDirectSoundNotify_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundNotify_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundNotify_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundNotify_SetNotificationPositions( x, p1, p2 ) \
|
|
(x)->SetNotificationPositions( p1, p2 )
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define IDirectSound8_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSound8_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSound8_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSound8_CreateSoundBuffer( x, p1, p2, p3 ) \
|
|
(x)->CreateSoundBuffer( p1, p2, p3 )
|
|
#define IDirectSound8_GetCaps( x, p ) \
|
|
(x)->GetCaps( p )
|
|
#define IDirectSound8_DuplicateSoundBuffer( x, p1, p2 ) \
|
|
(x)->DuplicateSoundBuffer( p1, p2 )
|
|
#define IDirectSound8_SetCooperativeLevel( x, p1, p2 ) \
|
|
(x)->SetCooperativeLevel( p1, p2 )
|
|
#define IDirectSound8_Compact( x ) \
|
|
(x)->Compact()
|
|
#define IDirectSound8_GetSpeakerConfig( x, p ) \
|
|
(x)->GetSpeakerConfig( p )
|
|
#define IDirectSound8_SetSpeakerConfig( x, p ) \
|
|
(x)->SetSpeakerConfig( p )
|
|
#define IDirectSound8_Initialize( x, p ) \
|
|
(x)->Initialize( p )
|
|
#define IDirectSound8_VerifyCertification( x, p ) \
|
|
(x)->VerifyCertification( p )
|
|
#define IDirectSoundBuffer8_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundBuffer8_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundBuffer8_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundBuffer8_GetCaps( x, p ) \
|
|
(x)->GetCaps( p )
|
|
#define IDirectSoundBuffer8_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->GetCurrentPosition( p1, p2 )
|
|
#define IDirectSoundBuffer8_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->GetFormat( p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_GetVolume( x, p ) \
|
|
(x)->GetVolume( p )
|
|
#define IDirectSoundBuffer8_GetPan( x, p ) \
|
|
(x)->GetPan( p )
|
|
#define IDirectSoundBuffer8_GetFrequency( x, p ) \
|
|
(x)->GetFrequency( p )
|
|
#define IDirectSoundBuffer8_GetStatus( x, p ) \
|
|
(x)->GetStatus( p )
|
|
#define IDirectSoundBuffer8_Initialize( x, p1, p2 ) \
|
|
(x)->Initialize( p1, p2 )
|
|
#define IDirectSoundBuffer8_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->Lock( p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundBuffer8_Play( x, p1, p2, p3 ) \
|
|
(x)->Play( p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_SetCurrentPosition( x, p ) \
|
|
(x)->SetCurrentPosition( p )
|
|
#define IDirectSoundBuffer8_SetFormat( x, p ) \
|
|
(x)->SetFormat( p )
|
|
#define IDirectSoundBuffer8_SetVolume( x, p ) \
|
|
(x)->SetVolume( p )
|
|
#define IDirectSoundBuffer8_SetPan( x, p ) \
|
|
(x)->SetPan( p )
|
|
#define IDirectSoundBuffer8_SetFrequency( x, p ) \
|
|
(x)->SetFrequency( p )
|
|
#define IDirectSoundBuffer8_Stop( x ) \
|
|
(x)->Stop()
|
|
#define IDirectSoundBuffer8_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->Unlock( p1, p2, p3, p4 )
|
|
#define IDirectSoundBuffer8_Restore( x ) \
|
|
(x)->Restore()
|
|
#define IDirectSoundBuffer8_SetFX( x, p1, p2, p3 ) \
|
|
(x)->SetFX( p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_AcquireResources( x, p1, p2, p3 ) \
|
|
(x)->AcquireResources( p1, p2, p3 )
|
|
#define IDirectSoundBuffer8_GetObjectInPath( x, p1, p2, p3, p4 ) \
|
|
(x)->GetObjectInPath( p1, p2, p3, p4 )
|
|
#define IDirectSoundCaptureBuffer8_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundCaptureBuffer8_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundCaptureBuffer8_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundCaptureBuffer8_GetCaps( x, p ) \
|
|
(x)->GetCaps( p )
|
|
#define IDirectSoundCaptureBuffer8_GetCurrentPosition( x, p1, p2 ) \
|
|
(x)->GetCurrentPosition( p1, p2 )
|
|
#define IDirectSoundCaptureBuffer8_GetFormat( x, p1, p2, p3 ) \
|
|
(x)->GetFormat( p1, p2, p3 )
|
|
#define IDirectSoundCaptureBuffer8_GetStatus( x, p ) \
|
|
(x)->GetStatus( p )
|
|
#define IDirectSoundCaptureBuffer8_Initialize( x, p1, p2 ) \
|
|
(x)->Initialize( p1, p2 )
|
|
#define IDirectSoundCaptureBuffer8_Lock( x, p1, p2, p3, p4, p5, p6, p7 ) \
|
|
(x)->Lock( p1, p2, p3, p4, p5, p6, p7 )
|
|
#define IDirectSoundCaptureBuffer8_Start( x, p ) \
|
|
(x)->Start( p )
|
|
#define IDirectSoundCaptureBuffer8_Stop( x ) \
|
|
(x)->Stop()
|
|
#define IDirectSoundCaptureBuffer8_Unlock( x, p1, p2, p3, p4 ) \
|
|
(x)->Unlock( p1, p2, p3, p4 )
|
|
#define IDirectSoundCaptureBuffer8_GetObjectInPath( x, p1, p2, p3, p4 ) \
|
|
(x)->GetObjectInPath( p1, p2, p3, p4 )
|
|
#define IDirectSoundCaptureBuffer8_GetFXStatus( x, p1, p2 ) \
|
|
(x)->GetFXStatus( p1, p2 )
|
|
#define IDirectSoundFXGargle_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXGargle_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXGargle_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXGargle_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXGargle_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXChorus_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXChorus_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXChorus_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXChorus_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXChorus_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXFlanger_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXFlanger_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXFlanger_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXFlanger_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXFlanger_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXEcho_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXEcho_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXEcho_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXEcho_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXEcho_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXDistortion_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXDistortion_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXDistortion_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXDistortion_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXDistortion_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXCompressor_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXCompressor_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXCompressor_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXCompressor_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXCompressor_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXParamEq_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXParamEq_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXParamEq_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXParamEq_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXParamEq_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXI3DL2Reverb_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXI3DL2Reverb_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXI3DL2Reverb_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXI3DL2Reverb_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXI3DL2Reverb_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundFXI3DL2Reverb_SetPreset( x, p ) \
|
|
(x)->SetPreset( p )
|
|
#define IDirectSoundFXI3DL2Reverb_GetPreset( x, p ) \
|
|
(x)->GetPreset( p )
|
|
#define IDirectSoundFXI3DL2Reverb_SetQuality( x, p ) \
|
|
(x)->SetQuality( p )
|
|
#define IDirectSoundFXI3DL2Reverb_GetQuality( x, p ) \
|
|
(x)->GetQuality( p )
|
|
#define IDirectSoundFXWavesReverb_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFXWavesReverb_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFXWavesReverb_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFXWavesReverb_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundFXWavesReverb_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundCaptureFXAec_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundCaptureFXAec_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundCaptureFXAec_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundCaptureFXAec_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundCaptureFXAec_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundCaptureFXAec_GetStatus( x, p ) \
|
|
(x)->GetStatus( p )
|
|
#define IDirectSoundCaptureFXAec_Reset( x ) \
|
|
(x)->Reset()
|
|
#define IDirectSoundCaptureFXNoiseSuppress_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundCaptureFXNoiseSuppress_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundCaptureFXNoiseSuppress_SetAllParameters( x, p ) \
|
|
(x)->SetAllParameters( p )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_GetAllParameters( x, p ) \
|
|
(x)->GetAllParameters( p )
|
|
#define IDirectSoundCaptureFXNoiseSuppress_Reset( x ) \
|
|
(x)->Reset()
|
|
#define IDirectSoundFullDuplex_QueryInterface( x, p1, p2 ) \
|
|
(x)->QueryInterface( p1, p2 )
|
|
#define IDirectSoundFullDuplex_AddRef( x ) \
|
|
(x)->AddRef()
|
|
#define IDirectSoundFullDuplex_Release( x ) \
|
|
(x)->Release()
|
|
#define IDirectSoundFullDuplex_Initialize( x, p1, p2, p3, p4, p5, p6, p7, p8 ) \
|
|
(x)->Initialize( p1, p2, p3, p4, p5, p6, p7, p8 )
|
|
#endif
|
|
#endif
|
|
|
|
/* Functions in DSOUND.DLL */
|
|
HRESULT WINAPI DirectSoundCaptureCreate( LPCGUID, LPDIRECTSOUNDCAPTURE *, LPUNKNOWN );
|
|
HRESULT WINAPI DirectSoundCaptureEnumerateA( LPDSENUMCALLBACKA, LPVOID );
|
|
HRESULT WINAPI DirectSoundCaptureEnumerateW( LPDSENUMCALLBACKW, LPVOID );
|
|
HRESULT WINAPI DirectSoundCreate( LPCGUID, LPDIRECTSOUND *, LPUNKNOWN );
|
|
HRESULT WINAPI DirectSoundEnumerateA( LPDSENUMCALLBACKA, LPVOID );
|
|
HRESULT WINAPI DirectSoundEnumerateW( LPDSENUMCALLBACKW, LPVOID );
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
HRESULT WINAPI DirectSoundCaptureCreate8( LPCGUID, LPDIRECTSOUNDCAPTURE8 *, LPUNKNOWN );
|
|
HRESULT WINAPI DirectSoundCreate8( LPCGUID, LPDIRECTSOUND8 *, LPUNKNOWN );
|
|
HRESULT WINAPI DirectSoundFullDuplexCreate( LPCGUID, LPCGUID, LPCDSCBUFFERDESC, LPCDSBUFFERDESC, HWND, DWORD, LPDIRECTSOUNDFULLDUPLEX *, LPDIRECTSOUNDCAPTUREBUFFER8 *, LPDIRECTSOUNDBUFFER8 *, LPUNKNOWN );
|
|
HRESULT WINAPI GetDeviceID( LPCGUID, LPCGUID );
|
|
#endif
|
|
|
|
/* Alias */
|
|
#if (DIRECTSOUND_VERSION >= 0x0800)
|
|
#define DirectSoundFullDuplexCreate8 DirectSoundFullDuplexCreate
|
|
#endif
|
|
|
|
/* Map generic function names to the appropriate ANSI or Unicode version. */
|
|
#ifdef UNICODE
|
|
#define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateW
|
|
#define DirectSoundEnumerate DirectSoundEnumerateW
|
|
#else
|
|
#define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateA
|
|
#define DirectSoundEnumerate DirectSoundEnumerateA
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __DSOUND_INCLUDED__ */
|