HPUNIX Сайт о ОС и не только!

От XMMS к Audacious история Winamp-клона

5 декабря 2008 - unix

(перевод с английского статьи Patrick McFarland From XMMS to Audacious: the history of a Winamp clone)

От XMMS к Audacious история Winamp-клона

Одна из более часто используемых функций современного компьютера — способность воспроизводить музыку. Со времен первых писков и завываний аркадных машин, во времена AdLib и первых Sound Blaster-ов в домашних компьютерах, во времена монстрообразного Sound Blaster X-Fi на пятидесяти одном миллионе транзисторов люди слушали и продолжают слушать музыку на компьютерах.
Вернемся в Одна тыща девятьсот девяносто семь год, когда кто-то в конце концов решил написать успешный проигрыватель для GNU/Linux: X11Amp, сейчас известный как XMMS.

Winamp, X11Amp, и XMMS

Еще ранее, в мае Одна тыща девятьсот девяносто семь года, малоизвестная софтверная компания Nullsoft выпустила программу, которая одномоментно стала хитом, и сейчас, на данный момент, эта программа является одним из более известных примеров программных музыкальных плейеров — это Winamp.

Winamp (создатель — Джастин Франкель) стал образцом де-факто для Windows-систем. Но этот плейер страдал от 1-го грозного недостатка: он работал только под Windows. Поэтому спустя несколько месяцев, в ноябре, Питер и Майкл Альм выпускают клон Winamp, названный X11Amp.

X11Amp распространялся безвозмездно.

Питер и Майкл решили написать эту программу, так как под Linux не было хорошего mp3-плейера. Копирование вида и особенностей Winamp, сопоставимость с форматом Winamp-skins дозволили X11Amp быстро стать популярным на не Windows-платформах, как ранее Winamp стал популярным на Windows.

В Одна тыща девятьсот девяносто девять году наши бесстрашные разработчики X11Amp заполучили спонсора — компанию 4Front Technologies, известную своей работой над Open Sound System (OSS) (OSS позже была заменена Advanced Linux Sound Architecture (ALSA)). В связи с этим X11Amp скоро был переименован в XMMS. Примерно в это время я начал использовать XMMS и глядеть за его развитием, за которым, благодаря внутренним политическим трениям, было очень… интересно смотреть.

Конец XMMS

В протяжении следующих 5 с лишним лет XMMS заполучил плагины практически для всех звуковых форматов на планете, было выпущено несколько 10-ов стабильных релизов. Разработка была приостановлена поначалу Две тыщи четыре года. За эти 5 лет люди сообразили следующие вещи:
1-ая версия библиотеки пользовательского интерфейса GTK+, хоть и была первой в своем роде и скорей всего единственной библиотекой пользовательского интерфейса на момент начала сотворения XMMS, содержала много ошибок, ей недоставало возможностей, смотрелась эта библиотека жутко и снаружи, и изнутри, программировать под GTK+ было сущим мучением. Библиотека GTK2, наследник GTK+, была очень очень усовершенствована.
Библиотеки GTK+ и GTK2 конфликтуют на уровне символов, так что даже если бы разработчики XMMS захотели переключиться на GTK2, хоть какой из старых использующих GTK+ плагинов вызвал бы неправильное окончание программы; такое не случается с ответвлениями XMMS, использующими GTK2, но сохраняющими сопоставимость с XMMS plugin API (например, BMP).
XMMS передает плагинам ссылки на области памяти, содержащие структуры XMMS, в конечном итоге чего плохо написанные плагины могут вызывать аварийное окончание программы.

Не было видно ясного пути для развития XMMS без масштабного переписывания кода программы, переписывать пришлось бы в любом случае. Это, также программный код XMMS, приводило людей в замешательство не ужаснее известного кинофильма Hideaki Anno.

В Две тыщи два году Питер Альм начал работу над форком XMMS, названном XMMS2, добавив новые возможности, поддержку GTK2, и сломав сопоставимость с plugin API с целью устранения различных малеханьких заморочек и чтобы не допустить использования старых плагинов без корректного портирования.

Питер также вожделел поделить плагины на две категории: «input» и «transport» (т.к. многие из «input»-модулей содержали повторяющийся код для передачи потока по интернету и тому похожих вещей), добавить функциональность медиа-библиотеки и отделить «движок» плейера от кода, отвечающего за внешней вид (они должны были сообщаться через сокеты). Разработка XMMS2 еще ведется, но релизы появляются нечасто. К огорчению, я думаю, что проект окончит свое существование из-за недостаточной частоты релизов и публичности.

BMP и BMPx

Примерно во время появления XMMS2 свой проект на базе XMMS начал Милош «deadchip» Дерезински, назвав его Beep Media Player (BMP). В отличии от XMMS2, была целенаправленно сохранена сопоставимость с XMMS plugin API. Фактически, если не вызывать для плагинов диалоги «configure» и «about», можно использовать уже скомпилированные модули от XMMS без дополнительных заморочек.

