Mixxx Pioneer Ddj- Sx3

Posted on  by
Mixxx Pioneer Ddj- Sx3 Rating: 5,7/10 810 votes

If you haven't already heard, Mixxx 2.0 was released the other day. Among many new improvements are included mappings for the Pioneer DDJ-SB and DDJ-SB2. Support was also added for another cheap controller that may interest beginners, the Electrix Tweaker which costs only $100 with a free case but doesn't have a built-in sound card. May 20, 2018  I had an issue with my Pioneer DDJ-SR. I wasn't getting any audio even though the needles where jumping and the unit was powered up. I fixed/solved this issue/problem that alot of. The Pioneer DDJ-SB is an all-in-one 2 deck USB MIDI controller with a built in soundcard. Mixxx allows it to control 4 decks. It is compatible with Mixxx since version 1.12.

Description

This is my attempt at mapping the Pioneer DDJ-SR for Mixxx.

This was originally written for Mixxx v1.11.0, but I'm in the process of updating it to Mixxx 2.0 as of January 2017. This is very much a hobby project though, so updates may be intermittent.

How do I use it?

If you just want to get your controller working with with Mixxx without bothering about the details much, then do the following:

  1. Download the following two files:
  2. Copy these to the [Mixxx Directory]/controllers folder. This will probably be one of the following locations:
    • Windows: C:Program FilesMixxxcontrollers
    • Linux: /usr/share/mixxx/controllers or /usr/local/share/mixxx/controllers
    • OS X: /Applications/Mixxx.app/Contents/Resources/controllers/
  3. Make sure your Pioneer DDJ-SR is plugged in, turned on, and set up to use DJ software other than Serato (see your user manual, or the Controller Setup section below)
  4. Open (or restart) Mixxx, and enjoy using your (semi-functional) controller

Controller Setup (important!)

By default, your Pioneer DDJ-SR will be in 'Serato-mode'. This means that some functionality quite simply won't work in Mix until you turn it off (for example, keylock for the pitch controls). To change this, do the following.

  1. Turn off the Pioneer DDJ-SR
  2. Hold down Shift + Play on the left deck, and turn the power on.
  3. Turn the left deck's keylock on.
  4. Restart the controller.

To use the controller with Serato again, repeat this process and turn the keylock back off again.

What's implemented?

  • General
    • Cross-fader
    • VU Meter LEDs
  • Deck Controls
    • Volume
    • Play / pause
    • EQ
      • Highs
      • Mids
      • Lows
      • LPF / HPF Filter
    • Cue button
    • Sync button (although this works differently than in Serato; still to be fixed)
    • Performance Pads
      • Hot Cues
      • Rolls
      • Sampler (without LEDs however)
  • Jog Wheels
    • Scratching
    • Pitch Bending

What's missing?

  • Some button LEDs
  • Performance Pads:
    • PAD Plus functions
    • Slicer
    • Sampler LEDs (but sampler itself works)
  • Effects
  • Slip
  • High resolution knobs

I'm a developer. How do I build this?

In order to make things a bit easier to understand and modularised, I've written a basic build process for this mapping. This allows me to do things like define all the midi-mappings in JavaScript, and then let Node build up the final XML file that Mixxx understands. In order to do this, you'll need to do the following:

  1. Install NodeJS if you haven't already
  2. Get all of the node dependencies for this project:
    1. Open a console, command prompt or powershell.
    2. Navigate go to the project folder.
    3. Enter npm install
  3. Build the project
    1. Open a console, command prompt or powershell.
    2. Navigate go to the project folder.
    3. Enter npm run build

The final results of this will be placed in your bin directory. They will also be copied to your process.env.LOCALAPPDATA + '/Mixxx/controllers' folder, so Mixxx should detect them immidiately as well.

You can also optionally run npm run watch, which will rebuild the project any time you edit a JavaScript file in the source folder.

Development Tips

  1. Run Mixxx from a terminal with the --controllerDebug --developer arguments. This gives you all debug output there from your controller, enables the Developer menu, and also provides you with additional development information in control tooltips.
  2. Mixxx does not recognise console.log(..), but you can use engine.log(..) instead.
  3. You do not necessarily have to restart Mixxx for it to detect changes, but it sometimes helps ;-)

****** IMPORTANT NOTICE *******

There is a new fork available for this project: https://github.com/jardiacaj/mixxx

I recommend installing this one and start testing this and give feedback to jardiacaj on github

This version has way more functionality then my version. Check it, test it. Thanks

Description

This is a basic mapping for Mixxx for the Pioneer DDJ-SB (2 decks). The code is based on / forked from hrudham's project: Mixxx-Pioneer-DDJ-SR (https://github.com/hrudham/Mixxx-Pioneer-DDJ-SR). I've used the same methods but stripped it a bit so it works for my DDJ-SB and also so the code is understandable to me. I like to understand what I implement. So I might have deleted some cool functionality from the original project ..

  • It requires v1.11. Certain functionality will NOT work in previous versions.
  • Forum Thread on mixxx.org -> http://www.mixxx.org/forums/viewtopic.php?f=6&t=6886

