EffectsInteractive3DLevel2Reverb.DecayHfRatio Property (Microsoft.DirectX.DirectSound)

How Do I...?

  • Use Effect Parameters

Retrieves and sets the ratio of the decay time at high frequencies to the decay time at low frequencies, of the EffectsInteractive3DLevel2Reverb structure.

Definition

Visual Basic Public Property DecayHfRatio As Single
C# public float DecayHfRatio { get; set; }
C++ public:
property float DecayHfRatio {
        float get();
        void set(float value);
}
JScript public function get DecayHfRatio() : float
public function set DecayHfRatio(float);

Property Value

System.Single
Ratio of the decay time at high frequencies to the decay time at low frequencies.

This property is read/write. 

Remarks

Can range from Interactive3DLevel2ReverbEffect.DecayHfRatioMin to Interactive3DLevel2ReverbEffect.DecayHfRatioMax.

The default value is Interactive3DLevel2ReverbEffect.DecayHfRatioDefault or 0.83.

How Do I...?

Use Effect Parameters

This C# example demonstrates how to use the parameters of an effect object from a SecondaryBuffer object.

The buffer object in this code snippet is assumed to be the SecondaryBuffer from the code in Add Effects to a SecondaryBuffer Object.

              [C#]
              


//Retrieve the effects object and
//the effect param sturctures and edit parameters.
EchoEffect echo = (EchoEffect)buffer.GetEffects(0);
EffectsEcho echo_params = echo.AllParameters;

echo_params.LeftDelay = 250.0f;
echo_params.RightDelay = 100.0f;
echo_params.Feedback = 85.0f;
echo_params.PanDelay = 1;
echo_params.WetDryMix = 50.0f;

ChorusEffect chorus = (ChorusEffect)buffer.GetEffects(1);
EffectsChorus chorus_params = chorus.AllParameters;

chorus_params.Delay = 15.0f;
chorus_params.Depth = ChorusEffect.DepthMax;
chorus_params.Phase = ChorusEffect.PhaseNegative90;
chorus_params.Waveform = ChorusEffect.WaveSin;
chorus_params.WetDryMix = 50.0f;

//Set the new parameters and play the buffer.
echo.AllParameters = echo_params;
chorus.AllParameters = chorus_params;
buffer.Play(0,BufferPlayFlags.Default);