Не секрет, что многие, до сих пор, прописывают тэги во всяких cp1251 и KOI-8R — после чего их не понимают ни телефоны, ни плееры (некоторые) и с проигрывателями под linux бывает много проблем.
Больше всего неприятно, то что при загрузке новой музыки, ты не можешь быть уверен в какой кодировке идут тэги и вот добавив в свой проигрыватель ты обнаруживаешь нечитаемые символы вместо названия трека, исполнителя и альбома. А ведь оно еще и на last.fm скроблится в таком виде. Можно использовать EasyTag и прочие редакторы тэгов.
Но чаще всего, мне надо только поправить кодировку, а тэги прописаны верно.
До этого, я всегда пользовался простым shell скриптом, но решил немного облегчить задачу.
Вот решение:
Нам понадобится пакет python-mutagen
Quote
sudo aptitude install python-mutagen
создадим shell скрипт
Quote
$ touch mp3.sh
$ nano mp3.sh
и добавим в него следующее:
Quote
#!/bin/sh
FILE=`zenity --file-selection --directory --title="Выберите путь к крякозябрам"`
case $? in
0)
echo "Выбран \"$FILE\".";;
1)
echo "Файл не выбран.";;
-1)
echo "Файл не выбран.";;
esac
cd "$FILE" || exit;
(find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e KOI8-R --remove-v1; find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1)|zenity --progress --pulsate --auto-close --text "идет процесс" --title "Меняем кодировку"
zenity --info --text="теперь у Вас православный UTF"
Необходимо дать права на выполнение скрипта
Вот и всё, можете запускать ($ sh mp3.sh) и указать папку где требуется исправить кодировку. Перед вами предстанет диалоговое окно с выбором каталога, в котором надо навести порядок — остается выбрать и нажать «ок»
Для удобства, я предлагаю сделать еще пару движений:
sudo mv mp3.sh /usr/bin/mp3
И теперь в любой момент, мы нажимаем заветный alt+F2 и набираем mp3
Можно и кнопку запуска переделать.
P.S. Это первый опыт в написании shell скрпта, для себя — немного облегчить жизнь.
Если кому-то еще пригодится — буду рад.
Наверняка этот код не совершенен.
Буду признателен за любые советы. Например как сделать окно с выбором директории на QT :-)