public MUCInfo GetMUCInfo(byte[] buf) { if (CheckFileType(buf) != EnmMUCOMFileType.MUC) { throw new NotImplementedException(); } List <Tuple <string, string> > tags = GetTagsFromMUC(buf); mucInfo.Clear(); foreach (Tuple <string, string> tag in tags) { switch (tag.Item1) { case "title": mucInfo.title = tag.Item2; break; case "composer": mucInfo.composer = tag.Item2; break; case "author": mucInfo.author = tag.Item2; break; case "comment": mucInfo.comment = tag.Item2; break; case "mucom88": mucInfo.mucom88 = tag.Item2; break; case "date": mucInfo.date = tag.Item2; break; case "voice": mucInfo.voice = tag.Item2; break; case "pcm": mucInfo.pcm = tag.Item2; break; } } return(mucInfo); }
public MUCInfo GetMUCInfo(byte[] buf) { if (CheckFileType(buf) != EnmMUCOMFileType.MUC) { throw new NotImplementedException(); } List <Tuple <string, string> > tags = GetTagsFromMUC(buf); mucInfo.Clear(); foreach (Tuple <string, string> tag in tags) { switch (tag.Item1) { case "title": mucInfo.title = tag.Item2; break; case "composer": mucInfo.composer = tag.Item2; break; case "author": mucInfo.author = tag.Item2; break; case "comment": if (string.IsNullOrEmpty(mucInfo.comment)) { mucInfo.comment = tag.Item2; } else { mucInfo.comment += "\r\n" + tag.Item2; } break; case "mucom88": mucInfo.mucom88 = tag.Item2; break; case "date": mucInfo.date = tag.Item2; break; case "voice": mucInfo.voice = tag.Item2; break; case "pcm": mucInfo.pcm[0] = tag.Item2; break; case "pcm_2nd": mucInfo.pcm[1] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_3rd_b": mucInfo.pcm[2] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_4th_b": mucInfo.pcm[3] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_3rd_a": mucInfo.pcm[4] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_4th_a": mucInfo.pcm[5] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm": mucInfo.pcmAt[0].Add(tag.Item2); break; case "@pcm_2nd": mucInfo.pcmAt[1].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_3rd_b": mucInfo.pcmAt[2].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_4th_b": mucInfo.pcmAt[3].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_3rd_a": mucInfo.pcmAt[4].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_4th_a": mucInfo.pcmAt[5].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "driver": mucInfo.driver = tag.Item2; if (mucInfo.driver.ToLower() == "mucomdotnet") { mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; } else if (mucInfo.driver.ToLower() == "mucom88e") { mucInfo.DriverType = MUCInfo.enmDriverType.E; } else if (mucInfo.driver.ToLower() == "mucom88em") { mucInfo.DriverType = MUCInfo.enmDriverType.em; } else { mucInfo.DriverType = MUCInfo.enmDriverType.normal; } break; case "invert": mucInfo.invert = tag.Item2; break; case "pcminvert": mucInfo.pcminvert = tag.Item2; break; case "carriercorrection": string val = tag.Item2.ToLower().Trim(); mucInfo.carriercorrection = false; if (val == "yes" || val == "y" || val == "1" || val == "true" || val == "t") { mucInfo.carriercorrection = true; } break; case "opmclockmode": string ocmval = tag.Item2.ToLower().Trim(); mucInfo.opmclockmode = MUCInfo.enmOpmClockMode.normal; if (ocmval == "x68000" || ocmval == "x68k" || ocmval == "x68" || ocmval == "x" || ocmval == "40000" || ocmval == "x680x0") { mucInfo.opmclockmode = MUCInfo.enmOpmClockMode.X68000; } break; } } return(mucInfo); }
public MUCInfo GetMUCInfo(byte[] buf) { if (CheckFileType(buf) != EnmMUCOMFileType.MUC) { throw new NotImplementedException(); } List <Tuple <string, string> > tags = GetTagsFromMUC(buf); mucInfo.Clear(); foreach (Tuple <string, string> tag in tags) { switch (tag.Item1) { case "title": mucInfo.title = tag.Item2; break; case "composer": mucInfo.composer = tag.Item2; break; case "author": mucInfo.author = tag.Item2; break; case "comment": mucInfo.comment = tag.Item2; break; case "mucom88": mucInfo.mucom88 = tag.Item2; break; case "date": mucInfo.date = tag.Item2; break; case "voice": mucInfo.voice = tag.Item2; break; case "pcm": mucInfo.pcm[0] = tag.Item2; break; case "pcm_2nd": mucInfo.pcm[1] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_3rd_b": mucInfo.pcm[2] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_4th_b": mucInfo.pcm[3] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_3rd_a": mucInfo.pcm[4] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "pcm_4th_a": mucInfo.pcm[5] = tag.Item2; mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm": mucInfo.pcmAt[0].Add(tag.Item2); break; case "@pcm_2nd": mucInfo.pcmAt[1].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_3rd_b": mucInfo.pcmAt[2].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_4th_b": mucInfo.pcmAt[3].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_3rd_a": mucInfo.pcmAt[4].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "@pcm_4th_a": mucInfo.pcmAt[5].Add(tag.Item2); mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; break; case "driver": mucInfo.driver = tag.Item2; if (mucInfo.driver.ToLower() == "mucomdotnet") { mucInfo.DriverType = MUCInfo.enmDriverType.DotNet; } else if (mucInfo.driver.ToLower() == "mucom88e") { mucInfo.DriverType = MUCInfo.enmDriverType.E; } else if (mucInfo.driver.ToLower() == "mucom88em") { mucInfo.DriverType = MUCInfo.enmDriverType.em; } else { mucInfo.DriverType = MUCInfo.enmDriverType.normal; } break; case "invert": mucInfo.invert = tag.Item2; break; } } return(mucInfo); }