GSoC/GCI Archive
Google Summer of Code 2011

XMMS2 - X-platform Music Multiplexing System 2

Web Page:

Mailing List:

[IMAGE]XMMS2 is a music player and the spiritual successor to the very successful XMMS project. The creators of XMMS got together in 2002 and spun out the XMMS2 sister project. From the beginning the idea was to correct some of the early mistakes in XMMS' design. The project grew and is now conceptually very different from XMMS. The team behind XMMS2 focuses on audio quality, freedom of choice and powerful organization features. Community-wise the team is around 10-20 regular contributors and over 95 people have at some time contributed to XMMS2.


  • Audio converter rewrite and multichannel support Currently the XMMS2 converter is a large chunk of python generated code doing sample format conversion, linear interpolation and channel mixing. There has been suggestions to use libsamplerate, which is probably the best audio conversion library around, but its GPLv2 license is not suitable for the project. Goal is to add similar functionality with more liberal license, most likely something like LGPLv2+. At least the functionality of the current converter plus multichannel should be available.
  • GIMME 2 - My proposal for GSoC 2011 GIMME, originally developed for Google's Summer of Code in 2010, is a well-rounded XMMS2 interface for GNU Emacs that provides a minimalistic and intuitive user experience through searches, powered by collection operations. It works very nicely, but still lacks the polishing top-quality Emacs packages have, modern features other interfaces have and a userbase. I propose to work on all of these issues in this summer.
  • LADSPA plugin support and improved effects chain management Currently XMMS2 only possesses a very basic selection of audio processes that can be added to the signal chain. Since LADSPA plugins offer complex functionality it will be important to enhance the configuration interface to support richer data interchange, through the development of a schema mechanism for properties and dynamic modification of effect chains.
  • Service Clients This proposal aims to revise, extend and finish the implementation of Service Clients in XMMS2 started in 2008 by Dan Chokola, document its functionality, and integrate it with the rest of the code base and test framework.