static int Main(string[] args) { Console.Title = "LyricsReloaded!"; Console.OutputEncoding = Encoding.UTF8; Console.InputEncoding = Encoding.UTF8; Console.CancelKeyPress += (sender, eventArgs) => Console.WriteLine("Bye!"); String providerName = null; String artist = null; String title = null; String album = null; int result = 0; int argc = args.Length; if (argc > 0) { providerName = args[0]; } if (argc > 1) { artist = args[1]; } if (argc > 2) { title = args[2]; } if (argc > 3) { album = args[3]; } LyricsReloaded lyricsReloaded = new LyricsReloaded("."); lyricsReloaded.loadConfigurations(); lyricsReloaded.checkForNewVersion(newAvailable => { if (newAvailable) { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Red; Console.Write("A new version is available!"); Console.ResetColor(); Console.WriteLine(); } }); if (String.IsNullOrWhiteSpace(providerName)) { Console.WriteLine("The providers:"); foreach (Provider p in lyricsReloaded.getProviderManager().getProviders()) { Console.WriteLine(" - {0}", p.getName()); } Console.Write("Enter the provider: "); providerName = Console.ReadLine(); if (providerName != null) { providerName = providerName.Trim(); } } if (String.IsNullOrWhiteSpace(artist)) { Console.Write("Enter the artist: "); artist = Console.ReadLine(); if (artist != null) { artist = artist.Trim(); } } if (String.IsNullOrWhiteSpace(title)) { Console.Write("Enter the title: "); title = Console.ReadLine(); if (title != null) { title = title.Trim(); } } Provider provider = lyricsReloaded.getProviderManager().getProvider(providerName); if (provider == null) { lyricsReloaded.getLogger().error("Provider {0} not found!", providerName); result = 1; } else { Console.Write("Provider {0}: ", providerName); try { String lyrics = provider.getLyrics(artist, title, album); if (String.IsNullOrWhiteSpace(lyrics)) { Console.WriteLine("failed (not found)"); lyricsReloaded.getLogger().error("Lyrics not found!"); } else { Console.WriteLine("success\n\n" + lyrics); } } catch (Exception e) { Console.WriteLine("failed (internal error)"); Console.WriteLine(e.ToString()); } } Console.WriteLine("\nPress any key to exit..."); Console.ReadKey(); return result; }