[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How do I get the track info?
From: |
Edgar Lux |
Subject: |
Re: How do I get the track info? |
Date: |
Mon, 31 Aug 2020 23:04:13 +0200 (CEST) |
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