public static MediaItem PopulateMetaData(MediaResource R, FileInfo F)
        {
            MediaItem RetVal;

            MediaBuilder.item Item   = null;
            DText             parser = new DText();

            parser.ATTRMARK = "-";
            parser.MULTMARK = ".";

            switch (F.Extension.ToUpper())
            {
            case ".MP3":
                Item = ParseMP3_V1(F);
                if (Item == null)
                {
                    parser[0] = F.Name;
                    if (parser.DCOUNT() == 2)
                    {
                        Item         = new MediaBuilder.musicTrack(parser[2, 1].Trim());
                        Item.creator = parser[1].Trim();
                        ((MediaBuilder.musicTrack)Item).artist = new PersonWithRole[1] {
                            new PersonWithRole()
                        };
                        ((MediaBuilder.musicTrack)Item).artist[0].Name = Item.creator;
                        ((MediaBuilder.musicTrack)Item).artist[0].Role = null;
                    }
                }
                break;
            }

            if (Item != null)
            {
                RetVal = MediaBuilder.CreateItem(Item);
                RetVal.AddResource(R);
                return(RetVal);
            }
            else
            {
                // Create a Generic Item
                string fname    = F.Name;
                int    fnameidx = fname.IndexOf(".");
                if (fnameidx != -1)
                {
                    fname = fname.Substring(0, fnameidx);
                }
                MediaBuilder.item genericItem = new MediaBuilder.item(fname);
                RetVal = MediaBuilder.CreateItem(genericItem);
                RetVal.AddResource(R);
                return(RetVal);
            }
        }