Exemple #1
0
 public static void SetPlayAction(ModifierKeys modifier, PlayActions action)
 {
     if (modifier != ModifierKeys.Windows)
     {
         PlayKeys[modifier] = action;
     }
 }
Exemple #2
0
        private void SelectSong()
        {
            // Determine what to do with the selected song depending on what special keys are pressed
            PlayActions action = Config.GetPlayAction(ModifierKeys.None);

            if ((Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
            {
                action = Config.GetPlayAction(ModifierKeys.Shift);
            }
            else if ((Keyboard.Modifiers & ModifierKeys.Alt) == ModifierKeys.Alt)
            {
                action = Config.GetPlayAction(ModifierKeys.Alt);
            }
            else if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                action = Config.GetPlayAction(ModifierKeys.Control);
            }

            // Do it
            if (action == PlayActions.AddAndPlayNow || action == PlayActions.AddAndPlayNext)
            {
                foreach (object item in lstView.SelectedItems)
                {
                    Player.ActivePlayer.Queue.Insert(0, item as Song);
                }
                // TODO: Insert directly after the current song (at least for optical reasons when randomizing)
                foreach (object item in lstView.SelectedItems)
                {
                    Player.ActivePlayer.Playlist.Add(item as Song);
                }
                if (action == PlayActions.AddAndPlayNow)
                {
                    Player.ActivePlayer.NextSong(); // Is this always correct?
                }
            }
            else if (action == PlayActions.Add)
            {
                foreach (object item in lstView.SelectedItems)
                {
                    Player.ActivePlayer.Playlist.Add(item as Song);
                }
                //player.PlayPlaylist();
            }
            else if (action == PlayActions.PlayNowUseView)
            {
            }
            else if (action == PlayActions.PlayNowReplacePlaylist)
            {
            }
            if (Player.ActivePlayer.PlaybackState != TP_PLAYBACKSTATE.Playing)
            {
                Player.ActivePlayer.PlayPause();
            }
        }