示例#1
0
文件: ytdl.cs 项目: ekoske/ytdui
        public void StatusChangedEvent(object sender, EventArgs e)
        {
            ytdl_Item t = (sender as ytdl_Item);

            if (t.status == 0 || t.status.HasFlag(ytdl_State.error))
            {
                Debug.WriteLine($"Status {t.status}: {t.url}");
                t.StatusChangedEventHandler -= StatusChangedEvent;
                running_threads--;
                next(); //### Exeption ###
                //var callback = new Action(next);
                //callback.Invoke();
            }
            ListChanged();
        }
示例#2
0
文件: ytdl.cs 项目: ekoske/ytdui
        public void add(string url)
        {
            Debug.WriteLine($"Adding '{url}' to downloadlist.");
            ytdl_Item d = new ytdl_Item(url);

            if (proxy != "")
            {
                d.param = $"--proxy {proxy}";
            }
            urls.Add(d);
            d.StatusChangedEventHandler += StatusChangedEvent;
            ListChanged();
            if (running_threads < max_threads)
            {
                running_threads++;
                d.download();
            }
        }
示例#3
0
文件: ytdl.cs 项目: ekoske/ytdui
        private void next()
        {
            ytdl_Item n = null;

            try
            {
                Debug.WriteLine($"Next: {urls.First(s => s.status.HasFlag(ytdl_State.notstarted))}");
                n = urls.First(s => s.status.HasFlag(ytdl_State.notstarted));
            }
            catch
            {
                Debug.WriteLine("EXEPTION: next()");
            }
            if (n != null)
            {
                running_threads++;
                n.download();
            }
        }
示例#4
0
 public ytdl_Item_EventArgs(ytdl_Item i)
 {
     ytdl_item = i;
 }