-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Updating Controller Mappings
This page has information for updating old controller mappings for the latest version of Mixxx.
Support for colored hotcues was added. Intro & outro cues were added too. These can be mapped the same way as hotcues. Refer to MixxxControls for details.
There were no changes to the controller mapping system between Mixxx 2.1 and Mixxx 2.2.
-
engine.setParameter()
now works withengine.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 ofthis
being set to the global object), allowing script files to be written with a more object oriented organization. - 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 Mixxxcontrols#Effects framework for details.
- Components JS library was introduced to make writing JavaScript mappings easier. It provides an Components JS#EffectUnit object that makes it easy to map the new effects interface to the common layout of 4 knobs (or 3 knobs + 1 encoder) + 4 buttons for controlling effects
- New MixxxControls for looping and beatjumping were introduced. If your mapping has buttons mapped to fixed loop sizes, update it to use beatloop_activate and beatlooproll_activate. Replace reloop_exit with reloop_toggle, and add a mapping for the new reloop_andstop Control. Replace loop_move_X_forward/backward with beatjumping, which now acts to move the loop if there is a loop enabled.
- TODO: document new library navigation interface
- A new [ChannelX], track_loaded ControlObject was added. If your script previously used track_samples to detect if a track was loaded, switch to the more readable track_loaded.
-
<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. Just because you can embed a JavaScript function in the XML file does not mean you should though.
Also see Getting Ready for Mixxx 1.12
(Groups stay as [ChannelX]
)
Name goes from beatsync
to sync_enabled
. Devs should test
push-and-hold for enabling master sync.
If the controller has a dedicated "filter knob", it should be set to:
[QuickEffectRack1_[ChannelX]],super1
Update these to ensure GUI sync with the different Cue modes in the preferences.
(Groups stay as [ChannelX]
)
Name goes from:
-
cue_default
tocue_indicator
-
play
toplay_indicator
Group goes from [ChannelX]
to [EqualizerRack1_[ChannelX]_Effect1]
Name goes from:
-
filterLow
toparameter1
-
filterMid
toparameter2
-
filterHigh
toparameter3
-
filterLowKill
tobutton_parameter1
-
filterMidKill
tobutton_parameter2
-
filterHighKill
tobutton_parameter3
(These replace [Flanger]
group controls.)
Full list is on the effects framework page.
The VCI400 has two effects sections, so I did the following:
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
Changing which effect is loaded in a section:
[EffectRack1_EffectUnitX],next_chain
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