public static void Main(string[] args) { using (_downloadSession = new DownloadSession(key, "Spoti")) { #region login login: Console.Write("Username:"******"Password:"******"Login Failed. Try again.."); goto login; } Console.WriteLine("Login Succeeded"); #endregion Console.Write("Track Url:"); var turl = Console.ReadLine(); var link = new Link(turl, _downloadSession); int t = -1; _downloadSession.OnReportProgress += delegate(int i) { if (i != t) { Console.Title = String.Format("{0}% Loaded", i); t = i; } }; var cts = new CancellationTokenSource(); using (var track = new Track(link, _downloadSession)) { link.Dispose(); var task = _downloadSession.TrackToFileAsync(track, "test.wave", cts); Console.WriteLine("Press enter to terminate .. "); Console.Read(); } _downloadSession.LogOut(); Console.Read(); } }