static void Main(string[] args) { int nArgs = args.Count(); if (nArgs < 2 || nArgs > 5) { Usage(); } bool usePipe = false; int timeArg = 1; // First arg for timings if (nArgs == 2 || nArgs == 4) { usePipe = true; timeArg = 0; // No filename arg } if (!usePipe) { CreateParamsFile(args); } try { var s = new SrtParser(); // s.RateCalc1("08", "22"); // s.RateCalc2("44:41", "45:06"); if (nArgs <= 3) { s.RateCalc1(args[timeArg], args[timeArg + 1]); } else { s.RateCalc2(args[timeArg], args[timeArg + 1], args[timeArg + 2], args[timeArg + 3]); } if (usePipe) { s.ShiftPipe(); } else { string filename = args[0]; s.ShiftFiles(filename); } } catch (Exception ex) { Console.Error.WriteLine(""); Console.Error.WriteLine(ex.Message); } }