Hello! Thank you. I did try, but
On 2020-08-31 13:43, Yoni Rabkin wrote: #+begin_quote git clone https://git.savannah.gnu.org/git/emms.git cd emms make emms-print-metadata sudo cp src/emms-print-metadata /usr/local/bin/ cd .. rm -R emms #+end_quote did not work (still getting the full path of the file name in the mode-line). (What comes next is my honest attempt to show that I tried). Then, I noticed that I could use #+begin_src emacs-lisp (setq emms-info-libtag-program-name "~/path-to-emms/src/emms-print-metadata") #+end_src I tested, and =emms-print-metadata= _is_ found. I also noticed that =emms-info-libtag= uses =call-process=, which requires the executable to be in PATH, so I tried by using =process-file= instead, and =emms-print-metadata= from the compilation directory (by the way, a small observation: why is a binary created in =src=? may be replace =SRCDIR= by =DESTDIR= or =PREFIX= in the =Makefile=?) Then, I noticed that =emms-info-libtag= always returns =nil=, and I tried to create my own function. I am not very good at LISP, and I got basically the same result. I am attaching my configuration for EMMS (notice that I changed the location of =emms-print-metadata=; no longer in =src=). Please pay NO attention to the code below. I put it here just in case I need it later. One more thing, my other e-mail provider sometimes refuses to let me send e-mails #+begin_src emacs-lisp (with-temp-buffer (process-file emms-info-libtag-program-name nil '(t nil) nil (emms-track-name (emms-playlist-current-selected-track))) (goto-char (point-min)) (while (and (not (eobp)) (looking-at "info-\\([^=\n\r]+\\)=\\([^\n\r]*\\)$")) (let ((name (intern-soft (match-string 1))) (value (match-string 2))) (if (or (string-match (match-string 1) "title") (string-match (match-string 1) "artist")) (message "%s %s" name value) ) ) (forward-line 1) )) #+end_src
t.el.gz
Description: File Attachment: t.el.gz
