Exemplo n.º 1
0
        /// <inheritdoc />
        /// <summary>
        ///     Creates new instance of Effect 1 Patch
        /// </summary>
        public Patch()
        {
            var thruEffectParameters = new ThruEffectParameters();

            FlangerParameters        = new FlangerParameters();
            PhaserParameters         = new PhaserParameters();
            RingModulationParameters = new RingModulationParameters();
            SlicerParameters         = new SlicerParameters();

            Basic      = new BasicData();
            Parameters = new ThruEffectParameters();

            Basic.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == nameof(BasicData.Type))
                {
                    switch (((BasicData)Basic).Type)
                    {
                    case Effect2Type.Thru:
                        Parameters = thruEffectParameters;
                        break;

                    case Effect2Type.Flanger:
                        Parameters = FlangerParameters;
                        break;

                    case Effect2Type.Phaser:
                        Parameters = PhaserParameters;
                        break;

                    case Effect2Type.RingMod:
                        Parameters = RingModulationParameters;
                        break;

                    case Effect2Type.Slicer:
                        Parameters = SlicerParameters;
                        break;

                    default:
                        Parameters = new ThruEffectParameters();
                        break;
                    }

                    Parameters.PropertyChanged +=
                        (paramSender, paramArgs) => NotifyOfPropertyChange(nameof(Parameters));
                }

                NotifyOfPropertyChange(nameof(Basic));
            };
        }
Exemplo n.º 2
0
        /// <inheritdoc />
        /// <summary>
        ///     Creates new instance of Effect 1 Patch
        /// </summary>
        public Patch()
        {
            ThruEffectParameters = new ThruEffectParameters();
            DistortionParameters = new DistortionParameters();
            FuzzParameters       = new FuzzParameters();
            CompressorParameters = new CompressorParameters();
            BitCrusherParameters = new BitCrusherParameters();

            Basic      = new BasicData();
            Parameters = ThruEffectParameters;

            Basic.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == nameof(BasicData.Type))
                {
                    switch (((BasicData)Basic).Type)
                    {
                    case Effect1Type.Thru:
                        Parameters = ThruEffectParameters;
                        break;

                    case Effect1Type.Distortion:
                        Parameters = DistortionParameters;
                        break;

                    case Effect1Type.Fuzz:
                        Parameters = FuzzParameters;
                        break;

                    case Effect1Type.Compressor:
                        Parameters = CompressorParameters;
                        break;

                    case Effect1Type.BitCrusher:
                        Parameters = BitCrusherParameters;
                        break;

                    default:
                        Parameters = ThruEffectParameters;
                        break;
                    }

                    Parameters.PropertyChanged +=
                        (paramSender, paramArgs) => NotifyOfPropertyChange(nameof(Parameters));
                }

                NotifyOfPropertyChange(nameof(Basic));
            };
        }