private void button1_Click(object sender, EventArgs e)
        {
            Uri ur = new Uri("http://gdata.youtube.com/feeds/api/videos/fSgGV1llVHM&f=gdata_playlists&c=ytapi-DukaIstvan-MyYouTubeVideosF-d1ogtvf7-0&d=U1YkMvELc_arPNsH4kYosmD9LlbsOl3qUImVMV6ramM");
              YouTubeQuery query = new YouTubeQuery("http://gdata.youtube.com/feeds/api/channels?q=vevo");

              YouTubeFeed videoFeed = service.Query(query);
              YouTubeEntry en = (YouTubeEntry)videoFeed.Entries[0];

              Video video = request.Retrieve<Video>(new Uri("http://gdata.youtube.com/feeds/api/videos/" + en.VideoId));
              Feed<Comment> comments = request.GetComments(video);
            string cm = "";
            foreach (Comment c in comments.Entries)
            {
              cm +=  c.Content + "\n------------------------------------------\n";
            }

              VideoInfo info = new VideoInfo();
              info.Get("yUHNUjEs7rQ");
              //Video v = request.Retrieve<Video>(videoEntryUrl);

              //Feed<Comment> comments = request.GetComments(v);

              //string cm = "";
              //foreach (Comment c in comments.Entries)
              //{
              //  cm += c.Author + c.Content + "------------------------------------------";
              //}
        }
        static public string youtubecatch1(string url, VideoInfo qa)
        {
            if (_settings.LocalFile.Get(getIDSimple(url)) != null)
            {
                return(_settings.LocalFile.Get(getIDSimple(url)).LocalFile);
            }
            if (String.IsNullOrEmpty(qa.Token) || !qa.IsInited)
            {
                qa.Get(getIDSimple(url));
            }
            if (qa.Quality == VideoQuality.HD && !qa.FmtMap.Contains("22/"))
            {
                qa.Quality = VideoQuality.High;
            }
            switch (qa.Quality)
            {
            case VideoQuality.Normal:
                return(qa.GetPlaybackUrl("34")); // string.Format("http://youtube.com/get_video?video_id={0}&t={1}&ext=.flv", getIDSimple(url), qa.Token);)

            case VideoQuality.High:
                return(qa.GetPlaybackUrl("18"));//string.Format("http://youtube.com/get_video?video_id={0}&t={1}&fmt=18&ext=.mp4", getIDSimple(url), qa.Token);

            case VideoQuality.HD:
                return(qa.GetPlaybackUrl("22")); // string.Format("http://youtube.com/get_video?video_id={0}&t={1}&fmt=22&ext=.mp4", getIDSimple(url), qa.Token);

            case VideoQuality.FullHD:
                return(qa.GetPlaybackUrl("37")); // string.Format("http://youtube.com/get_video?video_id={0}&t={1}&fmt=22&ext=.mp4", getIDSimple(url), qa.Token);
            }
            return(qa.GetPlaybackUrl("34"));     //string.Format("http://youtube.com/get_video?video_id={0}&t={1}&ext=.flv", getIDSimple(url), qa.Token);
        }
        public VideoInfo SelectQuality(YouTubeEntry vid)
        {
            VideoInfo info = new VideoInfo();
              info.Get(Youtube2MP.getIDSimple(vid.AlternateUri.Content));
              if (!string.IsNullOrEmpty(info.Reason))
              {
            Err_message(info.Reason);
            info.Quality = VideoQuality.Unknow;
            return info;
              }

              switch (Youtube2MP._settings.VideoQuality)
              {
            case 0:
              info.Quality = VideoQuality.Normal;
              break;
            case 1:
              info.Quality = VideoQuality.High;
              break;
            case 2:
              info.Quality = VideoQuality.HD;
              break;
            case 3:
              info.Quality = VideoQuality.FullHD;
              break;
            case 4:
              {
            string title = vid.Title.Text;
            if (info.FmtMap.Contains("18"))
              info.Quality = VideoQuality.High;
            if (info.FmtMap.Contains("22"))
              info.Quality = VideoQuality.HD;
            if (info.FmtMap.Contains("37"))
              info.Quality = VideoQuality.FullHD;
            break;
              }
            case 5:
              {
            GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
            if (dlg == null) info.Quality = VideoQuality.Normal;
            dlg.Reset();
            dlg.SetHeading("Select video quality");
            dlg.Add("Normal quality");
            dlg.Add("High quality");
            if (info.FmtMap.Contains("22/"))
            {
              dlg.Add("HD quality");
            }
            if (info.FmtMap.Contains("37"))
            {
              dlg.Add("Full HD quality");
            }
            dlg.DoModal(GetID);
            if (dlg.SelectedId == -1) info.Quality = VideoQuality.Unknow;
            switch (dlg.SelectedLabel)
            {
              case 0:
                info.Quality = VideoQuality.Normal;
                break;
              case 1:
                info.Quality = VideoQuality.High;
                break;
              case 2:
                info.Quality = VideoQuality.HD;
                break;
              case 3:
                info.Quality = VideoQuality.FullHD;
                break;
            }
              }
              break;
              }
              return info;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Uri ur =
            new Uri(
              "http://gdata.youtube.com/feeds/api/videos/fSgGV1llVHM&f=gdata_playlists&c=ytapi-DukaIstvan-MyYouTubeVideosF-d1ogtvf7-0&d=U1YkMvELc_arPNsH4kYosmD9LlbsOl3qUImVMV6ramM");
              YouTubeQuery query = new YouTubeQuery(YouTubeQuery.DefaultVideoUri);
              //order results by the number of views (most viewed first)
              query.OrderBy = "viewCount";

              //exclude restricted content from the search
              query.SafeSearch = YouTubeQuery.SafeSearchValues.None;
              //string ss = YouTubeQuery.TopRatedVideo;
              //http://gdata.youtube.com/feeds/api/standardfeeds/top_rated
              //search for puppies!
              query.Query = textBox1.Text;
              query.Categories.Add(new QueryCategory("Music", QueryCategoryOperator.AND));

              YouTubeFeed videoFeed = service.Query(query);
              YouTubeEntry en = (YouTubeEntry) videoFeed.Entries[0];
              string s = en.Summary.Text;
              string s1 = en.Media.Description.Value;
              Google.GData.YouTube.MediaGroup gr = en.Media;

              Uri videoEntryUrl = new Uri("http://gdata.youtube.com/feeds/api/videos/" + en.VideoId);
              Video video = request.Retrieve<Video>(videoEntryUrl);
              Feed<Comment> comments = request.GetComments(video);
              string cm = "";
              foreach (Comment c in comments.Entries)
              {
            cm += c.Content + "\n------------------------------------------\n";
              }

              VideoInfo info = new VideoInfo();
              info.Get("yUHNUjEs7rQ");
              //Video v = request.Retrieve<Video>(videoEntryUrl);

              //Feed<Comment> comments = request.GetComments(v);

              //string cm = "";
              //foreach (Comment c in comments.Entries)
              //{
              //  cm += c.Author + c.Content + "------------------------------------------";
              //}
        }
 public static string youtubecatch1(string url,VideoInfo qa)
 {
     if (_settings.LocalFile.Get(getIDSimple(url)) != null)
       {
     return _settings.LocalFile.Get(getIDSimple(url)).LocalFile;
       }
       if (string.IsNullOrEmpty(qa.Token) || !qa.IsInited)
       {
     qa.Get(getIDSimple(url));
       }
       if (qa.Quality == VideoQuality.HD && !qa.FmtMap.Contains("22/"))
       {
     qa.Quality = VideoQuality.High;
       }
       switch (qa.Quality)
       {
     case VideoQuality.Normal:
       return string.Format("http://youtube.com/get_video?video_id={0}&t={1}&ext=.flv", getIDSimple(url), qa.Token);
     case VideoQuality.High:
       return string.Format("http://youtube.com/get_video?video_id={0}&t={1}&fmt=18&ext=.mp4", getIDSimple(url), qa.Token);
     case VideoQuality.HD:
       return string.Format("http://youtube.com/get_video?video_id={0}&t={1}&fmt=22&ext=.mp4", getIDSimple(url), qa.Token);
     case VideoQuality.FullHD:
       return string.Format("http://youtube.com/get_video?video_id={0}&t={1}&fmt=37&ext=.mp4", getIDSimple(url), qa.Token);
       }
       return string.Format("http://youtube.com/get_video?video_id={0}&t={1}&ext=.flv", getIDSimple(url), qa.Token);
 }
        public VideoInfo SelectQuality(YouTubeEntry vid)
        {
            VideoInfo info = new VideoInfo();

            info.Get(Youtube2MP.getIDSimple(vid.AlternateUri.Content));
            if (!string.IsNullOrEmpty(info.Reason))
            {
                Err_message(info.Reason);
                info.Quality = VideoQuality.Unknow;
                return(info);
            }

            switch (Youtube2MP._settings.VideoQuality)
            {
            case 0:
                info.Quality = VideoQuality.Normal;
                break;

            case 1:
                info.Quality = VideoQuality.High;
                break;

            case 2:
                info.Quality = VideoQuality.HD;
                break;

            case 3:
                info.Quality = VideoQuality.FullHD;
                break;

            case 4:
            {
                string title = vid.Title.Text;
                if (info.FmtMap.Contains("18"))
                {
                    info.Quality = VideoQuality.High;
                }
                if (info.FmtMap.Contains("22"))
                {
                    info.Quality = VideoQuality.HD;
                }
                if (info.FmtMap.Contains("37"))
                {
                    info.Quality = VideoQuality.FullHD;
                }
                break;
            }

            case 5:
            {
                GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
                if (dlg == null)
                {
                    info.Quality = VideoQuality.Normal;
                }
                dlg.Reset();
                dlg.SetHeading("Select video quality");
                dlg.Add("Normal quality");
                dlg.Add("High quality");
                if (info.FmtMap.Contains("22/"))
                {
                    dlg.Add("HD quality");
                }
                if (info.FmtMap.Contains("37"))
                {
                    dlg.Add("Full HD quality");
                }
                dlg.DoModal(GetID);
                if (dlg.SelectedId == -1)
                {
                    info.Quality = VideoQuality.Unknow;
                }
                switch (dlg.SelectedLabel)
                {
                case 0:
                    info.Quality = VideoQuality.Normal;
                    break;

                case 1:
                    info.Quality = VideoQuality.High;
                    break;

                case 2:
                    info.Quality = VideoQuality.HD;
                    break;

                case 3:
                    info.Quality = VideoQuality.FullHD;
                    break;
                }
            }
            break;
            }
            return(info);
        }