How do I use it?

If you just want to get your controller working with with Mixxx without bothering about the details much, then do the following:

  1. Download the following two files:
    • [PIONEER-DDJ-SB.midi.xml] (https://github.com/wingcom/Mixxx-Pioneer-DDJ-SB/blob/master/Pioneer-DDJ-SB.midi.xml)
    • [PIONEER-DDJ-SB-scripts.js] (https://github.com/wingcom/Mixxx-Pioneer-DDJ-SB/blob/master/Pioneer-DDJ-SB-scripts.js)
  2. Copy these to the [Mixxx Directory]/controllers folder. This will probably be one of the following locations:
    • Windows: C:Program FilesMixxxcontrollers
    • Linux: /usr/share/mixxx/controllers or /usr/local/share/mixxx/controllers
    • OS X: /Applications/Mixxx.app/Contents/Resources/controllers/
  3. Make sure your Pioneer DDJ-SB is plugged in and turned on
  4. Open (or restart) Mixxx, and enjoy using your (semi-functional) controller

What's implemented?

Ddj Sx3 Review

I've only implemented what I need and 'know of' for now..

  • General

    • Cross-fader
    • Volume ControlChannel, Master and Headphones
    • Manual FilteringHigh, Mid and Low
    • Playlist browsing
      • Back : switches between Tracklist and Sidebar
      • RoatrySelector : browses through the Tracklist of the Sidebar
      • RotarySelectorClick : Expands or Collapses the Sidebar item
      • Load : loads the selected track in the Left or Right deck
    • Sampler Control
      • Push : Starts playing the sample from start
      • Shift-Push : Stop playing the sample
    • Pitch Control
      • Inverted. With my current skin I can not get this to work as intended even if I change the setting
  • Deck Controls

    • Play / Pause / Cue

      • Cue: Sets the Cuepoint when not playing, Jumps to Cuepoint when playing
    • Vinyl Mode

    • Keylock

    • Precue'ing

    • Hotcue Control (4 can be set)

      • Push: Sets the hotcue and lights up the LED of the pushed button.
      • Push again: Turn of the hotcue point
    • Autoloop Control

      • 4 Autoloops can be set (no shift use on Performance Pads yet) on: 1 beat / 2 beats / 4 beats and 8 beats
      • If you want other beatloops you need to change the xml and the LoopInterval Enum in the Init() function
    • Manual loop Control (still buggy)

      • In : Sets in point
      • Out : Sets out point
      • Exit : Not working yet. Pretty annoying :)
      • 1/2 : Cut loop in half
    • Jogwheel ControlWhen playing in normal mode, only touching/turning the side will result in pichbend. All otherinteractions are disabled in this mode.

    • NORMAL MODE (when playing)

      The truth is, with iZotope RX, you can fix all sorts of previously impossible problems. Here are six tips to get you out of a dialogue bind. Read More How to Use Dialogue Match Nov 05, 2019. IZotope’s Dialogue Match gives your scenes environmental and spatial continuity with just a few clicks from a simple interface. Learn how to best use. How to Use Music Rebalance in RX 7 Sep 13, 2018. Isolate mix elements from a single track with the new source separation module in RX 7, Music Rebalance. Easily reduce vocals in background music for clearer dialogue, learn how to remove vocals from a song, or separate vocal stems from a track for easy remixing. Izotope rx online.

      • Pitchbend using the side of the Jogwheel
    • NORMAL MODE (when not playing)

      • Scratching / Seeking when turning the Jogwheel surfaceI've switched this to Scratchmode, it makes seeking by using the jogwheels quicker.

    For the next mode I've tried to make the DDJ-SB behave like a vinyl as much as I understand of it.

    • VINYL MODE (when playing)
      • Brakes when touching the Jogwheel surface, Starts again when releasing.
      • Pitchbend using the side of the Jogwheel
    • VINYL MODE (when not playing)
      • Scratching / Seeking when turning the Jogwheel surface

What's missing?

  • Shift Functions of the Performance Pads
  • Manuel loop bug
  • Reversed Pitch Control
  • Channel Filters
  • Crossfader Automatic Filter
  • Effects (Not available in Mixxx I think?)
  • Decks 3 and 4

I will definitly fix the Manual Loop bug and as I go along and need more stuff I might implement the exta functions (Performance Pads Shifts) same goes with deck 3/4 which, atm, I don't need those.

Pioneer Serato Ddj Sx3

If I stumble upon good code to do the filtering, I will probably implement that too. Suggestions are welcome.