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(); }
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); }
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); } }
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); }
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(); } }
/// <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); }
/// <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); } }
private void songListView1_SongPlayed(object sender, EventArgs e) { SongPlayed?.Invoke(this, EventArgs.Empty); }