Skip to content

4 deck script mapping for the Pioneer DDJ 400 controller for Mixxx

Notifications You must be signed in to change notification settings

apmiller108/pioneer_ddj400_mixxx_mapping

Repository files navigation

Mixxx Mapping for Pioneer DDJ400 for 4 Deck Control

This is a 4 deck script mapping for the Pioneer DDJ-400 controller for Mixxx.

This is based on the existing 2-deck script mapping, but modified to allow toggling between controlling decks 3 and 4 like the Pioneer DDJ-SB3.

Toggle decks

  • Toggle decks by pressing BEATSYNC +SHIFT. Channel1 can be toggled to control Channel3; Channel2 can be toggled to control Channel4.
  • Toggling decks will switch all deck controlls (ie, pitch, play, pads, etc.) to the new deck.
  • Channel faders, headphone cueing, EQ, filters, trim, track loading, and VU meter will also be switched.
  • Channel faders, EQ, filters, and trim use softTakeover to avoid large jumps in values when switching decks and using those controls.
  • An solidly illumniated BEATSYNC button means the alternate deck is currently being controlled (ie, deck 1 is controlling deck 3, etc.)

Caveats

  • Cycle tempo range (previous mapped to BEATSYNC +SHIFT) is no longer mapped since this is how decks are toggled. Otherwise, everything else should work like the official mapping.
  • Long pressing of BEATSYNC will still enable sync for the active deck; however, it will not turn on the BEATSYNC light. When the BEATSYNC light is on, that indicates the alternate deck is being controlled (ie, decks 3 and 4).
  • Using a controller intended for 2 decks to operate a 4 can take some getting used to. This might best be used to only control the decks while using an external 4 channel mixer (which is what I plan to do with this eventually).

Installation

  • Download Pioneer-DDJ-400-4decks-script.js and Pioneer-DDJ-400-4decks.midi.xml files.
  • Place them in your User Controller Mapping Folder
  • Open Mixxx, go to Preferences > Controllers and select Pioneer DDJ-400 4 Decks from the Load Mapping drop down. (it will probably be at the top of the list with a wrench icon next to it).

Notes

  • Secondary pad modes (keyboard, pad FX1, pad FX2, and key shift ) are still not implemented with this. These would normally be activated by the pad mode button +SHIFT. Doing so will make the button begin flashing, but will not do anything.
  • pfl +SHIFT (channel cue +SHIFT) is mapped to two things: 1) toggle quantize and 2) bpm_tap. This was part of the existing mapping and seems fine. bpm_tap appears to take at least 3 taps over a short time in order to take affect so it's unlikely to be activated when just toggleing the quantize.
  • MSB/LSB based on: https://github.com/mixxxdj/mixxx/blob/main/src/controllers/midi/midicontroller.cpp#L316-L336

TODOs

  • Use BEAT SYNC + Shift to toggle decks
  • Revent to original RELOOP/EXIT + Shift in XML
  • Init Cue lights when toggling decks
  • Init Play lights when toggling decks
  • Update track loading control for decks 3 and 4
  • Implement CUE/LOOP CALL
  • Configure BEAT LOOP pads
  • Configure BEAT JUMP pads (see also Beatjump output for pads 7&8)
  • Update headphone cue controls to operate on decks 3 and 4
  • Fix init play button light
  • Update fader controls to operate on decks 3 and 4
  • Consider how to set faders 3 and 4 on init
  • Update the EQ controls to operate on decks 3 and 4
  • Update trim controls to operate on decks 3 and 4
  • Update filter controls to operate on decks 3 and 4
  • Use softTakeover for EQ, trim, filter and volume faders
  • See if anything needs to be done with SAMPLER pads
  • Investigate pad buttons + shift mappings
  • Update shutdown to flip off the beat sync light, loop pads, hot cue pads
  • Clean up XML (delete commented out outputs)
  • Clean up JS
  • Update code comments as needed
  • Configure VU meter
  • Update README with instructions
  • Move LEVEL/DEPTH + SHIFT customization to a branch (beatFxLevelDepthRotate)
  • Post in Controller mappings forum for feedback
  • Update forums XML node with link
  • Figure out something to do with BEAT FX for channels 3 and 4

Resources

About

4 deck script mapping for the Pioneer DDJ 400 controller for Mixxx

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published