Exemplo n.º 1
0
 public static void GetVocoderSpecWaveTableIndexAgg(
     VocoderSpecRec VocSpec,
     out ScalarParamEvalRec ParamsOut)
 {
     InitScalarParamEval(
         VocSpec.WaveTableIndex,
         ref VocSpec.WaveTableIndexAccent,
         VocSpec.WaveTableIndexFormula,
         out ParamsOut);
 }
Exemplo n.º 2
0
 /* 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);
 }
Exemplo n.º 3
0
 /* processed gain factor */
 public static void ConvolverSpecGetProcessedGain(
     ConvolverSpecRec Spec,
     out ScalarParamEvalRec ParamsOut)
 {
     InitScalarParamEval(
         Spec.ProcessedGain,
         ref Spec.ProcessedGainAccent,
         Spec.ProcessedGainFormula,
         out ParamsOut);
 }
Exemplo n.º 4
0
 public static void GetVocoderSpecOutputGainAgg(
     VocoderSpecRec VocSpec,
     out ScalarParamEvalRec ParamsOut)
 {
     InitScalarParamEval(
         VocSpec.OutputGain,
         ref VocSpec.OutputGainAccent,
         VocSpec.OutputGainFormula,
         out ParamsOut);
 }
Exemplo n.º 5
0
 /* 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);
 }
Exemplo n.º 6
0
 /* 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);
 }
Exemplo n.º 7
0
 /* 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);
 }
Exemplo n.º 8
0
 /* get aggregated compression ratio info */
 public static void GetCompressorRatioAgg(
     CompressorSpecRec Spec,
     out ScalarParamEvalRec ParamsOut)
 {
     InitScalarParamEval(
         Spec.Ratio,
         ref Spec.RatioAccent,
         Spec.RatioFormula,
         out ParamsOut);
 }
Exemplo n.º 9
0
 /* get aggregated threshhold power info */
 public static void GetCompressorThreshPowerAgg(
     CompressorSpecRec Spec,
     out ScalarParamEvalRec ParamsOut)
 {
     InitScalarParamEval(
         Spec.ThreshPower,
         ref Spec.ThreshPowerAccent,
         Spec.ThreshPowerFormula,
         out ParamsOut);
 }
Exemplo n.º 10
0
 public static void GetNLProcWaveTableIndexAgg(
     NonlinProcSpecRec NLProc,
     out ScalarParamEvalRec ParamsOut)
 {
     InitScalarParamEval(
         NLProc.WaveTableIndex,
         ref NLProc.WaveTableIndexAccent,
         NLProc.WaveTableIndexFormula,
         out ParamsOut);
 }
Exemplo n.º 11
0
 public static void GetNLProcOutputScalingAgg(
     NonlinProcSpecRec NLProc,
     out ScalarParamEvalRec ParamsOut)
 {
     InitScalarParamEval(
         NLProc.OutputScaling,
         ref NLProc.OutputScalingAccent,
         NLProc.OutputScalingFormula,
         out ParamsOut);
 }
Exemplo n.º 12
0
 /* 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);
 }
Exemplo n.º 13
0
 /* 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);
 }
Exemplo n.º 14
0
 /* 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);
 }
Exemplo n.º 15
0
 /* 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);
 }
Exemplo n.º 16
0
 /* 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;
 }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
0
        /* 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);
        }