В дополнение к предыдущему посту функция для скачивания выбранных треков из плейлиста
EMMS. Чтобы в плейлисте можно было отмечать треки, надо нажать M-x emms-mark-mode. Кнопка m выделяет треки, кнопка w (от wget) скачивает выбранные песни в папку emms-source-file-default-directory.
(defun my-wget-track (track)
(start-process "wget" (get-buffer-create "my-wget-output") "wget"
(cdr (assoc 'name track))
"--progress=dot"
"-O"
(expand-file-name
(format "%s - %s.mp3"
(cdr (assoc 'info-artist track))
(cdr (assoc 'info-title track)))
emms-source-file-default-directory)))
(defun my-emms-download ()
(interactive)
(if (emms-mark-has-markedp)
(let ((tracks (emms-mark-mapcar-marked-track 'emms-tag-editor-track-at t)))
(dolist (track tracks)
(my-wget-track track)))
(my-wget-track (emms-tag-editor-track-at))))
(define-key emms-playlist-mode-map "w" 'my-emms-download)