RusXMMS
RusXMMS is On The Fly Recoding Project















SourceForge Logo
Изначально целью данного проекта было заставить XMMS нормально отображать русские таги и имена файлов, закодированные с помощью различных кодировок. Патч для XMMS поддерживал перекодировку на лету ID3 v.1 и v.2 заголовков и имен файлов. Давал возможность использовать PLS и M3U плайлисты с русскими именами файлов, редактировать ID3 таги и еще много чего разного по мелочам. В настоящий момент стала доступна библиотека, позволяющая с помощью нескольких строк кода, добавить анологичную функциональность в любую программу. Функциональность библиотеки не ограничивается перекодировкой ID3 заголовков, она может быть полезна любому проекту имеющему дело со строками и именами файлов, использующими различные языки и кодировки. В настоящий момент, вы можете найти на страницах проекта патчи к XMMS, нескольким библиотекам для работы с ID3 заголовками, а так же к нескольким другим программам.

Возможности библиотеки RusXMMS2

  • Авто-определение языков.
  • Возможность перевода строк на лету в знакомый пользователю язык, используя online сервисы.
  • Авто-определение кодировки для большинства европейских языков, и, конечно, русского.
  • Поддержка плугинов, автоматически опеределяюих кодировку (Помимо встроенных Enca, LibGUESS и LibRCD).
  • Перекодирока/Перевод плайлистов, содержащих заголовки на разных языках.
  • Высокая скорость работы за счет кэширования результата перекодировки.
  • Поддержка большого количества языков: Русский, Украинский, Белорусский, Болгарский, Чешский, Эстонский, Хорватский, Венгерский, Литовский, Латвийский, Польский, Словацкий, Словенский.
  • Возможность добавления новых языков и настройки текущих без перекомпиляции библиотеки.
  • Конфигурационный файл, который может использоваться несколькими приложениями использующими библиотеку. Так к примеру патчи к TagLib и LibID3 не имеют своего UI, и используют настройки XMMS.
  • Так же доступна отдельная программа для управления настройками.
  • Отдельная библиотека позволяющая подключать GTK/GTK2 пользовательский интерфейс к вашей программе. Для того чтобы добавить пользовательский интерфейс с огромным количеством разнообразных настроек достаточно 3 строчек кода.
  • Возможность локализации выше-указанного пользовательского интерфейса.


Доступные патчи и утилиты

  • RusXMMS: XMMS с патчем RusXMMS лучший музыкальный плайер для работы c ID3 заголовками:
    • Корректное отображение кодировки во всех окошках XMMS.
    • Поддержка редактирования ID3 v.1 и ID3 v.2 тагов.
    • Полная поддержка редактирования ID3 v.2 тагов в Unicode.
    • Возможность задать кодировку в которой будут сохранены ID3 v.1 и v.2 таги. RusXMMS может быть сконфигурирован таким образом, что, например, ID3 v.1 заголовки будут сохранены в кодировке Windows CP1251, а ID3 v.2 в Unicode UTF-16.
    • Возможность на лету перевести все заголовки на знакомый язык.
    • Загружать/Сохранять плайлисты в указанной кодировке (и заголовки, и имена файлов)
    • Поддержка плай-листов с русскими именами файлов. RusXMMS может использовать виндовые плайлисты с русскими названиями файлов, даже если диски замонтированы в кодировке отличной от CP1251.
    • Поддержка сортировки плай-листов с учетом правил русской орфографии.
    • Большое количество опций, настраеваемых через "preferences" xmms. Позволяет отдельно задавать кодироку ID3 и ID3 v.2 тагов, файловой системы (для коректного отображения русских имен файлов), имен файлов в плай-листах. Позволяет включать авто-определение языка и кодировки. Настраивать опции перевода.Управлять кэшированием перекодировок и перевода.
    • Быстрые клавиши позволяющие редактировать ID3 и OGG таги без помощи мыши, как в WinAmpе 1.9x.
  • TagLib: Полная поддержка отображения и редактирования ID3 v.1 и v.2 тагов во всех программах, использующих TagLib. По умолчанию используются настройки xmms, однако, несложно добавить меню с настройками в любое приложение. Вопрос нескольких строчек кода. Из приятного хочется отметить, что, после применения патча, можно использовать программу tagwriter (из примеров TagLib) для автоматической конвертации любых ID3 тагов в юникодные ID3 v.2: "tagwriter <список mp3 файлов>"
  • LibID3Tag: Корректирует отображение ID3 v.1 и v.2 тагов во всех программах, использующий LibID3Tag.
  • LibID3: Корректирует отображение ID3 v.1 и v.2 тагов во всех программах, использующий LibID3.
  • Mpg123: Корректное отображение ID3 v.1 тагов.
  • GFtp: Перекодировка имен файлов между серверами, использующими разные кодировки файловой системы... Никаких больше проблем со скачиванием русскоязычных файлов с виндового сервера!
  • Unzip: Опять-же перекодирует имена файлов при раз-архивации виндовых архивов. Для zipа, кстати, тоже патч есть. Но только для русского языка, не использующий данную библиотеку. Найти можно тут.
  • 7zip: Корректирует имена при работе с zip архивами, с .7z и так все нормально. Поддерживается также и архивация.
  • MOC: Корректирует отображение ID3 тагов (включен начиная с 2.4.0).
  • RCCTools: Консольный интерфейс к библиотеке. Поддерживает практически все настройки библиотеки и позволяет построчно перекодировать информацию, поступающую на стандартный вход. Кроме того, доступен режим, позволяющий переименовать все файлы в заданной директории (перекодировать названия в указанную кодировку, транслитерировать названия, перевести названия на английский, и все прочие стандартные возможности библиотеки).


Распространение
  • На странице данного проекта выже можете скачать исходники патча, а так же собранные бинарные пакеты для Mandriva Linux, Slackware, SuSe, RedHat, Debian,Ubuntu, и overlay для Gentoo. Однако, будьте бдительны, - версии могут быть далеко не последними.
  • Xmms расспространяемый с дистрибутивами ALT Sisyphus, и Mandriva Linux уже пропатчены (в Mandriva только первая версия патча)
  • Если Вы сделали бинарные версии для других дистрибутивов и имеете желание помочь другим пользователям, - свяжитесь со мной.
  • DISCLAIMER: Если вы хотите, чтобы какие-либо из представленных здесь патчей вошли в основное дерево соответсвующего проекта, - пинайте авторов. Я тут ничем помочь не могу. Это так же относится к включению библиотек LibRCC и LibRCD в различные дистрибутивы.


Благодарности


NEWS



26.11.2015 taglib-csa11 adds support for taglib 1.10 (thanks to trialuser)

14.05.2014 The main project server is renamed to darksoft.org (formely dside.dyndns.org)

17.11.2013 LibRCC 0.2.12 LibGuess 1.1 support and fixes to build system

12.11.2013 taglib-csa10
  • Updated to taglib-1.9.1. Thanks to Ivan Romanov.
  • Prevent corruption of multibyte encodings stored in ID3 v.1 tags
  • Extra patch which prevents client applications from overloading ID3 v.1 renderer/parser and, hence, bypassing RusXMMS.
01.05.2013 taglib-csa8
  • Fixes openSUSE bug #814814 and hopefully fully solves the issues with the corruption of latin1 tags when recoding is switched off in the configuration. Many thanks for Dave Plater, M00n Raker, and other participants.
29.01.2013 LibRCC 0.2.10
  • GTK3 UI library
  • Improvements in BerkeleyDB handling
  • Added pkgconfig configuration
  • Fixed configuration for Czech language
  • Fixed memory leak in non-caching mode
  • Fixed few writes outside of array boundaries
29.01.2013 taglib-csa7
  • Fixed corruption of latin1 tags when recoding is switched off in the configuration (taglib patch)
04.02.2011 Official mirrors in Germany and USA

15.02.2010 New patchset for Libtranslate is released. Services for libtranslate are updated as well

14.02.2010 New binary repository at SuSe build service. Few packages for Fedora, Mandriva, and OpenSUSE at the moment.

06.11.2009 A beta version of patch for p7zip 9.04 is available, here.

14.10.2009 LibRCC 0.2.9
  • Support for BerkeleyDB 4.7.x and 4.8.x (0.2.8 will crash if BerkeleyDB is updated from the older version to 4.7 or 4.8)
  • Support for systems without flock (OpenSolaris, for example)
  • Fix build problems with a newer glibc due to a strnlen redeclaration
14.06.2009 Mpg123 patch is updated to version 1.7.3 and p7zip is updated to 4.65.

30.03.2009 Ivan Borzenkov have managed to include some of RusXMMS libraries into the Debian SID. 20.11.2008 New taglib-csa6 patch including support of CMake build system. Patch is provided by Ivan Borzenkov

21.07.2008 The forum got a new addres: http://darksoft.borda.ru

02.06.2008 Debian Lenny packages are finally here. Many thanks to Иван Борзенков

14.04.2008 Few patches are updated, and one new is provided
  • Patch for Libid3tag is provided
  • Patch for taglib is updated to taglib-1.5
  • Patch for p7zip is updated to p7zip-4.57
  • Patch for unzip now respects the rcc configuration
  • Patch fixing segfaults on AMD64 for MAC 3.99 (Monkey Audio Codec) is provided
  • The Gentoo Overlay is now available
13.01.2008 LibRCC 0.2.6, LibRCD 0.1.11: FreeBSD compatibility fixes of autoconf scripts. Upgrade is only required if you expirience compilation problems. No other changes are included. Many thanks to Ulrich Spoerlein for patches.

25.11.2007 RusXMMS csa41: Support of xmms-1.2.11

28.06.2007 New service description file for LibTranslate with support of Translate.ru and Pereklad.ua engines. The Libtranslate patches from here are mandatory should be applied in order to support new services.

28.06.2007 LibRCC 0.2.5, LibRCD 0.1.10:
  • Detection of genuine ISO-8859-1 encoding by LibRCD.
  • Support for LibGUESS library which is providing encoding autodetection for Chinese, Korean and Japanese languages.
  • Better Enca support (correction of wrong encoding names).
  • Improvements of the translation engine.
  • Compilation fixes for FreeBSD. Thanks to D. Panov.
  • Fixes of UI translation routines.
  • Support for external IConv library and LibCharset.
  • Most of preconfigured languages are moved out to configuration file.
04.05.2007 Some information is added to wiki

23.04.2007 Patch fixing compilation in some rare configurations

16.04.2007 Various updates (important for Gentoo users):
  • RCCTools - Command line interface to LibRCC library. Recodes standard input, renames files in the directories.
  • New patches: p7zip (Zip archives), mpg123 v. 0.65
  • New fixed unzip patch: Old patch fails the openoffice build on several platforms (The build executes unzip during install, but openoffice changes environment and uses embeddded berkeley db4 library incompatible with the system one. Therefore, unzip fails complaining on the linkage problems. The new patch uses lazy linking, and if there are some problems with librcc the unzip application will work just without recoding).
  • New Gentoo portage with various xmms packages included (Which are nowadays ripped from the official Gentoo portage). If you want me to include more XMMS related packages in the portage, please, leave a note with the package names on the forum.
  • Wiki, but still empty.