IDirectSoundFXI3DL2Reverb8 Interface

 

 

' ***************************************************************************************
' IDirectSoundFXI3DL2Reverb8 Interface
' The IDirectSoundFXI3DL2Reverb8 interface is used to set and retrieve effect parameters
' on a buffer that supports I3DL2 (Interactive 3D Audio Level 2) reverberation effects.
' This interface is obtained by calling IDirectSoundBuffer8::GetObjectInPath on the buffer
' that supports the effect.
' ***************************************************************************************

' ***************************************************************************************
'DECLARE_INTERFACE_(IDirectSoundFXI3DL2Reverb, IUnknown)
'{
'    // IUnknown methods
'  0.  STDMETHOD(QueryInterface)       (THIS_ REFIID, LPVOID *) PURE;
'  1.  STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
'  2.  STDMETHOD_(ULONG,Release)       (THIS) PURE;

'    // IDirectSoundFXI3DL2Reverb methods
'  3.  STDMETHOD(SetAllParameters)     (THIS_ LPCDSFXI3DL2Reverb pcDsFxI3DL2Reverb) PURE;
'  4.  STDMETHOD(GetAllParameters)     (THIS_ LPDSFXI3DL2Reverb pDsFxI3DL2Reverb) PURE;
'  5.  STDMETHOD(SetPreset)            (THIS_ DWORD dwPreset) PURE;
'  6.  STDMETHOD(GetPreset)            (THIS_ LPDWORD pdwPreset) PURE;
'  7.  STDMETHOD(SetQuality)           (THIS_ LONG lQuality) PURE;
'  8.  STDMETHOD(GetQuality)           (THIS_ LONG *plQuality) PURE;
'};
' ***************************************************************************************

' ***************************************************************************************
' SetAllParameters
' The SetAllParameters method sets the I3DL2 environmental reverberation parameters of a
' buffer.
' HRESULT SetAllParameters(
'   LPCDSFXI3DL2Reverb  pcDsFxI3DL2Reverb
' );
' ***************************************************************************************
FUNCTION IDirectSoundFXI3DL2Reverb8_SetAllParameters ALIAS "IDirectSoundFXI3DL2Reverb8_SetAllParameters" ( _
    BYVAL pthis AS DWORD PTR, BYREF pcDsFxI3DL2Reverb AS DSFXI3DL2Reverb) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[3] USING IDirectSoundFXI3DL2Reverb8_SetAllParameters(pthis, pcDsFxI3DL2Reverb) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ***************************************************************************************

' ***************************************************************************************
' GetAllParameters
' The GetAllParameters method retrieves the I3DL2 environmental reverberation parameters
' of a buffer.
' HRESULT GetAllParameters(
'   LPDSFXI3DL2Reverb pDsFxI3DL2Reverb
' );
' ***************************************************************************************
FUNCTION IDirectSoundFXI3DL2Reverb8_GetAllParameters ALIAS "IDirectSoundFXI3DL2Reverb8_GetAllParameters" ( _
    BYVAL pthis AS DWORD PTR, BYREF pDsFxI3DL2Reverb AS DSFXI3DL2Reverb) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[4] USING IDirectSoundFXI3DL2Reverb8_GetAllParameters(pthis, pDsFxI3DL2Reverb) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ***************************************************************************************

' ***************************************************************************************
' SetPreset
' The SetPreset method sets standard reverberation parameters of a buffer.
' HRESULT SetPreset(
'   DWORD  dwPreset
' );
' ***************************************************************************************
FUNCTION IDirectSoundFXI3DL2Reverb8_SetPreset ALIAS "IDirectSoundFXI3DL2Reverb8_SetPreset" ( _
    BYVAL pthis AS DWORD PTR, BYVAL dwPreset AS DWORD) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[5] USING IDirectSoundFXI3DL2Reverb8_SetPreset(pthis, dwPreset) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ***************************************************************************************

' ***************************************************************************************
' GetPreset
' The GetPreset method retrieves an identifier for standard reverberation parameters of a
' buffer.
' HRESULT GetPreset(
'   LPDWORD  pdwPreset
' );
' ***************************************************************************************
FUNCTION IDirectSoundFXI3DL2Reverb8_GetPreset ALIAS "IDirectSoundFXI3DL2Reverb8_GetPreset" ( _
    BYVAL pthis AS DWORD PTR, BYREF pdwPreset AS DWORD) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[6] USING IDirectSoundFXI3DL2Reverb8_GetPreset(pthis, pdwPreset) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ***************************************************************************************

' ***************************************************************************************
' SetQuality
' The SetQuality method sets the quality of the environmental reverberation effect. Higher
' values produce better quality at the expense of processing time.
' HRESULT SetQuality(
'   LONG lQuality
' );
' ***************************************************************************************
FUNCTION IDirectSoundFXI3DL2Reverb8_SetQuality ALIAS "IDirectSoundFXI3DL2Reverb8_SetQuality" ( _
    BYVAL pthis AS DWORD PTR, BYVAL lQuality AS LONG) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[7] USING IDirectSoundFXI3DL2Reverb8_SetQuality(pthis, lQuality) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ***************************************************************************************

' ***************************************************************************************
' GetQuality
' The GetQuality method retrieves the quality of the environmental reverberation effect.
' HRESULT GetQuality(
'   LONG * plQuality
' );
' ***************************************************************************************
FUNCTION IDirectSoundFXI3DL2Reverb8_GetQuality ALIAS "IDirectSoundFXI3DL2Reverb8_GetQuality" ( _
    BYVAL pthis AS DWORD PTR, BYREF plQuality AS LONG) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[8] USING IDirectSoundFXI3DL2Reverb8_GetQuality(pthis, plQuality) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ***************************************************************************************
 

 

Page last updated on Wednesday, 15 March 2006 01:41:09 +0100