Numark Total Control

Hello all,

Been messing around a lot with my new Total Control. I wasn’t happy with the default mapping in Mixxx, so here’s my attempt at making my own. I’m sure there’s plenty of room for improvement, so suggestions are welcome.

Here’s an overview of what I’ve crammed into it (red labels are what the light indicates, black labels are control functions):

A few things that probably need explaining:

-I attempted to implement a “scratch mode” that changes the jog wheel rates to let you sort of do a scratch while the deck is playing, but it needs a lot of work. Sounds better when paused.

-There are two cue modes, normal and simple. Both start playing from the cuepoint when “CUE ||” is pressed. In normal mode it stops when released and snaps back to the cuepoint, while in simple mode it keeps playing.

-The BPM lights don’t always work well. They just flash when the level of the track gets close to peaking, so noisy songs make it light up way too much.

-This has only been tested in Mixxx 1.7.2 on OSX; I can’t get some things to work in the 1.8 beta yet.

Let me know what you think!

EDIT: This is now the 2nd version. I made some changes to the mapping scripts:

-Fixed a bug where the cue buttons stopped working when a track ends.
-Adjusted the response curve of the jog wheels to something that feels more natural (to me, anyway).
-Tweaked scratch mode to sound better both playing and paused.
-Fixed embarrassing typos in the source code. :slight_smile:

Just download the attached file here to get the latest version
Numark_Total_Control.zip (3.53 KB)

I’m happily using your MIDI maps and scripts with current trunk (1.8b) and everything works but for the LED lights.

Smashuu (and anyone else interested in tinkering): Check out the new, dead-easy scratching offered in 1.8 for MIDI controllers: mixxx.org/wiki/doku.php/midi_scr … scratching

Let me know how it works for you.

With the current 1.8 trunk version (rev 2509+) also the LEDs should work as expected. For the bug report see: bugs.launchpad.net/mixxx/+bug/614629

I am currently working on an updated mapping for Mixxx 1.8. It is based on the Traktor layout, maybe I will also make another one for the Cue layout.

So far I have made the following changes:

  • Changes for the Traktor layout (Directory button, Moved effect controls, Fine pitch control instead of balance, Tap button, …)
  • Fixed cueing (to work as expected?)
  • Only accelerate jog wheels while playback
    I like to have more exact jog wheels on slow movement while paused.
    I would like to hear your recommendations on this. Maybe we can also combine both so only very slow movement (e.g. < 3) is not accelerated or we could also use a different curve for acceleration.
  • Looping
  • Scratching with new scratching interface (I don’t know if it can be tuned further?)
  • Experimental extended looping mode
    If activated it automatically adjusts the loop length to 1, 2, 4, 8, 16, … (2^x) beats.
    Furthermore there are buttons for halving and doubling the loop length.

I want to further improve the extended looping mode to allow moving the entire loop around and to change the loop length in beats with the jog wheel.
Moreover I also have to clean up the scripting a bit.
If someone is interested in testing the mapping I would be very happy. You can contact me via PM or IRC.
I just don’t upload the mapping here yet as it’s in heavy development and changes hourly :wink:

I’ve installed th Total Control midi controller and it works fine, but lights does not works.

So I suppose you are currently using Mixxx 1.8.0b2 with smashuu’s midi mapping? What operating system are you using?

I have nearly finished the mapping for 1.8 and most likely I will post it tomorrow.

First of all I want to thank Smashuu. My mapping is based on his work.

Moreover I will be happy about any comments and new ideas.

Here is an overview (blue labels for LEDs, red and green labels for extended loop mode - see below for details):

  • BEAT LEDs flash when deck output hits >80% (not perfect)
    ** END LEDs light up to warn that track has <25% remaining

Both decks have there own scratch button (SCRATCH) and can be switched independently.

There are two cueing modes (SIMP. CUE):

  • In normal mode pressing CUE || jumps to the cue point and stops. Holding down the button starts previewing (-> jumps back to cuepoint on release).
  • In simple mode pressing CUE || always jumps to the cue point and doesn’t change the play state.

Looping in general:
The loop out button generally has the reloop/exit function. It only gets the loop out function when the loop in button was pressed previously.
So the normal use case is pressing loop in then loop out to set a loop. When the loop is set the loop out button lights up. It now has the exit function.
If you exited the loop you can either press the loop out button to reloop or start over with a new loop by pressing loop in.

If the extended looping mode (EXT. LOOP) is activated the loop length is automatically adjusted to …, 1/4, 1/2, 1, 2, 4, 8, 16, 32, … 2^x beats.
Furthermore the pitch bend +/- buttons get new functions:
*** Short press (<1sec and without moving the jog wheel): (red label)

  • Pitch bend -: halve loop length
  • Pitch bend+: double loop length
    *** While holding down the button: (green label)
  • Pitch bend -: Loop can be moved forward/backward with jog wheel.
  • Pitch bend +: Loop length can be set in steps of full beats using the jog wheel.

I hope this isn’t too complicated.

