x-now-doing.el の導入と使い方(ここ。これも新堂さんの日記さんね) に書いてあったので簡単に触発される。まぁ、mpg123 とか使ってると自動でそのタグを入力できるんだろうけど、Windows で Meadow 、mp3 プレイヤーとしてlilithを使っているわたしは……

X-Now-Playing:を、手書き?
そんなのはかなり嫌なので、適当にタイトルを得るプログラムを Lilith に付いてたソースを書き換えて作ってみる。そして、以下の関数を作る。

(defun lilith-get-title ()
  (save-excursion
    (let ((nbuf (get-buffer-create "*lilith title*"))
          (title)
          (ret 0))
      (setq ret (call-process "lilithtitle" nil nbuf))
      (set-buffer nbuf)
      (setq title (if (and (eq ret 0) (>= (point-max) 10))
                      (buffer-substring 9 (- (point-max) 1))
                    "not playing"))
      (kill-buffer nbuf)
      title
      )))

さらに、wanderlust 使いなら、

(setq wl-draft-config-alist
      '(
        (t
         ("X-Now-Playing" . (lilith-get-title))
         )))

と追加するだけ(って長いな)。

で、問題の lilithtitle のソースはこれ

コメントを残す

メールアドレスが公開されることはありません。