public static void GetVocoderSpecWaveTableIndexAgg( VocoderSpecRec VocSpec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( VocSpec.WaveTableIndex, ref VocSpec.WaveTableIndexAccent, VocSpec.WaveTableIndexFormula, out ParamsOut); }
/* get aggregated output gain factor info */ public static void GetCompressorOutputGainAgg( CompressorSpecRec Spec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.OutputGain, ref Spec.OutputGainAccent, Spec.OutputGainFormula, out ParamsOut); }
/* processed gain factor */ public static void ConvolverSpecGetProcessedGain( ConvolverSpecRec Spec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.ProcessedGain, ref Spec.ProcessedGainAccent, Spec.ProcessedGainFormula, out ParamsOut); }
public static void GetVocoderSpecOutputGainAgg( VocoderSpecRec VocSpec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( VocSpec.OutputGain, ref VocSpec.OutputGainAccent, VocSpec.OutputGainFormula, out ParamsOut); }
/* get aggregated decreasing gain attack rate (seconds per doubling) info */ public static void GetCompressorAttackRateAgg( CompressorSpecRec Spec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.AttackRate, ref Spec.AttackRateAccent, Spec.AttackRateFormula, out ParamsOut); }
/* get aggregated limiting excess (above 1) for soft clipping info */ public static void GetCompressorLimitingExcessAgg( CompressorSpecRec Spec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.LimitingExcess, ref Spec.LimitingExcessAccent, Spec.LimitingExcessFormula, out ParamsOut); }
/* get aggregated power estimator filter cutoff frequency info */ public static void GetCompressorFilterFreqAgg( CompressorSpecRec Spec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.FilterCutoff, ref Spec.FilterCutoffAccent, Spec.FilterCutoffFormula, out ParamsOut); }
/* get aggregated compression ratio info */ public static void GetCompressorRatioAgg( CompressorSpecRec Spec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.Ratio, ref Spec.RatioAccent, Spec.RatioFormula, out ParamsOut); }
/* get aggregated threshhold power info */ public static void GetCompressorThreshPowerAgg( CompressorSpecRec Spec, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.ThreshPower, ref Spec.ThreshPowerAccent, Spec.ThreshPowerFormula, out ParamsOut); }
public static void GetNLProcWaveTableIndexAgg( NonlinProcSpecRec NLProc, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( NLProc.WaveTableIndex, ref NLProc.WaveTableIndexAccent, NLProc.WaveTableIndexFormula, out ParamsOut); }
public static void GetNLProcOutputScalingAgg( NonlinProcSpecRec NLProc, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( NLProc.OutputScaling, ref NLProc.OutputScalingAccent, NLProc.OutputScalingFormula, out ParamsOut); }
/* get aggregate gain info for a filter */ public static void GetFilterGainAgg( FilterSpecRec Filter, int Index, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Filter.List[Index].Gain, ref Filter.List[Index].GainAccent, Filter.List[Index].GainFormula, out ParamsOut); }
/* retrieve various attributes */ public static void GetUserEffectSpecParamAgg( UserEffectSpecRec Spec, int Index, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Spec.Items[Index].Param, ref Spec.Items[Index].ParamAccent, Spec.Items[Index].ParamFormula, out ParamsOut); }
/* get aggregate bandwidth (or slope) info for a filter */ public static void GetFilterBandwidthOrSlopeAgg( FilterSpecRec Filter, int Index, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Filter.List[Index].BandwidthOrSlope, ref Filter.List[Index].BandwidthOrSlopeAccent, Filter.List[Index].BandwidthOrSlopeFormula, out ParamsOut); }
/* get aggregate output multiplier info for a filter */ public static void GetFilterOutputMultiplierAgg( FilterSpecRec Filter, int Index, out ScalarParamEvalRec ParamsOut) { InitScalarParamEval( Filter.List[Index].OutputMultiplier, ref Filter.List[Index].OutputMultiplierAccent, Filter.List[Index].OutputMultiplierFormula, out ParamsOut); }
/* initialize the scalar parameter evaluator */ public static void InitScalarParamEval( double SpecifiedValue, ref AccentRec SpecifiedAccentModifiers, PcodeRec SpecifiedFormula, out ScalarParamEvalRec EvalOut) { EvalOut = new ScalarParamEvalRec(); EvalOut.SpecifiedValue = SpecifiedValue; EvalOut.SpecifiedAccentModifiers = SpecifiedAccentModifiers; EvalOut.SpecifiedFormula = SpecifiedFormula; }
public static void GetDelayTapTargetTimeAgg( DelayEffectRec DelaySpec, int Index, out ScalarParamEvalRec ParamsOut) { DelayTapRec Tap = DelaySpec.List[Index]; InitScalarParamEval( Tap.TargetTime, ref Tap.TargetTimeAccent, Tap.TargetTimeFormula, out ParamsOut); }
public static void GetDelayTapScaleAgg( DelayEffectRec DelaySpec, int Index, out ScalarParamEvalRec ParamsOut) { DelayTapRec Tap = DelaySpec.List[Index]; InitScalarParamEval( Tap.ScaleFactor, ref Tap.ScaleFactorAccent, Tap.ScaleFactorFormula, out ParamsOut); }
public static void GetDelayTapFilterCutoffAgg( DelayEffectRec DelaySpec, int Index, out ScalarParamEvalRec ParamsOut) { DelayTapRec Tap = DelaySpec.List[Index]; InitScalarParamEval( Tap.FilterCutoff, ref Tap.FilterCutoffAccent, Tap.FilterCutoffFormula, out ParamsOut); }
/* do a scalar param evaluation */ public static SynthErrorCodes ScalarParamEval( ScalarParamEvalRec Eval, ref AccentRec CurrentParameters, SynthParamRec SynthParams, out double ResultOut) { ResultOut = 0; double Temp = Eval.SpecifiedValue; /* ordering is somewhat arbitrary because if user wants it the other way, he can */ /* always write it into the formula. */ /* apply accent first */ Temp = AccentProductAdd( Temp, ref CurrentParameters, ref Eval.SpecifiedAccentModifiers); /* compute formula second. */ if (Eval.SpecifiedFormula != null) { SynthErrorCodes Error = StaticEval( Temp, Eval.SpecifiedFormula, ref CurrentParameters, SynthParams, out Temp); if (Error != SynthErrorCodes.eSynthDone) { return(Error); } } ResultOut = Temp; return(SynthErrorCodes.eSynthDone); }