About

From XMMS2
Jump to: navigation, search

You might have heard of XMMS (legacy.xmms2.org), the hugely popular Winamp clone for Linux and UNIX-like operating systems. XMMS2 is a project started (in late 2002) by one of XMMS's original authors - Peter Alm - to produce a "kick-ass music player" (much like the world's 347349739921 other music player projects). In short, XMMS2 is the next generation XMMS.

So, XMMS2 is definitely an audio player. But it is not a general multimedia player - it will not play videos. It has a modular framework and plugin architecture for audio processing, visualisation and output, but this framework has not been designed to support video. Also the client-server design of XMMS2 (and the daemon being independent of any graphics output) practically prevents direct video output being implemented.

Why XMMS2?

Why bother working on a next generation XMMS while there are various existing and more advanced projects already in progress, some ready for production use? Because XMMS is just too damn popular to be allowed to die, of course! But seriously, while the field of 'audio playback' in general is something of an old beaten path, there is still much room for improvement.

Constant progress is happening in the field of digital audio playback, including: new compression/encoding schemes, better and more flexible encapsulation and container formats, more efficient encoders and decoders, better ways of managing collections of music files, new ways of letting users interact with their music and so on. XMMS2 jumps into the mix with the goal of trying to provide an improved music listening experience for users.

The need for an XMMS replacement had been evident for years: the XMMS codebase and framework weren't exactly well-designed from the beginning. Lately, active development of XMMS has mostly stopped; this can be attributed to the lack of active developers, and a broken codebase. Adding new features to XMMS is difficult. Some of the most-wanted features would be nearly impossible to add. Some parts of XMMS are beyond patching, a re-design of the framework is needed.

Developers of another fork of XMMS, BMP, the "Beep media player", comment on XMMS: The XMMS code we inherited is old and messy. In more specific terms, it is poorly structured, poorly documented and littered with duplications. It is difficult to modify or extend one component of XMMS without breaking another. We spent most of our time fixing problems that were introduced after seemingly innocent modifications.

The XMMS2 team is committed to producing a better music player, while diligently maintaining a robust and flexible design. The goal is to make the system easy for developers to maintain and integrate with. In terms of the listening experience, XMMS2 makes it possible for anyone to easily manage their music collection and to interact with it in a flexible manner.

More about XMMS2

Footnotes

  1. Slight exaggeration, of course.
Personal tools