Проблемы Unicode с Emacs EMMS и mp3info / mplayer - PullRequest
2 голосов
/ 27 июня 2011

У меня проблема с моей конфигурацией Emacs-emms. Похоже, что специальные символы Unicode в тегах ID3 песен появляются с их unicode, не отображаемыми . Например, Trentemøller (музыкальная группа) выглядит как Trentem \ 370ller. Похоже, это происходит из mp3info (эти символы плохо отображаются и при использовании mp3info вне Emacs), который используется emms при использовании плеера mpg321. Как я мог решить мою проблему здесь? У вас есть такие проблемы с другими emms-backend-плеерами? Вы настраиваете свои emms таким образом, чтобы у вас не было этой проблемы? Если да, то какова ваша конфигурация?

Я работаю здесь на MacOSX. В моей терминальной консоли нет проблем с Unicode, либо с Bash, чем с другими установленными оболочками.

EDIT: команда, используемая emms для воспроизведения файла:

mplayer -slave -quiet -really-quiet <song_file.mp3>

В режиме консоли у mplayer также есть проблема с юникодом. Так что, по моему мнению, это происходит либо из mp3info, либо из mplayer.

Моя конфигурация emms:

;; EMMS
(require 'emms-setup)
     (emms-standard)
     (emms-default-players)

(require 'emms-player-simple nil 'noerror)
     (require 'emms-source-file nil 'noerror)
     (require 'emms-source-playlist nil 'noerror)
     (setq emms-player-list '(emms-player-mpg321
                              emms-player-ogg123
                              emms-player-mplayer))

(setq emms-info-asynchronously nil)
(setq emms-source-file-default-directory "~/Music/")
(setq emms-playlist-buffer-name "*Music*")
(setq emms-player-mpg321-parameters '("-o" "alsa"))

Мои настройки Unicode в моем .emacs

(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-language-environment "UTF-8")
(set-input-method nil)
(setq read-quoted-char-radix 10)

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Может быть, вы можете использовать emms-print-metadata для создания mp3info.

В пакете emms содержится emms-print-metadata.c:

gcc emms-print-metadata.c -ltag -ltag_c -o emms-print-metadata

Переместите emms-print-metadata на свой путь и добавьте эту строку в ваш .emacs:

(require 'emms-info-libtag) (setq emms-info-functions '(emms-info-libtag))

Наслаждайтесь. : -)

0 голосов
/ 27 июня 2011

Я думаю, вам также нужно установить переменную "default-process-coding-system" - она ​​используется во всех операциях ввода-вывода ...

...