//Apply rating changes to simfiles and save them to file
        public static void ApplyRatingChangesAndSaveSimfiles(List <Simfile> simfiles)
        {
            foreach (Simfile simfile in simfiles)
            {
                switch (simfile.ScaleChange)
                {
                case RatingScaleChange.ToOld:
                    Console.WriteLine("To Old Scale: " + simfile.Name);
                    simfile.StepCharts = ApplyRatingChange(simfile.StepCharts, RatingScaleChange.ToOld);
                    break;

                case RatingScaleChange.ToX:
                    Console.WriteLine("To X   Scale: " + simfile.Name);
                    simfile.StepCharts = ApplyRatingChange(simfile.StepCharts, RatingScaleChange.ToX);
                    break;

                default:
                    Console.WriteLine("No    Change: " + simfile.Name + ". Skipping.");
                    continue;
                }

                if (simfile.Path.Substring(simfile.Path.Length - 3).Equals(".sm", StringComparison.CurrentCultureIgnoreCase))
                {
                    Simfile.SaveSimfileSM(simfile);
                }
                else if (simfile.Path.Substring(simfile.Path.Length - 4).Equals(".dwi", StringComparison.CurrentCultureIgnoreCase))
                {
                    Simfile.SaveSimfileDWI(simfile);
                }
                else
                {
                    MessageBox.Show("Error: Couldn't save invalid simfile extension \"" + simfile.Path.Substring(simfile.Path.Length - 3) + "\". This shouldn't happen.", "Error - SM Rating Scale Converter", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

            MessageBox.Show("Processed all simfiles!");
        }