GSoC/GCI Archive
Google Summer of Code 2011

Mixxx

Web Page: http://mixxx.org/wiki/doku.php/gsoc2011ideas

Mailing List: https://lists.sourceforge.net/lists/listinfo/mixxx-devel

The goal of the Mixxx project is to build a stable, cross-platform, open source DJ mixing application suitable for amateur and live professional use. Mixxx began as one of the earliest digital DJ solutions and as a result has attracted a large worldwide userbase. Our continuing mission is to provide these users with an open source DJ application with features that rival and lead proprietary commercial solutions such as Traktor and Virtual DJ. Mixxx is licensed under the GPL v2.

Projects

  • Advanced Library Search with context awareness. In this project the library search functionality of the Mixxx software will be upgraded. As described in the original proposal, the indexing of the items (songs) in the library will be implemented allowing for faster search. There will be more searchable meta-data, such as bpm, key etc. Additional operators will allow for adding more control to the search instead of just matching text. An additional feature will be the context operator allowing for a search based on the currently playing tracks.
  • AutoDJ Improvements and Refactoring This project will work on the AutoDJ part of Mixxx and provide these improvements: 1.) Add the ability for the DJ to specify Fade In/Fade Out points that hold over after the session ends 2.) Provide a simplistic way of adjusting the time it takes Mixxx to complete the automatic crossfade between tracks 3.) Add the option for certain decks to be specified as the AutoDJ decks 4.) Refactor the existing AutoDJ code, adding a SongTransition class to handle song synchronization
  • Moving the Mixxx audio-processing engine to an audio device-independent thread. Currently, Mixxx’s audio-processing is run entirely out of a callback from the PortAudio library, itself called by the underlying host audio API. This proposal aims to move the engine’s work to a separate thread on a high-resolution, short-period timer.