コード例 #1
0
ファイル: DirectoryFreedbToTags.cs プロジェクト: MRoc/puremp3
        private IEnumerable <int> CollectFileLengthsInSecs(string dir)
        {
            List <int> result = new List <int>();

            foreach (var file in VirtualDrive.GetFiles(dir, "*.mp3"))
            {
                if (Abort)
                {
                    return(result);
                }

                int fileLengthInSecs = MP3Tools.LoadFileLengthFromMp3(file, TagUtils.MpegDataSize, TagUtils.TagSizeV2);
                if (fileLengthInSecs != -1)
                {
                    result.Add(fileLengthInSecs);
                }
            }

            return(result);
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Loading offsets from mp3s--------------------------------------------------");
            IEnumerable <int> discOffsets = DiscID.MakeOffsets(MP3Tools.LoadFileLenthFromMp3s(
                                                                   args[0],
                                                                   delegate(FileInfo f) { return((int)f.Length); },
                                                                   delegate(FileInfo f) { return(0); }));

            int counter = 0;

            foreach (int offset in discOffsets)
            {
                Console.WriteLine("Marker {0}: Offset: {1}", counter, offset);
                counter++;
            }

            Console.WriteLine("Build freedb query---------------------------------------------------------");
            string query = DiscID.FreedbQuery(DiscID.DiscId(discOffsets), discOffsets);

            Console.WriteLine(query);

            FreedbAPI freedb = new FreedbAPI();

            Console.WriteLine("Get freedb sites-----------------------------------------------------------");
            FreedbAPI.Result <IEnumerable <Site> > sites = freedb.GetSites();
            foreach (var item in sites.Value)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("Get freedb categories------------------------------------------------------");
            FreedbAPI.Result <IEnumerable <string> > categories = freedb.GetCategories();
            foreach (var item in categories.Value)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("Query----------------------------------------------------------------------");
            FreedbAPI.Result <IEnumerable <Release> > result = freedb.Query(query);
            if (result.Value.Count() > 0)
            {
                foreach (var item in result.Value)
                {
                    Console.WriteLine(item);
                }
            }
            else
            {
                Console.WriteLine("Query unsuccessful: " + result.Code);
                return;
            }

            Console.WriteLine("Read first entry-----------------------------------------------------------");
            FreedbAPI.Result <Release> disc = freedb.Read(result.Value.First());
            if (disc.Value != null)
            {
                Console.WriteLine(disc.Value);
            }
            else
            {
                Console.WriteLine("Unable to retrieve cd entry. Code: " + disc.Code);
            }
        }