-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Gsoc2010 Effects Units
- Student: Bruno Buccolo
* Email: bruno.buccolo.gmail.com
* Freenode: Buccolo
* Skype: bruno.buccolo
* Mentor: **Russell Ryan**
Sometimes playing the right tracks at the right time in a perfect mix is not enough. Users like to use effects/filters in their mix to squeeze every bit of energy of a track, make creative mixes using filters, delay beats to get funky, use reverb on vocals to fill the room and so on. Mixxx can already host LADSPA plugins, however it lacks a user interface for proper configuration since there must be a mapping between Mixxx controls and LADSPA plugins.
I'm proposing not only designing a user interface for configuration of LADSPA plugins, but also taking the effects on Mixxx to a whole new level. I'll create Effects Units, that will have standard controls, so we only have to map MIDI once, and then plug-in the desired effect in the effect unit to use them. The user will also have the flexibility to choose how he's going to use these 2 effects units, being able to use both on a channel, a unit per channel or even both on master.
- Check out the LADSPA page.
- See this project's code: features_ladspa
- Read my Activity Log: Buccolo's Mixxx Diary
- Read my GSoC posts here: My Blog
- Read the complete proposal: Effects Units based on existing LADSPA integration
- Two independent Effects Units for Mixxx
- An Effect Unit will be loaded with the desired LADSPA Plugin
- The input of a Effect Unit will be Channel 1, Channel 2 or Both
- Effects Chaining should be possible (One Channel as input for two Effects Units)
- An Effect Unit will have 4 Parameters and Wet&Dry that will correpond to the mapped ports of the LADSPA Plugin
- All controls for the Effects Units can be MIDI Mapped
- Abstraction of effects backend (ladspa only, for now)
- Mapping of LADSPA Plugin's control ports to Effects Units parameters
- Selection of plugin's Wet/Dry control port
- Value range for control ports (Min ~ Max, Default)
- Adding custom plugins downloaded from the internet (place on LADSPA_PATH?)
- Save/Load Configuration
- Code: Define code architecture
- Code: Think about data structures to use
- Code: Design uml diagram for the code architecture
- Code: Backend abstraction layer
- Code: Ladspa <--> Effects Unit connector
- Code: Enabling MIDI Mapping of Effects Units
- Code: Study how to choose input for effects
- GUI: Basic tab view for development only.
- GUI: Display combobox with available effects
- GUI: Load port names for the selected effect
- GUI: RFC on Mockup Effects Units
- Code: Think about xml structure to save the presets
- Code: Implement Load/Save xml
- Code: Adding custom paths to plugins (really necessary?)
- GUI: Basic preferences panel dialog
- GUI: Load available LADSA Plugins into list
- GUI: Load LADSPA Plugin's port names into combo boxes
- GUI: Min, Max, Default values for each control port
- GUI: RFC on Mockup Configuration Dialog
- Select standard Plugins to be shipped
- Create good presets for them
- Carefully study how to give instructions for the
- See LADSPA page.
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