Exemple #1
0
 private void SongInfoRetrieve(ResultFingerprintRecognition resultRecognitions)
 {
     if (RetrieveMetadataFromMuziekweb(resultRecognitions.FingerTracks[0].FingerTrackReference))
     {
         detectTask.RetrieveMetaDataMuziekweb(resultRecognitions.FingerTracks[0].FingerTrackReference, resultRecognitions, REST_ResultMetaDataMuziekweb);
     }
     else
     {
         // No metadata just show what we got
         REST_ResultMetaDataMuziekweb(this, false, null, resultRecognitions);
     }
 }
Exemple #2
0
        private void PrintAnswer(Resultset result)
        {
            if (result != null)
            {
                Console.WriteLine("======================================================================");
                Console.WriteLine("Algorithm: " + result.Algorithm.ToString());
                Console.Write("Stats: ");
                Console.Write("Total=" + (result.QueryTime.TotalMilliseconds / 1000).ToString("#0.000") + "s");
                Console.Write(" | FingerQry=" + (result.FingerQueryTime.TotalMilliseconds / 1000).ToString("#0.000") + "s");
                Console.Write(" | FingerLD=" + (result.FingerLoadTime.TotalMilliseconds / 1000).ToString("#0.000") + "s");
                Console.Write(" | Match=" + (result.MatchTime.TotalMilliseconds / 1000).ToString("#0.000") + "s");
                Console.WriteLine();
                Console.WriteLine();

                foreach (ResultEntry item in result.ResultEntries)
                {
                    Song song = new Song();
                    if (RetrieveMetadataFromMuziekweb(item.Reference.ToString()))
                    {
                        signalEvent.Reset();
                        WSRecognize detectTask = new WSRecognize();
                        string      reference  = item.Reference.ToString();
                        if (!retrieveMetadataFromMuziekweb && MapCRC32ToMuziekwebReference(reference).Length > 0)
                        {
                            reference = MapCRC32ToMuziekwebReference(reference);
                        }
                        detectTask.RetrieveMetaDataMuziekweb(reference, song, REST_ResultMetaDataMuziekweb);
                        // wait until metadata is retrieved
                        signalEvent.WaitOne();
                    }

                    Console.WriteLine("SearchPlan  : " + item.SearchStrategy.ToString());
                    Console.WriteLine("Reference   : " + item.Reference.ToString());
                    // AcoustID is for complete track so position in track is pointless
                    if (item.TimeIndex >= 0)
                    {
                        Console.WriteLine("Position    : " + (item.Time.TotalMilliseconds / 1000).ToString("#0.000") + " sec");
                    }
                    else
                    {
                        Console.WriteLine("Position    : Match on complete track");
                    }
                    if (result.Algorithm == FingerprintAlgorithm.AcoustIDFingerprint)
                    {
                        Console.WriteLine(string.Format("Match perc. : {0}%", item.Similarity));
                    }
                    else
                    {
                        Console.WriteLine("BER         : " + item.Similarity.ToString());
                    }
                    if (!string.IsNullOrEmpty(song.AlbumTrackID))
                    {
                        Console.WriteLine(string.Format("Album : {0} / {1}", song.Album.AlbumTitle, PerformerList(song.Album.Performers)));
                        Console.WriteLine(string.Format("Song  : {0} / {1}", song.SongTitle, PerformerList(song.Performers)));
                    }

                    Console.WriteLine();
                } //foreach
                Console.WriteLine("======================================================================");
            }
        }