KSNODETYPE_3D_EFFECTS
The KSNODETYPE_3D_EFFECTS node represents a 3D-effects processor for the device-specific 3D HAL (hardware acceleration layer) that underlies the IDirectSound3DBuffer and IDirectSound3DListener APIs (described in the Microsoft Windows SDK documentation). The 3D node has one input stream with either one or two channels and one output stream with n channels. It positions the individual channels of the input stream within the 3D-sound field of the output stream.
The input stream to the 3D node typically contains a single channel. In DirectSound 8.0 and later, only mono PCM buffers can be created with 3D effects. Earlier versions of DirectSound, however, support 3D nodes with both mono and stereo input streams, and drivers should support both in order to ensure compatibility with older applications.
The KSNODETYPE_3D_EFFECTS node is used to control the DirectSound speaker configuration through the following optional properties:
KSPROPERTY_AUDIO_CHANNEL_CONFIG
KSPROPERTY_AUDIO_STEREO_SPEAKER_GEOMETRY
For more information, see DirectSound Speaker-Configuration Settings.
In addition, DirectSound requires that a KSNODETYPE_3D_EFFECTS node support the following 3D-listener and 3D-buffer properties:
KSPROPERTY_DIRECTSOUND3DBUFFER_ALL
KSPROPERTY_DIRECTSOUND3DBUFFER_POSITION
KSPROPERTY_DIRECTSOUND3DBUFFER_VELOCITY
KSPROPERTY_DIRECTSOUND3DBUFFER_CONEANGLES
KSPROPERTY_DIRECTSOUND3DBUFFER_CONEORIENTATION
KSPROPERTY_DIRECTSOUND3DBUFFER_CONEOUTSIDEVOLUME
KSPROPERTY_DIRECTSOUND3DBUFFER_MINDISTANCE
KSPROPERTY_DIRECTSOUND3DBUFFER_MAXDISTANCE
KSPROPERTY_DIRECTSOUND3DBUFFER_MODE
KSPROPERTY_DIRECTSOUND3DLISTENER_ALL
KSPROPERTY_DIRECTSOUND3DLISTENER_POSITION
KSPROPERTY_DIRECTSOUND3DLISTENER_VELOCITY
KSPROPERTY_DIRECTSOUND3DLISTENER_ORIENTATION
KSPROPERTY_DIRECTSOUND3DLISTENER_DISTANCEFACTOR
KSPROPERTY_DIRECTSOUND3DLISTENER_ROLLOFFFACTOR
KSPROPERTY_DIRECTSOUND3DLISTENER_DOPPLERFACTOR
KSPROPERTY_DIRECTSOUND3DLISTENER_BATCH
A KSNODETYPE_3D_EFFECTS node might implement a head-relative transfer function (HRTF), in which case it should support the following optional properties:
KSPROPERTY_HRTF3D_FILTER_FORMAT
A KSNODETYPE_3D_EFFECTS node might implement an interaural time delay (ITD) algorithm, in which case it should support the following optional property: