Форум » RusXMMS Project » теги ID3v1 сохраняются в кодировке KOI8 » Ответить

теги ID3v1 сохраняются в кодировке KOI8

meowth: У меня следующая задача: обновить теги своей библиотеки мп3 так, чтобы они читались любым windows софтом и железными плеерами. Сейчас на моей Linux машине с тегами проблем нет никаких. Однако у знакомых часть треков отображается нормально, по-русски, а часть, соответсвенно, не нормально. Выяснилось, что теги, которые я правил (в амарок), сохранились в кодировке KOI8-R. Точнее часть ID3v1 в кодировке KOI8-R, а часть ID3v2 в кодировке UTF8 (не уверен, что именно этот UTF, но предполагаю что так). Однако я достаточно часто подправляю теги у песен, и не хотел бы такого разброда. Пытался запускать утилитку tagwriter, эффект тот же. Предполагаю, что мне неужно, чтобы часть ID3v1 сохранялась в кодировке CP1251, а часть ID3v2 в кодировке UTF8 (а может UTF16?). Дополнительно выковырял из какого-то rpm приложение rcc-gtk2-config, пытался поменять кодировки через него - ничего не получилось. Пробовал создаваемый файлик ~/.rcc/default.xml переименовывать в ~/.rcc/rcc.xml. Стоит система Ubuntu 7.10. Локаль - ru_RU.UTF-8. Библиотеки от rusxmms устанавливал через репозитарий с sourceforge.

Ответов - 4

darksoft: Вы абсолютно правы наиболее стандартное решение id3v.1 CP1251, id3v.2 UTF-16. Вы должны указать кодировки через rcc-gtk2-config. Настройки музыкальных программ задаются файлом xmms.xml (так исторически сложилось :)). Чтобы рекдактировать их можно запускать rcc-gtk2-config с опцией xmms rcc-gtk2-config xmms

meowth: Спасибо большое! Все получилось практически так как я хотел. Для будующих поколений привожу пример файла ~/.rcc/xmms.xml <?xml version="1.0"?> <Config> <Language>default</Language> <Options> <Option name="LEARNING_MODE">ON</Option> <Option name="AUTODETECT_FS_TITLES">DEFAULT</Option> <Option name="AUTODETECT_FS_NAMES">ON</Option> <Option name="CONFIGURED_LANGUAGES_ONLY">DEFAULT</Option> <Option name="AUTOENGINE_SET_CURRENT">OFF</Option> <Option name="AUTODETECT_LANGUAGE">OFF</Option> <Option name="TRANSLATE">OFF</Option> <Option name="TIMEOUT">500000</Option> </Options> <Languages> <Language name="ru"> <Engine>LibRCD</Engine> <Classes> <Class name="id3">CP1251</Class> <Class name="id3v2">UTF-8</Class> <Class name="pl">Default</Class> <Class name="plfs">Default</Class> <Class name="fs">Default</Class> <Class name="oem">Default</Class> <Class name="iso">Default</Class> <Class name="ftp">Default</Class> <Class name="http">Default</Class> <Class name="ssh">Default</Class> <Class name="out">Default</Class> </Classes> </Language> </Languages> </Config> Остался еще такой момент. Юникодные теги сохраняются в версии id3v2.4.0 и соответственно их не видно в foobar2000 или Winamp (хотя это совершенно не критично, т.к. видятся теги id3v1) Вот пример вывода команды framelist (теги первого трека - сохранены через tagwriter, второго - через Winamp): ******************** "01 - Дорога сна.mp3"******************** ID3v2.4.0, 1014 bytes in tag TPE1 - "Мельница" TALB - "Дорога сна" TDRC - "2003" TIT2 - "Дорога сна" TRCK - "1" TCON - "80" ID3v1 title - "Дорога сна" artist - "Мельница" album - "Дорога сна" year - "2003" comment - "" track - "1" genre - "Folk" ******************** "02 - Горец.mp3"******************** ID3v2.3.0, 427 bytes in tag TENC - "" WXXX - "" TCOP - "" TOPE - "" TCOM - "" TCON - "(80)Folk" TRCK - "2" COMM - "test" TDRC - "2003" TALB - "Дорога сна" TPE1 - "Мельница" TIT2 - "Горец" ID3v1 title - "Горец" artist - "Мельница" album - "Дорога сна" year - "2003" comment - "test" track - "2" genre - "Folk" Можно ли сохранять юникодные теги в ID3v2.3.0 или лучше просто на это забить?

darksoft: Ну это уже к авторам taglib, - библиотека LibRCC отвечает только за перекодировку, - в каком формате сохранять это уже taglib (может там, какие настройки есть, - я точно не знаю)


meowth: Видимо обломчик. taglib всегда сохраняет в 2.4.0 Вот что нашел в исходниках: // add the version number -- we always render a 2.4.0 tag regardless of what // the tag originally was. Большое спасибо за помощь и разъяснения!



полная версия страницы