emms-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

'emms-player-mpv ipc-error: error running command' on FLAC files


From: Maxim Cournoyer
Subject: 'emms-player-mpv ipc-error: error running command' on FLAC files
Date: Tue, 14 Dec 2021 11:01:26 -0500

Hello!

Following a potent upgrade on my Guix System, EMMS can no longer play
FLAC files and throws the error every time I try to play a FLAC track:

--8<---------------cut here---------------start------------->8---
emms-player-mpv ipc-error: error running command
--8<---------------cut here---------------end--------------->8---

The same MPV player can play MP3 fine, and mpv from the command line has
no issues playing FLAC files.

My EMMS configuration is currently (from ~/.emacs):

--8<---------------cut here---------------start------------->8---
;;; EMMS
(require 'emms-info-metaflac)
(require 'emms-setup)
(require 'emms-mark)                    ;for markable playlists
(emms-all)
(emms-default-players)
(add-to-list 'emms-info-functions #'emms-info-metaflac)
(setq emms-playlist-default-major-mode 'help-mode) ;'emms-mark-mode
(setq emms-source-file-directory-tree-function
      #'emms-source-file-directory-tree-find)
(setq emms-source-file-default-directory "~/Music/")
;; Enable mpv backend
(require 'emms-player-mpv)
(setq-default emms-player-list (list emms-player-mpv))
;; Automatically persist and reload playlists.
(require 'emms-history)
(emms-history-load)
--8<---------------cut here---------------end--------------->8---

I tried debugging the problem and this about where it occurs:
--8<---------------cut here---------------start------------->8---
  (if emms-player-mpv-ipc-stop-command (setq emms-player-mpv-ipc-stop-command 
start-func) (funcall start-func))
  (let* ((play-cmd `(batch ((,(if track-is-playlist 'loadlist 'loadfile) 
,track-name replace)) ((set pause no)))) (start-func (apply-partially 
'emms-player-mpv-cmd play-cmd (lambda (_mpv-data mpv-error) (when (eq mpv-error 
'connection-error) (emms-player-mpv-cmd play-cmd)))))) (if 
emms-player-mpv-ipc-stop-command (setq emms-player-mpv-ipc-stop-command 
start-func) (funcall start-func)))
  (if (emms-player-mpv-ipc-fifo-p) (progn (emms-player-mpv-ipc-stop) 
(emms-player-mpv-proc-init (if track-is-playlist "--playlist" "--") track-name) 
(emms-player-started emms-player-mpv)) (let* ((play-cmd `(batch ((... ... 
replace)) ((set pause no)))) (start-func (apply-partially 'emms-player-mpv-cmd 
play-cmd (lambda (_mpv-data mpv-error) (when (eq mpv-error ...) 
(emms-player-mpv-cmd play-cmd)))))) (if emms-player-mpv-ipc-stop-command (setq 
emms-player-mpv-ipc-stop-command start-func) (funcall start-func))))
  (let ((track-name (emms-track-get track 'name)) (track-is-playlist (memq 
(emms-track-get track 'type) '(streamlist playlist)))) (if 
(emms-player-mpv-ipc-fifo-p) (progn (emms-player-mpv-ipc-stop) 
(emms-player-mpv-proc-init (if track-is-playlist "--playlist" "--") track-name) 
(emms-player-started emms-player-mpv)) (let* ((play-cmd `(batch (...) (...))) 
(start-func (apply-partially 'emms-player-mpv-cmd play-cmd (lambda (_mpv-data 
mpv-error) (when ... ...))))) (if emms-player-mpv-ipc-stop-command (setq 
emms-player-mpv-ipc-stop-command start-func) (funcall start-func)))))
  emms-player-mpv-start((*track* (type . playlist) (name . 
"/home/maxim/Music/Thrice/Thrice - Palms/Thrice - P...") (info-albumartist . 
"Thrice") (info-tracknumber . "2") (info-album . "Palms") (info-date . "2018") 
(info-artist . "Thrice") (info-title . "The Grey")))
  funcall(emms-player-mpv-start (*track* (type . playlist) (name . 
"/home/maxim/Music/Thrice/Thrice - Palms/Thrice - P...") (info-albumartist . 
"Thrice") (info-tracknumber . "2") (info-album . "Palms") (info-date . "2018") 
(info-artist . "Thrice") (info-title . "The Grey")))
  (let ((default-directory "/")) (funcall (emms-player-get player 'start) 
track))
  (if (not player) (error "Don't know how to play track: %S" track) (let 
((default-directory "/")) (funcall (emms-player-get player 'start) track)))
  (let ((player (emms-players-for track))) (if (not player) (error "Don't know 
how to play track: %S" track) (let ((default-directory "/")) (funcall 
(emms-player-get player 'start) track))))
  (if emms-player-playing-p (error "A player is already playing") (let ((player 
(emms-players-for track))) (if (not player) (error "Don't know how to play 
track: %S" track) (let ((default-directory "/")) (funcall (emms-player-get 
player 'start) track)))))
  emms-player-start((*track* (type . playlist) (name . 
"/home/maxim/Music/Thrice/Thrice - Palms/Thrice - P...") (info-albumartist . 
"Thrice") (info-tracknumber . "2") (info-album . "Palms") (info-date . "2018") 
(info-artist . "Thrice") (info-title . "The Grey")))
  (if emms-player-playing-p nil (emms-player-start 
(emms-playlist-current-selected-track)))
  (unless emms-player-playing-p (emms-player-start 
(emms-playlist-current-selected-track)))
  emms-start()
  emms-playlist-mode-play-current-track()
  (if (not emms-playlist-mode-open-playlists) 
(emms-playlist-mode-play-current-track) (unless (emms-playlist-track-at) 
(emms-playlist-next)) (let* ((track (emms-playlist-track-at)) (name 
(emms-track-get track 'name)) (type (emms-track-get track 'type))) (if (or (eq 
type 'playlist) (and (eq type 'file) (string-match "\\.\\(m3u\\|pls\\)\\'" 
name))) (emms-playlist-mode-load-playlist) 
(emms-playlist-mode-play-current-track))))
  (save-excursion (emms-move-beginning-of-line nil) (if (not 
emms-playlist-mode-open-playlists) (emms-playlist-mode-play-current-track) 
(unless (emms-playlist-track-at) (emms-playlist-next)) (let* ((track 
(emms-playlist-track-at)) (name (emms-track-get track 'name)) (type 
(emms-track-get track 'type))) (if (or (eq type 'playlist) (and (eq type 'file) 
(string-match "\\.\\(m3u\\|pls\\)\\'" name))) 
(emms-playlist-mode-load-playlist) (emms-playlist-mode-play-current-track)))))
  emms-playlist-mode-play-smart()
  funcall-interactively(emms-playlist-mode-play-smart)
  call-interactively(emms-playlist-mode-play-smart nil nil)
  command-execute(emms-playlist-mode-play-smart)
--8<---------------cut here---------------end--------------->8---

I'm not sure how to debug this further.  Help welcome :-).

Thank you,

Maxim



reply via email to

[Prev in Thread] Current Thread [Next in Thread]