コード例 #1
0
 public FlangerEffectDef(EffectParamF mix, EffectParamF delay, EffectParamI offset, EffectParamI depth)
     : this(mix)
 {
     Delay  = delay;
     Offset = offset;
     Depth  = depth;
 }
コード例 #2
0
ファイル: BiQuadFilter.cs プロジェクト: zacharied/MusicTheori
 public BiQuadFilterEffectDef(EffectType type, EffectParamF mix,
                              EffectParamF q, EffectParamF gain, EffectParamF freq)
     : base(type, mix)
 {
     Q    = q;
     Gain = gain;
     Freq = freq;
 }
コード例 #3
0
        private static EffectDef CreateDefault(EffectType type)
        {
            var laserEasingCurve = new CubicBezier(Ease.InExpo);
            var lpfEasingCurve   = new CubicBezier(Ease.OutCubic);

            const float DEF_FILTER_GAIN = 1.0f;

            switch (type)
            {
            case EffectType.PeakingFilter:
            {
                var   q    = new EffectParamF(1, 0.8f);
                var   freq = new EffectParamF(80, 8_000, laserEasingCurve);
                float gain = 20.0f;

                return(new BiQuadFilterEffectDef(type, 1.0f, q, gain, freq));
            }

            case EffectType.LowPassFilter:
            {
                var q    = new EffectParamF(7, 10);
                var freq = new EffectParamF(10_000, 700, lpfEasingCurve);

                return(new BiQuadFilterEffectDef(type, 1.0f, q, DEF_FILTER_GAIN, freq));
            }

            case EffectType.HighPassFilter:
            {
                var q    = new EffectParamF(10, 5);
                var freq = new EffectParamF(80, 2_000, laserEasingCurve);

                return(new BiQuadFilterEffectDef(type, 1.0f, q, DEF_FILTER_GAIN, freq));
            }

            case EffectType.BitCrush:
            {
                var reduction = new EffectParamF(0, 45 / 44100.0f, laserEasingCurve);
                return(new BitCrusherEffectDef(1.0f, reduction));
            }

            default: throw new NotImplementedException(type.ToString());
            }
        }
コード例 #4
0
ファイル: TapeStop.cs プロジェクト: zacharied/MusicTheori
 public TapeStopEffectDef(EffectParamF mix, EffectParamF duration)
     : base(EffectType.TapeStop, mix)
 {
     Duration = duration;
 }
コード例 #5
0
 public WobbleEffectDef(EffectParamF mix, EffectParamF period)
     : base(EffectType.Wobble, mix)
 {
     Period = period;
 }
コード例 #6
0
ファイル: SideChain.cs プロジェクト: zacharied/MusicTheori
 public SideChainEffectDef(EffectParamF mix, EffectParamF amount, EffectParamF dur)
     : base(EffectType.SideChain, mix)
 {
     Amount   = amount;
     Duration = dur;
 }
コード例 #7
0
 public PhaserEffectDef(EffectParamF mix)
     : base(EffectType.Phaser, mix)
 {
 }
コード例 #8
0
 public RetriggerEffectDef(EffectParamF mix, EffectParamF gating, EffectParamF gateDuration)
     : base(EffectType.Retrigger, mix)
 {
     GateDuration = gateDuration;
     Gating       = gating;
 }
コード例 #9
0
 protected EffectDef(EffectType type, EffectParamF mix)
 {
     Type = type;
     Mix  = mix;
 }
コード例 #10
0
ファイル: BitCrusher.cs プロジェクト: zacharied/MusicTheori
 public BitCrusherEffectDef(EffectParamF mix, EffectParamF reduction)
     : base(EffectType.BitCrush, mix)
 {
     Reduction = reduction;
 }
コード例 #11
0
 public GateEffectDef(EffectParamF mix, EffectParamF gating, EffectParamF gateDuration)
     : base(EffectType.Gate, mix)
 {
     GateDuration = gateDuration;
     Gating       = gating;
 }
コード例 #12
0
 public FlangerEffectDef(EffectParamF mix)
     : base(EffectType.Flanger, mix)
 {
 }