public override void ApplyChanges <T>(T model) { if (model is SettingsMemoryFxModel memoryFx) { Filter.ApplyChanges(memoryFx); Phaser.ApplyChanges(memoryFx); Flanger.ApplyChanges(memoryFx); Synth.ApplyChanges(memoryFx); LoFi.ApplyChanges(memoryFx); RingModulator.ApplyChanges(memoryFx); GuitarToBass.ApplyChanges(memoryFx); SlowGear.ApplyChanges(memoryFx); Transpose.ApplyChanges(memoryFx); PitchBend.ApplyChanges(memoryFx); Robot.ApplyChanges(memoryFx); VocalDist.ApplyChanges(memoryFx); Dynamics.ApplyChanges(memoryFx); Eq.ApplyChanges(memoryFx); Isolator.ApplyChanges(memoryFx); Octave.ApplyChanges(memoryFx); Pan.ApplyChanges(memoryFx); Tremolo.ApplyChanges(memoryFx); Slicer.ApplyChanges(memoryFx); Delay.ApplyChanges(memoryFx); PanningDelay.ApplyChanges(memoryFx); TapeEcho.ApplyChanges(memoryFx); GranularDelay.ApplyChanges(memoryFx); Roll.ApplyChanges(memoryFx); Chorus.ApplyChanges(memoryFx); Reverb.ApplyChanges(memoryFx); } else { throw new ArgumentException("Model must be of type SettingsMemoryFxModel."); } }