The DSEFFECTDESC structure describes an effect associated with a buffer.
typedef struct DSEFFECTDESC { DWORD dwSize; DWORD dwFlags; GUID guidDSFXClass; DWORD_PTR dwReserved1; DWORD_PTR dwReserved2; } DSEFFECTDESC;
Value | Description |
---|---|
DSFX_LOCHARDWARE | Effect must be in hardware. If the effect is not available in hardware, IDirectSoundBuffer8::SetFX raises an error. Since DirectX 9.0, DirectX does not support hardware acceleration of effects, so this flag should not be used. |
DSFX_LOCSOFTWARE | Effect must be in software, even if the hardware supports acceleration of guidDSFXClass. If the effect is not available in software, SetFX raises an error. Since DirectX 9.0, all effects are in software regardless of whether this flag is set. |
Value | Description |
---|---|
GUID_DSFX_STANDARD_CHORUS | Chorus |
GUID_DSFX_STANDARD_COMPRESSOR | Compressor |
GUID_DSFX_STANDARD_DISTORTION | Distortion |
GUID_DSFX_STANDARD_ECHO | Echo |
GUID_DSFX_STANDARD_FLANGER | Flanger |
GUID_DSFX_STANDARD_GARGLE | Gargle |
GUID_DSFX_STANDARD_I3DL2REVERB | Interactive 3D Level 2 reverb |
GUID_DSFX_STANDARD_PARAMEQ | Parametric equalizer |
GUID_DSFX_WAVES_REVERB | Waves reverb |
Custom effects can be implemented as DMOs. Effect DMOs must implement the IMediaObject and IMediaObjectInPlace interfaces.
If dwFlags is zero, the effect is placed in hardware if possible. If the hardware does not support the effect (always the case since DirectX 9.0), software is used. If the effect is not available at all, the call to SetFX fails.
Header: Declared in Dsound.h.