[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
- 'emms-player-mpv ipc-error: error running command' on FLAC files,
Maxim Cournoyer <=