예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }