На развалинах XMMS

17 Янв
2008

            В Linux существует большое количество программ с помощью которых можно прослушать музыку. Одним из популярных сегодня рещений является Amarok. В 2005 году сайт LinuxQuestions.org организовал опрос «Лучшее приложение по работе со звуком», в котором Amarok занял первое место, так как за него проголосовало 41.86% пользователей. Другой проигрыватель XMMS, до этого практически безконкурентно властвовавший на рабочих столах Linux занял второе место с результатом 28.87%. В следующем 2006 году отрыв между этими проигрывателями, был еще больше 57.07% и 22.37% соответсвенно. Так умирал король.

Король умер, да здравствует король.

Если почитать обзоры тех лет, большая часть пользователей предпочитала XMMS (X Multimedia System) — универсальный аудиопроигрыватель, поддерживающий большое количество форматов в основном за счет подключения их в виде плагинов. За время существования XMMS количество плагинов на все случаи жизни исчислялось сотнями. Но пользователей привлекала не только его функциональность. Проект стартовал в ноябре 1997 под руководством Питера и Майкла Альм (Peter Alm, Mikael Alm). В этом же году вышла и первая версия Winamp, который и был взят разработчиками за ориентир. Вероятно поэтому XMMS очень похож на Winamp. Но самое главное поддерживались некоторые плагины  Winamp (в основном визуализации и аудиоэффектов), а также скины. Плейлисты имели также совместимый формат. Что же случилось? Почему стабильно работающий, простой в использовании и богатый функционально проигрыватель стал так быстро уступать место под солнцем. Причин наверное несколько. За годы существования было написано горы кода, часть из которого признана явно не самым лучшим, и со временем ситуация только ухудшалась. Разработчики не хотели ничего менять. В 21 веке особенно бросался в глаза устаревший интерфейс написанный на GTK+ библиотеках еще первой версии. В итоге последняя версия 1.2.10 датирована аж 23 февраля 2004 года. На сайте проекта www.xmms.org, одно за одним появляются прощальные сообщения вроде «Bye Bye Gentoo!», «Bye Bye Slackware!». Из репозитариев этих дистрибутивов XMMS исключен (в Ubuntu пока есть). Хотя такой шаг обычно и вызывает бурю протеста, но в итоге можно сделать вывод, что XMMS скорее мертв чем жив.

Естественно свято место пусто не бывает. На пустующий трон короля быстро взобрался активно развивающийся Amarok. Девиз того проекта «Посмотрите на музыку по-другому» (англ. «Rediscover Your Music»). И действительно Amarok трудно назвать просто проигрывателем, а учитывая, что ребята из «The Amarok Team» фактически через дверь общаются с «The KDE Core Team». Этот проигрыватель хорошо интегрируется в среду KDE, поэтому по умолчанию включен во все дистрибутивы, использующие KDE в качестве рабочего окружения. Неужели все?

Проект XMMS2

Но как это принято в OpenSource XMMS не дали так просто взять и умереть. На его смену пришло сразу несколько решений. Одним из проектов который сразу приходит в голову это реинкарнация XMMS2 (http://wiki.xmms2.xmms.se/index.php/Main_Page). Разработки велись в течение двух лет, пока публике не был представлен первый preview следующего поколения XMMS. Но этот проигрыватель сменил не только расшифровку — X-platform Music Multiplexing System 2, и фактически от XMMS проекту осталось только имя, так как код был переписан с нуля. Особое внимание при разработке было уделено переносимости, разделению и стабильности кода. Одной из особенностей XMMS2 является отделение собственно проигрывателя от пользовательского интерфейса, то есть в нем используется популярная сейчас клиент/серверная архитектура. Такой подход значительно упрощает создание альтернативных пользовательских интерфейсов и позволяет дизайнерам сосредоточиться на своих задачах, а не воспроизведении файлов. Стало возможным удаленно управлять XMMS2 по сети. Изначально поддерживаются все популярные сегодня форматы: FLAC, MP3, MOD, SID, speex, OGG Vorbis, WMA, MMS и WAV. Как и в Amarok в XMMS2 реализовано хранилище метаданных о файлах medialib. В котором можно найти данные взятые с id3 тегов, адреса и расположение мультимедиа файлов и плейлисты составленные пользователем. Все это используется при сборе статистики о предпочитаемых мелодиях. Вся эта информация используется при составлении коллекций. Список клиентов на странице http://wiki.xmms2.xmms.se/index.php/Clientlist на мониторе занимает целых три экрана. Каких только реализаций здесь нет. Есть консольные клиенты, веб-реализации, на библиотеках Qt  и GTK, Java, несколько плагинов к приложениям.

 118.png

Есть даже пара реализаций позволяющих слушать музыку на мобильном телефоне через Bluetooth. Кроме Java, клиенты написаны с использованием С, C++, Python, Perl, Ruby и PHP. Работают клиенты на компьютерах под управлением Linux, *BSD, OS X, Solaris и Windows. Вообщем оторвались, как говорится по полной. К сожалению разработки идут относительно медленно. В репозитариях дистрибутивов XMMS2 встречается пока редко, самостоятельная сборка, учитывая множественные зависимости, рекомендована только для пользователей обладающих определенными знаниями и терпением.

Проект Beep Media Player

Другой проект возникший в 2003 году на развалинах XMMS – Beep Media Player (BMP). Особых отличий от оригинального XMMS в BMP вообщем то и небыло. Исключение составлял лишь обновленный интерфейс на GTK+ 2. Поэтому BMP очень не плохо выглядел  на современных рабочих столах. Как и XMMS, BMP выглядел как Winamp, поддерживал скины написанные для Winamp и XMMS. Поддерживались те же форматы, что и в XMMS, но из-за различий в библиотеках плагины напрямую использовать было нельзя, необходимо их сначала портировать. Хотя некоторые скомпилированные плагины все же работали, не выдавая segmentation fault. После выхода в октябре 2005 года версии 0.9.7.1, мнения разработчиков по поводу дальнейшего развития проекта разошлись. В результате появилось два проекта. Большая часть разработчиков остановила разработку оригинального BMP, чтобы сконцентрировать все свое внимание на продвинутом BMPx. Начав сражение на територии, где уже безраздельно властвовал Amarok (тогда еще amaroK). А William «nenolod» Pitcock через несколько дней объявил, что продолжит работу над портированием классического XMMS под GTK+ 2. Его новый проект стал, называться Audacious.

Проигрыватель BMPx

Долой минимализм. Именно такой подход разработчиков BMPx (Beep Media Player eXperimental). Здесь собрано все, что должен иметь современный проигрыватель. В первую очередь это понятный интерфейс, разделенный визуально на четыре части, позволяющий быстро отобрать нужные композиции. Многие технологии, сервисы (MusicBrainz, Last.fm, HAL, DBus, Unicod) и спецификации поддержаны изначально. Поэтому BMPx хорошо интегрируется в практически любую среду как программную так и аппаратную. Например с различными приложениями, вроде gDesklet, IM-клиента Pidgin, IRC-клиентами X-Chat 2 и irssi. Для вывода звука использован GStreamer, поэтому проигрыватель воспроизводит музыку в поддерживаемых им форматах: MP3, OGG Vorbis и FLAC, MPC, MP3, AAC, M4A, WMA, WAV, MOD, SPC, SID, AudioCD, и HTTP и MMS потоки.

BMPx

 

Сразу после установки можно прослушать музыку  с многочисленных он-лайн ресурсов . Возможностям BMPx вероятно стоит посвятить отдельный обзор. И не смотря на то, что номер еще далек от релиза, текущая версия 0.40, в репозитарии большинства дистрибутивов BMPx уже включен. Если поиск ничего не дал, зайдите на страницу bmpx.beep-media-player.org/site/Downloads, где приведена вся известная разработчикам информация, в том числе и для пользователей различных вариатов BSD систем. Например в KUbuntu 7.04, команда поиска выдаст нужное приложение:

$ sudo apt-cache search bmpx
bmpx - Beep Media Player eXperimental
<bmpx -dev - BMPx development static library and header files
python-bmpx - Beep Media Player eXperimental python bindings

 Версия в репозитарии не всегда самая последняя, но разработчики для Ubuntu предлагают свое зеркало, откуда можно получить самую последнюю версию BMPx. Просто добавляем в /etc/apt/source.list:

deb http://static.audacious-media-player.org/debian  gutsy main
deb-src http://static.audacious-media-player.org/debian gutsy main

Копируем публичный ключ и добавляем его в список, чтобы apt не ругалась.

$ wget –с http://files.beep-media-player.org/packages/ubuntu/beep-media-player.pubkey
$ sudo apt-key add beep-media-player.pubkey
Обновляем список пакетов и устанавливаем.
$ sudo apt-get update
$ sudo apt-get install bmpx

 
Проект Audacious

Поклонникам классического XMMS/Winamp, которые считают, что проигрыватель должен в первую очередь играть музыку и не любят перегруженных интерфейсов, вероятно стоит обратить на Audacious. Как уже говорилось, это переработанный XMMS с обновленным GTK+ 2 интерфейсом. Основное преимущество его по сравнению с Amarok и подобными — легкость. Поэтому пользователям со слабыими компьютерами это то, что доктор прописал. Как и в оригинале, поддерживаются скины (класического стиля) Winamp 2. Для этого достаточно скачать понравившийся скин (с расширением wsz) с www.winamp.com/skinsи положить в каталог ~/.audacious/Skins, после чего переазупстить проигрыватель. И выбрать новый скин в списке Настройки-Внешний вид (рис.3). После установки проигрывателя можно будет прослушать музыкальные файлы в форматах:MP3, Ogg Vorbis, WMA, AAC, FLAC, ALAC, WAVE, а также Midi, Musepack (mpc), Wavpack и некоторых других. Также без лишних телодвижений Audacious поддерживает вывод звука через: ALSA, OSS, Arts, Esound, PulseAudio, Jack и в файл. В комплект включен плагин для last.fm, реализована поддержка LIRC, и различных звуковых эффектов (например voice removal «удаление голоса»), визуализации.

 Audacious

Есть даже будильник – Alarm. В репозитариях большинства дистрибутивов audacious есть. Смотрим в KUbuntu:

$ sudo apt-cache search audacious
audacious - Small and fast audio player which supports lots of formats
audacious-crossfade - Audacious Plugin for Crossfading / Continuous Output
audacious-dev - Audacious C++ shared library development files
audacious-plugins - Base plugins for audacious
audacious-plugins-dev - Audacious-plugins development library and header files
audacious-plugins-extra - Various extra plugins for audacious
libaudacious4 - Audacious C++ shared library

Все устанавливать не нужно, но без audacious-plugins установка проигрывателя большого смысла не имеет: 

$ sudo apt-get install audacious audacious-crossfade audacious-plugins audacious-plugins-extra

 Так как Audacious построен на гномьих библиотеках, пользователям KUbuntu придется смириться, с большим хвостом зависимостей, которые потянут на почти 20 Мб. Те кто работал с XMMS/Winamp вряд ли найдут в Audacious что-то экстраординарное и запутаются в настройках. Просто щелчком по левому углу вызываем меню, выбираем пункт “Воспроизвести файл” и указываем на каталог с мелодиями.

Как видите в мире свободного кода, хорошему решению просто так не дадут уйти в небытие. В результате мы вместо одного, хотя и горячо любимого проигрывателя получили сразу несколько решений, который смогут удовлетворить любой даже самый привередливый вкус. Возможность выбора это всегда хорошо. Linux forever!

5 Комментариев к На развалинах XMMS

Аватар

Voice

Январь 17th, 2008 | 20:03

А Амарок где? Так не чесно…

Аватар

grinder

Январь 17th, 2008 | 21:31

Все честно. Статья не об Amarok а наследниках XMMS.

Аватар

Liet

Январь 23rd, 2008 | 13:43

Собсно огромное спасибо за статью. Когда увидел ее в МК, сразу начал копать в сторону XMMS2.

Аватар

Linuxoid - все что знаю о Туксе » Архив блога » Музыкальная шкатулка JuK

Январь 24th, 2008 | 21:46

[...] для воспроизведения музыки. Выбор как всегда за вами (http://www.tux.in.ua/articles/203). Best of all: It’s free! Linux [...]

Аватар

helios

Ноябрь 21st, 2009 | 14:08

Спасибо, однако, из своих наблюдений скажу, что и xmms всё ещё жив и пользуется на десктопах…

Комментировать

Наверх