-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Gsoc2010Ideas
Mixxx currently has 2 main decks for playing audio tracks. Many DJs like to incorporate sample tracks into their sets so that they can enhance their sets by playing extra samples on command. The goal of this project is to support this workflow by adding multiple samplers into Mixxx.
- Implement Mixxx-engine support for multiple samplers
- Model a new Sampler class off of the Player class
- Provide code for other parts of Mixxx (e.g. the GUI widget) to control the Sampler
- Implement a Sampler GUI widget that displays:
- The overview waveform of the sample audio (using our pre-existing waveform widgets)
- Buttons to play/pause the sample, and a button to enable looping of the sample
- Button to eject the current track from the sampler
Many Mixxx users would like to use Mixxx with an external mixer instead of making use of Mixxx's mixing engine to mix the output of each audio deck. The user may optionally want to disable CPU-intense processing such as Effects and EQ processing in favor of using their mixer. This project entails redesigning the master mixing portion of the Mixxx engine to support enabling or disabling various mixing features.
- Implement Mixxx-engine support for granularly enabling or disabling features such as the mixing of deck outputs and the EQ or effects processing of each deck.
- Enhance the Mixxx preferences dialog to provide a UI for configuring
the mixing engine.
- Must allow for configuring the output soundcard of each Mixxx deck
- Must provide options for enabling and disabling engine features such as Effects and EQ
Mixxx currently supports a wide-range of hardware MIDI controllers that DJs can use to perform with. Each supported MIDI controller has a "mapping" file that is bundled with Mixxx, but this mapping must be manually selected by the user before their controller works. The aim of this project is to increase the usability for new users by automatically selecting the correct MIDI mapping and to provide an intelligent workflow for when an unsupported MIDI device is connected.
- Implement auto-selection of MIDI mappings based on connected MIDI devices.
- For unsupported devices, provide a UI that helps make that
controller functional.
- Must check mixxx.org for additional community-provided mappings.
- Must allow ratings and comments to be made on community-provided mappings.
- Must allow the creation of mappings using our existing MIDI Learning Wizard.
- Must allow user-created mappings to be uploaded to mixxx.org.
A previous GSoC student wrote a LADSPA plugin interface, but did not finish integrating it into Mixxx. Effects are one of our top requested features so this project is very high impact and will allow Mixxx users to be much more creative with their DJ sets.
- Complete plugin integration into the GUI
- Must allow selection and mapping of available LADSPA plugins into GUI effects slots
- Must connect GUI controls to the mixing engine to change parameters of loaded plugins
- Design user-friendly way to load new LADSPA plugins downloaded from
the Internet into Mixxx
- Must allow a user to select a LADSPA plugin to load from their hard drive
Mixxx is a free and open-source DJ software.
Manual
Hardware Compatibility
Reporting Bugs
Getting Involved
Contribution Guidelines
Coding Guidelines
Using Git
Developer Guide
Creating Skins
Contributing Mappings
Mixxx Controls
MIDI Scripting
Components JS
HID Scripting