Exemplo n.º 1
0
        private static void Tick(object discarded)
        {
            var song = PlayNextSong();

            SkipRequests.Clear();
            StartTime = DateTime.Now;
            Console.WriteLine("Now playing: {0} ({1}:{2})", song.Name, song.Duration.Minutes, song.Duration.Seconds.ToString("00"));
            if (Program.Configuration.Irc.Enabled)
            {
                Program.IrcBot.AnnounceSong(song);
            }
            UpdateListeners();
            Timer.Change(Timeout.Infinite, Timeout.Infinite);
            Timer = new Timer(Tick, null, (int)(song.Duration).TotalMilliseconds, Timeout.Infinite);
        }
Exemplo n.º 2
0
 public static bool RequestSkip(string user)
 {
     if (((StartTime + NowPlaying.Duration) - DateTime.Now).TotalSeconds < 10)
     {
         return(false);
     }
     if (SkipRequests.Contains(user))
     {
         return(false);
     }
     SkipRequests.Add(user);
     if (SkipRequestsIssued >= SkipRequestsRequired)
     {
         Console.WriteLine("Skipping {0}", NowPlaying.Name);
         Tick(null);
         return(true);
     }
     return(false);
 }