/* apply filter to an array of values, adding result to output array */ public void Apply( float[] XinVector, int XInVectorOffset, float[] YoutVector, int YoutVectorOffset, int VectorLength, float OutputScaling, SynthParamRec SynthParams) { HighShelfEqualizerRec Filter = this; IIR2DirectIMAcc( ref Filter.iir, XinVector, XInVectorOffset, YoutVector, YoutVectorOffset, VectorLength, OutputScaling); }
public static void SetHighShelfEqualizerCoefficients( HighShelfEqualizerRec Filter, double Cutoff, double Slope, double Gain, double SamplingRate) { if ((Cutoff == Filter.OldCutoff) && (Slope == Filter.OldSlope) && (Gain == Filter.OldGain)) { return; } Filter.OldCutoff = Cutoff; Filter.OldSlope = Slope; Filter.OldGain = Gain; ComputeHighShelfEqualizerCoefficients( ref Filter.iir, Cutoff, Slope, Gain, SamplingRate); }