示例#1
0
文件: Tape.cs 项目: BouKiCHi/TapeEx
    public bool Run(string[] args)
    {
        var mo = new MiniOption();

        AddOptionData(mo);

        if (!mo.Parse(args))
        {
            return(false);
        }

        if (mo.Files.Count < 1)
        {
            Usage();
            return(false);
        }

        InputFilename = mo.Files[0];

        if (!CheckOption(mo))
        {
            return(false);
        }

        // 拡張子判別
        if (RunMode == RunModeType.None)
        {
            var e         = Path.GetExtension(InputFilename);
            var IsWavFile = (string.IsNullOrEmpty(e) || e.ToLower() == ".wav");
            RunMode = IsWavFile ? RunModeType.Read : RunMode = RunModeType.Write;
        }

        if (string.IsNullOrEmpty(OutputFilename))
        {
            OutputFilename = "output." + (RunMode == RunModeType.Read ? "txt" : "wav");
        }

        Console.WriteLine("Output : " + OutputFilename);

        if (RunMode != RunModeType.Read)
        {
            Console.WriteLine("Write WAV File From Text...");
            if (!OutputDataWave())
            {
                return(false);
            }
        }
        else
        {
            Console.WriteLine("Write Text From WAV File ...");
            if (!OutputDataText())
            {
                return(false);
            }
        }

        Console.WriteLine("Done");

        return(true);
    }
示例#2
0
文件: Tape.cs 项目: BouKiCHi/TapeEx
 private static void AddOptionData(MiniOption miniopt)
 {
     miniopt.AddOptionDefines(new MiniOption.DefineData[] {
         new MiniOption.DefineData((int)OptionType.Read, "r", "read", false),
         new MiniOption.DefineData((int)OptionType.Write, "w", "write", false),
         new MiniOption.DefineData((int)OptionType.OutputFile, "o", "output", true),
         new MiniOption.DefineData((int)OptionType.StartPosition, "s", "start", true),
         new MiniOption.DefineData((int)OptionType.RecordLength, "l", "length", true),
         new MiniOption.DefineData((int)OptionType.LongPulseWidth, null, "pulse", true),
         new MiniOption.DefineData((int)OptionType.DebugRough, null, "debug", false),
         new MiniOption.DefineData((int)OptionType.DebugDetail, null, "detail", false),
         new MiniOption.DefineData((int)OptionType.Help, "?", null, false),
         new MiniOption.DefineData((int)OptionType.Help, "h", null, false)
     });
 }
示例#3
0
文件: Tape.cs 项目: BouKiCHi/TapeEx
    public bool CheckOption(MiniOption miniopt)
    {
        foreach (var o in miniopt.Result)
        {
            switch (o.Type)
            {
            case (int)OptionType.Read:
                RunMode = RunModeType.Read;
                break;

            case (int)OptionType.Write:
                RunMode = RunModeType.Write;
                break;

            case (int)OptionType.OutputFile:
                OutputFilename = o.Value;
                break;

            case (int)OptionType.StartPosition:
                Console.WriteLine("Start:" + o.Value);
                RecordStart = Convert.ToInt32(o.Value);
                break;

            case (int)OptionType.RecordLength:
                Console.WriteLine("End:" + o.Value);
                RecordLength = Convert.ToInt32(o.Value);
                break;

            case (int)OptionType.LongPulseWidth:
                Console.WriteLine("LongPulseWidth:" + o.Value);
                LongPulseWidth = Convert.ToInt32(o.Value);
                break;

            case (int)OptionType.DebugRough:
                DebugFlag = true;
                break;

            case (int)OptionType.DebugDetail:
                DebugDetail = true;
                break;

            case (int)OptionType.Help:
                Usage();
                return(false);
            }
        }
        return(true);
    }