private void RemoveSelectedSong() { if (listBoxPlaylist.SelectedItems.Count == 1) { var index = listBoxPlaylist.SelectedIndex; var playlist = Music.Playlists[enteredPlaylist]; var songID = playlist.Songs[index].ID; var filePath = $"{BotTools.BasePath}\\playlists\\{enteredPlaylist}\\{songID}.mp4"; // Remove from list playlist.RemoveSong(index); Music.SavePlaylists(); // Delete mp4 file if (File.Exists(filePath)) { File.Delete(filePath); } // Refresh listbox listBoxPlaylist.DataSource = playlist.Songs.Select(s => s.Title).ToList <string>(); btnRemove.Enabled = listBoxPlaylist.Items.Count > 0; // Load default playlist if last song in loaded playlist if (!Music.Playlists[enteredPlaylist].Songs.Any() && Music.LoadedPlaylist == enteredPlaylist) { Music.LoadedPlaylist = "default"; BotTools.Settings["loaded_playlist"] = Music.LoadedPlaylist; Music.QueuedSong = Music.DownloadedSong = Music.LoadedSong = null; BotTools.SaveSettings(); } } }
private void OnVolumeTrackbarMouseUp(object sender, MouseEventArgs e) { btnVolume.ForeColor = Color.FromArgb(255, 35, 255); btnVolume.Text = "VOL"; BotTools.Settings["volume"] = windowsMP.settings.volume; BotTools.SaveSettings(); }
private void OnDebugModeCheckboxCheckedChanged(object sender, EventArgs e) { BotTools.Settings["debug_output"] = cbDebug.Checked; cbDebug.BackColor = cbDebug.Checked ? Color.FromArgb(30, 255, 255) : Color.FromArgb(34, 15, 34); cbDebug.BackgroundImage = cbDebug.Checked ? Properties.Resources.silent_mode_black : Properties.Resources.silent_mode; cbDebug.ForeColor = cbDebug.Checked ? Color.FromArgb(14, 0, 20) : Color.FromArgb(255, 35, 255); BotTools.SaveSettings(); }
private void OnRandomPlayCheckboxCheckedChanged(object sender, EventArgs e) { BotTools.Settings["random_play"] = cbRandom.Checked; cbRandom.BackColor = cbRandom.Checked ? Color.FromArgb(30, 225, 255) : Color.FromArgb(34, 15, 34); cbRandom.ForeColor = cbRandom.Checked ? Color.FromArgb(14, 0, 20) : Color.FromArgb(255, 35, 255); cbRandom.BackgroundImage.Dispose(); cbRandom.BackgroundImage = cbRandom.Checked ? Properties.Resources.btn_random_black : Properties.Resources.btn_random; BotTools.SaveSettings(); }
private void OnDiscordAnnounceCheckboxCheckedChanged(object sender, EventArgs e) { BotTools.Settings["announce_songs"] = cbSongAnnounce.Checked; BotTools.SaveSettings(); cbSongAnnounce.BackColor = cbSongAnnounce.Checked ? Color.FromArgb(30, 225, 255) : Color.FromArgb(34, 15, 34); cbSongAnnounce.ForeColor = cbSongAnnounce.Checked ? Color.FromArgb(14, 0, 20) : Color.FromArgb(255, 35, 255); cbSongAnnounce.BackgroundImage.Dispose(); cbSongAnnounce.BackgroundImage = cbSongAnnounce.Checked ? Properties.Resources.discord_black : Properties.Resources.discord; }
private void OnVetRequestsCheckboxCheckedChanged(object sender, EventArgs e) { BotTools.Settings["vet_requests"] = cbVetReqeusts.Checked; BotTools.SaveSettings(); cbVetReqeusts.BackColor = cbVetReqeusts.Checked ? Color.FromArgb(30, 225, 255) : Color.FromArgb(34, 15, 34); cbVetReqeusts.ForeColor = cbVetReqeusts.Checked ? Color.FromArgb(14, 0, 20) : Color.FromArgb(255, 35, 255); cbVetReqeusts.BackgroundImage.Dispose(); cbVetReqeusts.BackgroundImage = cbVetReqeusts.Checked ? Properties.Resources.vet_requests_black_noborder : Properties.Resources.vet_requests_noborder; }
private void OnQuestionBoxCheckedChanged(object sender, EventArgs e) { cbQuestions.ForeColor = cbQuestions.Checked ? Color.FromArgb(14, 0, 20) : Color.FromArgb(255, 35, 255); cbQuestions.BackgroundImage.Dispose(); cbQuestions.BackgroundImage = cbQuestions.Checked ? Properties.Resources.question_mark_black : Properties.Resources.question_mark; var state = cbQuestions.Checked ? "is" : "is not"; toolTip1.SetToolTip(cbQuestions, $"WitAi {state} fielding questions."); BotTools.Settings["handle_questions"] = cbQuestions.Checked; BotTools.SaveSettings(); }
private void RemoveSongFromPlaylist() { var loadedPlaylist = Music.Playlists[Music.LoadedPlaylist]; if (loadedPlaylist.ContainsSong(Music.LoadedSong)) { loadedPlaylist.RemoveSong(Music.LoadedSong); } if (!loadedPlaylist.Songs.Any()) { BotTools.LogLine("Loaded playlist is empty, loading default"); Music.LoadedPlaylist = "default"; BotTools.Settings["loaded_playlist"] = Music.LoadedPlaylist; BotTools.SaveSettings(); } SkipSong(); }
public static void QueueNextSong() { if (BotTools.Settings["random_play"] == true) { Random rand = new Random(); var playlistCandidates = Playlists.Where(p => p.Value.Songs.Count > 0); Music.LoadedPlaylist = playlistCandidates.ElementAt(rand.Next(playlistCandidates.Count())).Key; BotTools.Settings["loaded_playlist"] = Music.LoadedPlaylist; BotTools.SaveSettings(); } DownloadedSong = QueuedSong; SongData nextSong = GetPlaylist("request").Songs.Count > 0 ? GetPlaylist("request").GetNext() : GetPlaylist(LoadedPlaylist).GetNext(); if (nextSong != null) { QueuedSong = YTE.GetSongData(nextSong.URL, requestor: nextSong.Requestor); } }
private void OnLoadButtonClick(object sender, EventArgs e) { if (listBoxPlaylist.SelectedItems.Count == 1) { if (!InPlaylist()) { var selected = $"{listBoxPlaylist.SelectedItem}"; if (Music.Playlists[selected].Songs.Count > 0) { Music.LoadedPlaylist = selected; Music.Playlists[BotTools.Settings["loaded_playlist"]].CycleBack(); BotTools.Settings["loaded_playlist"] = Music.LoadedPlaylist; if (Music.DownloadedSong != null && !Music.DownloadedSong.IsRequest) { Music.DownloadedSong = null; } BotTools.SaveSettings(); this.Hide(); } else { CustomDialog.Form.CallDialog("Uh, it's empty\n\nI don't do empty", DialogType.OK); } } else { var selected = $"{listBoxPlaylist.SelectedItem}"; var playlist = Music.Playlists[enteredPlaylist]; playlist.Shuffle(); if (Music.LoadedPlaylist == selected && Music.DownloadedSong != null && !Music.DownloadedSong.IsRequest) { Music.DownloadedSong = null; } Music.SavePlaylists(); listBoxPlaylist.DataSource = playlist.Songs.Select(s => s.Title).ToList <string>(); } } }
private void RemoveSelectedPlaylist() { if (listBoxPlaylist.SelectedItems.Count == 1) { string selected = listBoxPlaylist.SelectedItem.ToString(); string dirPath = $"{BotTools.BasePath}\\playlists\\{selected}"; // Load default if this playlist is loaded if (Music.LoadedPlaylist == selected) { Music.LoadedPlaylist = "default"; BotTools.Settings["loaded_playlist"] = Music.LoadedPlaylist; BotTools.SaveSettings(); } // Remove from list Music.Playlists.Remove(selected); listBoxPlaylist.DataSource = Music.Playlists.Keys.ToList <string>(); Music.SavePlaylists(); tbPlaylist.Clear(); // Delete all files and sub-directories in playlist directory if (Directory.Exists(dirPath)) { DirectoryInfo di = new DirectoryInfo(dirPath); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo directory in di.GetDirectories()) { directory.Delete(); } di.Delete(); } } }