예제 #1
0
파일: Program.cs 프로젝트: roseeng/SrtShift
        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);
            }
        }