Конец XMMS
На протяжении следующих пяти с лишним лет XMMS приобрел плагины практически для всех звуковых форматов на планете, было выпущено несколько десятков стабильных релизов. Разработка была приостановлена в начале 2004 года. За эти пять лет люди поняли следующие вещи:
Первая версия библиотеки пользовательского интерфейса GTK+, хоть и была первой в своем роде и скорей всего единственной библиотекой пользовательского интерфейса на момент начала создания XMMS, содержала много ошибок, ей недоставало возможностей, выглядела эта библиотека ужасно и снаружи, и изнутри, программировать под GTK+ было сущим мучением. Библиотека GTK2, наследник GTK+, была очень сильно усовершенствована.
Библиотеки GTK+ и GTK2 конфликтуют на уровне символов, так что даже если бы разработчики XMMS захотели переключиться на GTK2, любой из старых использующих GTK+ плагинов вызвал бы ошибочное завершение программы; такое не случается с ответвлениями XMMS, использующими GTK2, но сохраняющими совместимость с XMMS plugin API (например, BMP).
XMMS передает плагинам ссылки на области памяти, содержащие структуры XMMS, в результате чего плохо написанные плагины могут вызывать аварийное завершение программы.
Не было видно ясного пути для развития XMMS без масштабного переписывания кода программы, переписывать пришлось бы в любом случае. Это, а также программный код XMMS, приводило людей в замешательство не хуже известного фильма Hideaki Anno.
В 2002 году Питер Альм начал работу над форком XMMS, названном XMMS2, добавив новые возможности, поддержку GTK2, и сломав совместимость с plugin API с целью устранения различных мелких проблем и чтобы не допустить использования старых плагинов без корректного портирования.
Питер также хотел разделить плагины на две категории: "input" и "transport" (т.к. многие из "input"-модулей содержали повторяющийся код для передачи потока по интернету и тому подобных вещей), добавить функциональность медиа-библиотеки и отделить "движок" плейера от кода, отвечающего за внешней вид (они должны были сообщаться через сокеты). Разработка XMMS2 еще ведется, но релизы появляются нечасто. К сожалению, я думаю, что проект прекратит свое существование из-за недостаточной частоты релизов и публичности.