User Tools

Site Tools


This is an old revision of the document!

This page has information for updating old controller mappings for the latest version of Mixxx.

Mixxx 2.1

  • engine.setParameter() now works with engine.softTakeover(). If your script implemented its own soft takeover mechanism to get around that bug, change it to use Mixxx's soft takeover solution instead.
  • MIDI input handling functions are now called with the appropriate this object (instead of this being set to the global object), allowing script files to be written with a more object oriented organization.
  • <key> elements in XML that are bound to script functions can now be any JavaScript expression that evaluates to a function in the global context
  • Metaknobs, which act like superknobs for each effect within a chain, were introduced. Also, a new framework for focusing individual effects within a chain was introduced. Focusing an effect does not do anything by itself; it is up to controller mappings to do something different depending on the focused effect. The show_focus ControlObject of an EffectUnit needs to be set to 1 for the focus to be shown in skins. Refer to Effects framework for details.
  • TODO: document new library navigation interface
  • TODO: move Control library documentation to the wiki

Mixxx 2.0

Sync Buttons

(Groups stay as [ChannelX])

Name goes from beatsync to sync_enabled. Devs should test push-and-hold for enabling master sync.

Filter Knob

If the controller has a dedicated “filter knob”, it should be set to: [QuickEffectRack1_[ChannelX]],super1

Button LEDs

Update these to ensure GUI sync with the different Cue modes in the preferences.

(Groups stay as [ChannelX])

Name goes from:

  • cue_default to cue_indicator
  • play to play_indicator

Filter Control Objects

Group goes from [ChannelX] to [EqualizerRack1_[ChannelX]_Effect1]

Name goes from:

  • filterLow to parameter1
  • filterMid to parameter2
  • filterHigh to parameter3
  • filterLowKill to button_parameter1
  • filterMidKill to button_parameter2
  • filterHighKill to button_parameter3

Effects Control Objects

(These replace [Flanger] group controls.)

Full list is on the effects framework page.

The VCI400 has two effects sections, so I did the following:

Parameter adjustment

Individual knobs adjust parameters for that effect unit: [EffectRack1_EffectUnitX_Effect1],parameterY. Where X is 1 or 2 (the two effects sections), and Y is 1,2,3 (the three knobs).

If your controller has only one “parameter” knob, you can map it to [EffectRack1_EffectUnitX],super1 which will modify a number of effect parameters at once. (Sean did this for the ADJ VMS4.)


Wet/dry is: [EffectRack1_EffectUnitX],mix (fourth knob in each section)


Per-channel buttons to activate a FX unit on that channel: [EffectRack1_EffectUnitX],group_[ChannelY]_enable

Change effect

Changing which effect is loaded in a section: [EffectRack1_EffectUnitX],next_chain

Translations of this page:
updating_controller_mappings.1485456090.txt.gz · Last modified: 2017/01/26 13:41 by