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); }
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) }); }
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); }