How Do You Use Mixxx

Description

  1. How Do You Use Mixed Reality
  2. How Do You Use Mixer Streaming
  3. How Do You Use Mi Paste

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.

Mixxx for PC – Mixxx is a Audio and Music Production apps that you can running into your Windows PC. This free app was create by Mixxx Inc. This free app was create by Mixxx Inc. And now, updated to the latest version at This year.

  • Mixxx is free and open-source software for DJing. It is cross-platform and supports most common music file formats. Mixxx can be controlled with MIDI and HID controllers and timecode vinyl records in addition to computer keyboards and mice. Mixxx is a DJ Automation and digital DJ performance.
  • Mixxx performs sample rate conversion on the fly. Note that the quality of the re-sampling depends on the setting of the pitch behaviour. Having key lock disabled (“vinyl emulation” in 1.8.x and below) will use linear interpolation.
  • A step by step tutorial on how to set up MIxxx, adigital DJing software that allows mixing music using a personal computer. Mixxx is the only free cross-platform vinyl control software and has the most advanced MIDI/HID controller support.
  • 1/ Start up Mixxx then go to Options Preferences Live Broacasting. You will see a window similar to the above image. 2/ Under the Type drop down menu select the type of stream you are using (either Shoutcast or Icecast). 3/In the Host space enter the IP of your stream.

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.

How Do You Use Mixxx

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:

How Do You Use Mixed Reality

  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

How Do You Use Mixer Streaming

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 ;-)

Yes. There are two ways to do it depending on what you want to achieve:

How Do You Use Mi Paste

  • Direct deck outputs: Direct deck outputs is a feature of Mixxx 1.9.0 onwards. Set the outputs in Options→Preferences→Sound Hardware and you're done. If you are on 1.8.x or below, the trick is to force Mixxx's master output to play back the left/top track, and the headphone output to playback the right/bottom track. (Each track will come out a separate output, suitable for plugging right into an external DJ mixer.) The way one does this is by sliding Mixxx's crossfader all the way to the left, and turning on the headphone cue for the right channel. This forces the first track to play out the master out, and the second track to play out the headphone out. (Since both outputs are now going straight into an external mixer, you'd use the headphone cue on the mixer as well as it's crossfader.) Using an external mixer is also described briefly in the Threadbox tutorial.
  • Software mixing as an additional sound source: If you want to mix on-screen but need to integrate with an external mixer (such as when playing CDs and/or records as well, or in a radio studio) you can plug the headphone output into one channel of the mixer, and the main output into another. Then bring the channel fader of the headphone one all the way down on the mixer and set it to play in your headphones all the time (thereby adding Mixxx's headphone bus to the mixer's.) Then use the other fader (with Mixxx's main output) when you want to bring Mixxx's output into/out of the main mix.