Разработка BMP продолжалась до тех пор, пока Милош не решил, что XMMS/BMP требуется взаправду грозная переработка; хотя, судя по тому, что я видел, Милош не договорился с Питером, какая замена нужна XMMS. В октябре Две тыщи 5 года Милош начал разработку форка BMP (который был фактически XMMS с GTK2 и уймой переписанного кода, но не достаточно добавлял в функциональности) и назвал его BMPx; хотя я неверно употребил слово «форк», т.к.

Милош решил начать написание BMPx с нуля. К тому же BMPx спроектирован для использования Xine (позднее GStreamer) в качестве системы плагинов.

От XMMS к Audacious история Winamp-клона

Милош растерял нескольких разработчиков при разработке BMPx, решив выбросить уникальный код BMP. Некоторые ушли, затаив злоба, другие — так проект им наскучил, третьи решили продолжить работу с какими-либо другими медиаплейерами.

Но, по моему мнению, BMPx — это тупик.

Audacious

Покинув команду после остановки разработки BMP, Вильям «nenolod» Питкок решил сделать форк BMP спустя несколько дней после начала разработки Милошем BMPx. Новая программа получила название Audacious. Начавшись как большая работа над ошибками, Audacious, по-видимому, является наследником принадлежавшего когда-то XMMS титула де-факто стандартного плейера для GNU/Linux.

На данный момент Вильям поправил 10-ки раздражающих ошибок, добавил возможность подключаться к музыкальному «движку» внешним клиентам, частично переписал MP3 декодер (который, по моему мнению, сейчас звучит лучше libMAD, ранее лучший из слышанных мною MP3-декодеров); идет процесс добавления API, которая дозволит использовать Audacious так же, как сейчас употребляется GStreamer.

Audacious, по-видимому, является единственным проектом, продолжающим развитие с того места, где закончил XMMS. BMP, главным образом, был нацелен на поддержку и переписывание имеющегося кода, подходящий, но не добавивший новых функциональных возможностей проект; XMMS2 мертв, а BMPx — путь в никуда.

Так что если вы до сих пор используете XMMS или BMP — попробуйте Audacious. Худшее, что может произойти, — вы вновь откроете для себя, как просто слушать музыку под GNU/Linux.

Скины
Скины (шкуры) XMMS полностью совместимы со скинами Winamp 2.x, т.е. скины Winamp можно использовать с XMMS и напротив.

Ниже представлены несколько скинов со скриншотами. Эти скины входят в состав Ubuntu Linux и распространяются безвозмездно, под свободными лицензиями.

Хотя выставленные скины предназначены для XMMS, в силу сопоставимости они отлично подходят и для Winamp.

Cobalt

#image.jpg
скачать

Colder

#image.jpg
скачать

Eclipse

#image.jpg
скачать

FB2

#image.jpg
скачать

Helix-Sawfish

#image.jpg
скачать

Plume

#image.jpg
скачать

SpiffMedia

#image.jpg
скачать

Titanium

#image.jpg
скачать

minEguE

#image.jpg
скачать

Источник: Xmms.info, 2006, xmmsinfo@mail.ru

Похожие статьи

  • Установка

    Представьте себе, что подходящая Для вас программа доступна только в виде .rpm пакета, а вы используете Debian или Ubuntu. Как быть в таком случае? Можно отыскать исходники и скачать, но...

  • Утилита для проверка системы на rootkit руткиты

    Не считая утилиты chkrootkit, про которую писал ранее, есть еще один подходящий пакет — rkhunter, который в купе с chkrootkit предназначен для обеспечения безопасности сервера на предмет троянов,виру...

  • Управляем издаля или rdesktop

    У многих на работе стоят еще продукты M$ (Windows Две тыщи Server, Windows Две тыщи три Server, Windows XP) для 1С или других целей, не обошло это и меня, так как серверная находиться на Два этаже, а сам си...

  • Find, или поиск в Linux

    Слету желаю узреть что существует неограниченное количество разных способов для реализации поиска в Linux. Сейчас, например очень очень развивается проект beagle. Но я буду говорить о станд...

  • xmms Программки и утилиты

    XMMSXMMS в LinuxТипаудиоплеерРазработчикXMMS TeamНаписана наCОперационная системаLinux, другие Unix-подобныеПоследняя версия1.2.11 (16 ноября 2007)ЛицензияGNU GPLСайтlegacy.xmms2.orgXMMS (X Multim...

Теги:
Рейтинг: +13 Голосов: 243 1548 просмотров
Комментарии (0)

Нет комментариев. Ваш будет первым!

Найти на сайте: параметры поиска

Windows 7

Среда Windows 7 на первых порах кажется весьма непривычной для многих.

Windows 8

Если резюмировать все выступления Microsoft на конференции Build 2013.

Windows XP

Если Windows не может корректно завершить работу, в большинстве случаев это

Windows Vista

Если к вашему компьютеру подключено сразу несколько мониторов, и вы регулярно...