Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
 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();
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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;
 }
Ejemplo n.º 7
0
        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();
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
 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>();
         }
     }
 }
Ejemplo n.º 11
0
        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();
                }
            }
        }