Beispiel #1
0
 private void ButtonOK_Click(object sender, EventArgs e)
 {
     // Send information to streaming media servers...
     SongPlayed kte = new SongPlayed(kCurrentPodcast, dtPressed, Artist.Text, Title.Text, "Manual");
     kCurrentPodcast.LogSong(kte, true);
     this.Close();
 }
Beispiel #2
0
 private void btnPlay_Click(object sender, EventArgs e)
 {
     if (songListView1.SelectedItems.Count == 0)
     {
         return;
     }
     this.Player.PlayFile(songListView1.SelectedItems[0].SongInfo.FileName);
     SongPlayed?.Invoke(this, EventArgs.Empty);
 }
Beispiel #3
0
 private void SongListView_DoubleClick(object sender, EventArgs e)
 {
     if (!_autoDoubleClick)
     {
         base.OnDoubleClick(e);
     }
     if (this.SelectedItems.Count > 0)
     {
         this.Player.PlayFile(this.SelectedItems[0].SongInfo.FileName);
         SongPlayed?.Invoke(this, EventArgs.Empty);
     }
 }
Beispiel #4
0
        public void PlaySong(Song song)
        {
            if (song == null)
            {
                Messenger.Log("PlaySong called with null");
                return;
            }

            if (NowPlaying == null)
            {
                NowPlaying = song;
                engine.Play(song);
                Messenger.Log("Playing " + song);
            }
            else if (!song.Equals(NowPlaying))
            {
                Queue.Enqueue(song);
                Messenger.Log("Enqueued " + song);
            }

            SongPlayed?.Invoke(this, song);
        }
        private void UpdateSong_Click(object sender, EventArgs e)
        {
            // Send information to streaming media servers...
            SongPlayed kte = new SongPlayed(kCurrentPodcast, DateTime.Now, UpdateArtist.Text, UpdateTitle.Text, "Manual");
            // kte.UpdateServers();
            kCurrentPodcast.LogSong(kte);

            UpdateArtist.Text = "";
            UpdateTitle.Text = "";
        }
        private void kCurrentPodcast_OnSongPlayed(SongPlayed sp)
        {
            ListViewItem lvi = new ListViewItem();
            lvi.Text = kCurrentPodcast.dStarted.AddSeconds(sp.TimeFromBeginning).ToShortTimeString();
            lvi.SubItems.Add(sp.Artist);
            lvi.SubItems.Add(sp.Title);
            lvi.SubItems.Add(sp.strSource);

            AddSong(lvi);
        }
Beispiel #7
0
 private void SongListView_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Q)
     {
         this.Player.Playlist.EventsEnabled = false;
         this.SelectedItems.ForEach(delegate(SongListViewItem item)
         {
             if (this.Player.Playlist.Contains(item.SongInfo.FileName))
             {
                 this.Player.Playlist.Remove(item.SongInfo.FileName);
             }
             else
             {
                 this.Player.Playlist.AddToEnd(item.SongInfo);
             }
         });
         this.Player.Playlist.EventsEnabled = true;
         SongQueued?.Invoke(this, EventArgs.Empty);
     }
     else if (e.KeyCode == Keys.F)
     {
         if (this.SelectedItems.Count > 0)
         {
             this.Player.ForceSong(this.SelectedItems[0].SongInfo.FileName);
             list.InvalidateItem(this.SelectedItems[0]);
         }
     }
     else if (e.KeyCode == Keys.Delete)
     {
         this.SelectedItems.ForEach(delegate(SongListViewItem item)
         {
             this.Library.Delete(item.SongInfo.FileName);
             list.Items.Remove(item);
         });
         list.MeasureItems();
     }
     else if (e.KeyCode == Keys.I)
     {
         this.SelectedItems.ForEach(delegate(SongListViewItem item)
         {
             if (item.SongInfo.Ignored)
             {
                 this.Library.UnIgnore(item.SongInfo.FileName);
             }
             else
             {
                 this.Library.Ignore(item.SongInfo.FileName);
             }
         });
     }
     else if (e.KeyCode == Keys.Enter)
     {
         if (this.SelectedItems.Count > 0)
         {
             this.Player.PlayFile(this.SelectedItems[0].SongInfo.FileName);
             SongPlayed?.Invoke(this, EventArgs.Empty);
         }
     }
     else if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.A)
     {
         list.SelectedItems.Clear();
         list.SelectedItems.AddRange(list.Items);
         list.Invalidate();
     }
 }
Beispiel #8
0
 /// <summary>
 /// Log a song for this podcast
 /// </summary>
 /// <param name="kte">Title entry to log</param>
 /// <param name="bUpdate">Update servers?</param>
 public void LogSong(SongPlayed kte, bool bUpdate)
 {
     if (bUpdate)
     {
         for (int x = 0; x < CoreInstances.Cnfg.Servers.Count; x++)
         {
             CoreInstances.Cnfg.Servers[x].UpdateSong(kte.Artist, kte.Title);
         }
     }
     LogSong(kte);
 }
Beispiel #9
0
        /// <summary>
        /// Log a song for this podcast
        /// </summary>
        /// <param name="kte">Title entry to log</param>
        public void LogSong(SongPlayed kte)
        {
            // TODO Logic for on-song events

            TitleEntries.Add(kte);

            if (OnSongPlayed != null)
            {
                OnSongPlayed(kte);
            }
        }
Beispiel #10
0
 private void songListView1_SongPlayed(object sender, EventArgs e)
 {
     SongPlayed?.Invoke(this, EventArgs.Empty);
 }