private void DoDownloadAudioSQ(string url)
        {
            DownloadItem downloadItem = new DownloadItem("Last Donwload", FormatType.None, "Pending", 0);

            downloadList.addToDownloadsList(downloadItem);
            IEnumerable <VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(url);
            VideoInfo video = videoInfos
                              .First(info => info.VideoType == VideoType.Mp4 && info.Resolution == 720 || info.Resolution == 480);

            if (video.RequiresDecryption)
            {
                DownloadUrlResolver.DecryptDownloadUrl(video);
            }
            downloadItem.Progress = 0;
            downloadItem.Title    = video.Title;
            downloadItem.Type     = FormatType.Mp3SQ;
            downloadItem.Status   = "Downloading";


            ExtendedAudioSQDownloader audioDownloader = new ExtendedAudioSQDownloader(video, Path.Combine(SavePath, video.Title +
                                                                                                          video.VideoExtension), downloadItem);



            audioDownloader.DownloadProgressChanged += new EventHandler <ProgressEventArgs>(OnProgressChangedAudioSQ);
            audioDownloader.DownloadFinished        += new EventHandler(OnDownloadFinishAudioSQ);
            try
            {
                audioDownloader.Execute();
            }
            catch (Exception exc) {
                MessageDialog md = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, "Download " + video.Title + " failed!\n" + exc.Message);
                md.Run();
                md.Destroy();
            }
        }
        private void OnDownloadFinishAudioSQ(object sender, EventArgs args)
        {
            ExtendedAudioSQDownloader audioDownloader = (ExtendedAudioSQDownloader)sender;

            audioDownloader.CurrentDownloadItem.Status = "Completed";
        }
        private void OnProgressChangedAudioSQ(object sender, ProgressEventArgs args)
        {
            ExtendedAudioSQDownloader audioDownloader = (ExtendedAudioSQDownloader)sender;

            audioDownloader.CurrentDownloadItem.Progress = (float)args.ProgressPercentage;
        }