One drawback of the extended looping mode is that it only works correctly with 44,1kHz sample rate and stereo audio files.
This is because it is implemented entirely in midi scripting, which usually isn’t the right place for at least parts of the feature. Maybe someone has an idea how to get the sample rate and the channels of a deck’s audio file, but I think the better idea would be to integrate this feature directly in Mixxx.

One thing I haven’t included yet is the hot cue function, simply because I had no idea how to map it.

So far I only have tested the mapping with Mixxx 1.8 trunk version on Linux.
It won’t work with pre-1.8 versions because it uses many new features of 1.8 like scratching, looping, …
Numark_Total_Control_for_Mixxx_1.8_v1.zip (5.46 KB)

firstly i would like to thank you for the awesome mapping

secondly a few suggestions swapping the depth and delay control knobs just so they follow some sort of order might make it less confusing.

and i am using this on a mac lights dont work and the added looping features dont seem to respond???

much appreciated

I agree. Please submit a wishlist bug and/or blueprint so we won’t forget to eventually take a look at it.

Just map to [ChannelN] hotcue_X_activate
(See https://mixxx.discourse.group/t/solved-no-midi-response-of-mixxx-1-8-beta2-and-scs-3d/10737/1 and scroll down to “And coming up in v1.8”)

Hey lxp and Smashuu,

Thanks for your combined work on this mapping. I’ve added your Mixxx 1.8.0 mapping to the 1.8 release. Thanks!

If you would like to update them to make any additional changes before the release, please let me know.

Cheers,
RJ

It would be great for Mixxx users if we could get some documentation of our mappings on the wiki, one page per controller, with documentation of how to use the controller with each existing mapping.

I’ve started out by making a page for the RMX mixxx.org/wiki/doku.php/hercules_dj_console_rmx

Please consider documenting this controller as well and link it from hardware compatibility page mixxx.org/wiki/doku.php/hardware_compatibility If you copy from existing pages it’s not too much work.

Hi, thank you for including my mapping in Mixxx 1.8.

I recently put a little time into updating the mapping to Mixxx 1.10.

Changes:

  • Key lock buttons are now mapped to key lock instead of reverse [Mixxx 1.9 feature]
  • The second deck’s scratch button is now used to toggle quantize function of both decks [Mixxx 1.10 feature]
  • Correctly implement beat leds [Mixxx 1.10 feature]
  • Updated extended loop mode to get sample rate from track (it still silently assumes stereo tracks) [Mixxx 1.10 feature]
  • Adjust second function timeout for pitch bend buttons in extended loop mode to 500msec

Todo:

  • Soft takeover (couldn’t get it working) [Mixxx 1.10 feature]

Here is an overview of the slightly modified mapping (blue labels for LEDs, red and green labels for extended loop mode - see below for details):

  • END LEDs light up to warn that track has <25% remaining

The scratch button (SCRATCH) activates the scratch mode for both decks.

There are two cueing modes (SIMP. CUE):

  • In normal mode pressing CUE || jumps to the cue point and stops. Holding down the button starts previewing (-> jumps back to cuepoint on release).
  • In simple mode pressing CUE || always jumps to the cue point and doesn’t change the play state.

Looping in general:
The loop out button generally has the reloop/exit function. It only gets the loop out function when the loop in button was pressed previously.
So the normal use case is pressing loop in then loop out to set a loop. When the loop is set the loop out button lights up. It now has the exit function.
If you exited the loop you can either press the loop out button to reloop or start over with a new loop by pressing loop in.

If the extended looping mode (EXT. LOOP) is activated the loop length is automatically adjusted to …, 1/4, 1/2, 1, 2, 4, 8, 16, 32, … 2^x beats.
Furthermore the pitch bend +/- buttons get new functions:
*** Short press (<500msec and without moving the jog wheel): (red label)

  • Pitch bend -: halve loop length
  • Pitch bend+: double loop length
    *** While holding down the button: (green label)
  • Pitch bend -: Loop can be moved forward/backward with jog wheel.
  • Pitch bend +: Loop length can be set in steps of full beats using the jog wheel.

The quantize button switches the quantize mode of both decks. If you manually change the quantize mode to differ between the decks, the button starts blinking to reflect this state.

Maybe someone has an idea, which buttons to use for hot cueing. I can’t think of a good usable solution.

Another thing is that I couldn’t get soft-takeover working. I don’t know if it isn’t working in the build I used or if I made a mistake. I would appreciate it if someone could help me.

So far I have tested the mapping with the Mixxx 1.10 pre-beta build from 13th June (builds.mixxx.org/builds/release-1.10.x/) on Linux amd64.
Numark_Total_Control_for_Mixxx_1.10_v1.zip (5.59 KB)

Thanks lxp! I’ll include your updated mapping in 1.10.0 final.

Hi everybody
I’m trying to use my Nummark Total Control using Mixx (Mint system). I downloaded “Numark-Total-Control-scripts.js” but I don’t know how I can use it.
Could someone help me? I’m not expert in scripts, installations and so on… thanks

You need both the XML and JS files. https://mixxx.discourse.group/t/how-to-use-user-submitted-controller-mappings/15143/1