Pioneer CDJ350 MIDI Mapping

Hey there :slight_smile:

I’ve been using Mixxx for a few months, and finding it kinda terrible without a MIDI controller (not that it’s bad, just that using the mouse for jog is rather difficult).
So, now that I’ve bought decks (all Pioneer, 2x CDJ350, and a DJM800), I figured I’d hook them up.

Now, I’ve only worked on this for a few hours, but it is now very usable, and does almost everything I want.
There is no text hooked up, or LEDs, and the tempo slider is lacking resolution (compared to what the CDJ says it’s outputting).

I couldn’t see any controllers listed in the forum that weren’t strictly MIDI controllers (i.e. non-computer devices), so I hope someone other than me might find this useful.
Any feedback/requests would be appreciated :smiley: (2.43 KB)

Hi DJ Skri,

Thanks for the mapping! I can’t test it because I don’t have a CDJ-350, but I’ve added your mapping to the Mixxx repository so that it will be included in Mixxx 1.8.2 and Mixxx 1.9.0.

If you update the mappings just post about it here and I’ll see it.

RJ Ryan

Thanks, RJ :smiley:
I’ve added browser functionality now, too.

I didn’t detail anything when I first posted, so I’ll do that here . . .

Normal stuff:

  • Play/Pause
  • Cue
  • Tempo Slider
  • Seek (forwards/backwards)
  • Loop In/Out/Reloop
  • Jog Wheel (no scratching, though)

Abnormal stuff:

  • Track Previous/Next: just seeks to the start/end of the track
  • Beat Loop (+/-): nudges the hot loop end point forwards/backwards
  • Tempo Range: changes the tempo slider range between 3%, 6%, and 12%. The actual CDJ ranges are 6%, 10%, 16%, and wide.
  • BPM Lock: sync BPM

Browser stuff:
There is a little context sensitivity here, which doesn’t come through in the GUI (at least not with the skin I’m using).
The controller script keeps track of which area of the browser window you’re in, i.e. tree or tracklist.

  • Select Push knob: rotation moves cursor up/down, press (in the tracklist) loads the selected track, press (in the tree) changes context to the tracklist.
  • Back: changes context to the tree
  • Playlist: toggles context between tree and tracklist.

Unbound controls:
These are listed at the bottom of the XML files (with MIDI message codes), but I’ll add them here anyway.

  • Master Tempo
  • Vinyl Mode
  • Jog Dial (Press)
  • Time Mode [Auto Cue]
  • Display [Utility]
  • Eject (2.75 KB)

Would you mind making a “user guide” page on our wiki? Create it here:
(Look at the Stanton SCS.3d pages for an example: … user_guide)

hey I have two cdj-350 as well but i do not really get how i can use mixxx with it?

how exactly do I have to use these midi bindings u made?

yep. I’m gonna necro this thread, sorry bout that…

just did a bit of a test and an update on these midi mappings :slight_smile:
found some interesting flaws so i hope Mixxx Devs read their forums :wink:

[] Loops can now be halved and doubled on the unit
] Keylock can now be toggled on the unit
[*] Remapped the basic controls to the native midi instead of calling the script

[] Both players must be set to Midi ch 1 (on the player) for the program to read them
] Pitch fader needs to be set to inverted.
[] Pitch fader reads offset values at ±0 when inverted
] No option to toggle for vinyl or jog mode
[] Very sensitive jog wheel
] Still no HID

works great once set up on ASIO and loaded the midi mappings correctly =)

cheers to the original creator for the mapping and scripting! (2.2 KB)

Thanks for the updates DJ Tiger – I added your preset to the 1.11.0 release.

Hey Y’all, had some free time today and did some HID capure of my CDJ 350s using USBLyzer.

I know from previous talks that there is one dev that makes HID files. So here is my collected data. You will need USBLyzer to read the files but i could not post it with the files due to size limits so here is the link :smiley:

My email is amy dot ninetails at gmail dot com, please email the HID files for testing and i will keep you updated with findings and issues :slight_smile:

Love to work with you guys :slight_smile:
CDJ 350 Data.rar (363 KB)