(beginning-of-line)
(forward-line (- arg)))
+(defun mdw-mpc-playlist-add (&optional arg interactivep)
+ (interactive (list current-prefix-arg t))
+ (let ((mpc-select mpc-select))
+ (when (or arg (and interactivep (use-region-p)))
+ (setq mpc-select nil)
+ (mdw-mpc-hack-lines arg interactivep 'mdw-mpc-select-one))
+ (setq mpc-select (reverse mpc-select))
+ (mpc-playlist-add)))
+
+(defun mdw-mpc-playlist-delete (&optional arg interactivep)
+ (interactive (list current-prefix-arg t))
+ (setq mpc-select (nreverse mpc-select))
+ (mpc-select-save
+ (when (or arg (and interactivep (use-region-p)))
+ (setq mpc-select nil)
+ (mpc-selection-refresh)
+ (mdw-mpc-hack-lines arg interactivep 'mdw-mpc-select-one))
+ (mpc-playlist-delete)))
+
(defun mdw-mpc-hack-tagbrowsers ()
(setq-local mode-line-format
'("%e"
(setq mpc-songs-mode-map (make-sparse-keymap))
(set-keymap-parent mpc-songs-mode-map mpc-mode-map)
(define-key mpc-songs-mode-map "l" 'mpc-playlist)
- (define-key mpc-songs-mode-map "+" 'mpc-playlist-add)
- (define-key mpc-songs-mode-map "-" 'mpc-playlist-delete)
+ (define-key mpc-songs-mode-map "+" 'mdw-mpc-playlist-add)
+ (define-key mpc-songs-mode-map "-" 'mdw-mpc-playlist-delete)
(define-key mpc-songs-mode-map "\r" 'mpc-songs-jump-to)))
;;;--------------------------------------------------------------------------