Mapping fro DJ Control Instinct P8

Hi. I’m a Dj and Linux User, so i’m a quite dummy for programming and something similiar…

I’m owner of the new P8 from Hercules.

Someone have do some midi map preset for this controller?

In the official site of HC i’ve found the midi map pdf. But i don’t know how to use it.

Is avaiable the files midi mapping for DJay PRO, VIRTUAL DJ, Tracktor, is possible to edit one of these for make it work on MIXXX?

copia di (254 KB)

I don’t think anyone has made a Mixxx mapping for this controller yet, so it will likely be up to you to do that unless someone else comes along. Mappings cannot be converted to work for other DJ programs because they all use completely different formats for their mapping files. Controller mapping documentation is on the wiki.

Hi Pura Milonga,

I own a Hercules DJ Control Instinct P8 since more than half a year and in January 2017 I’ve started to bring together some code for the MIDI mapping for this really nice unit. I didn’t finished yet because I don’t have the time to spend on it. So I upload the mapping as is (not completed) but still working nice for the main functions. If someone have some time to spend on improving and completing then is welcome :wink:

Please note that the code included in the JavaScript program is mostly a copy/paste work taken from other programs found in this site and used for other similar units. So credits for the code goes to other persons :wink: (4.98 KB)

Hi filipiff.

Thank’s for your work.

I’ve try your mapping and leave a feedback.

I’ve tried the mapping.
It work only with the keyboard, the knobs and the sliders not working.


I have this controller. (got it… this morning)
As I’d like to use mixxx with it instead of the Hercules program, I installed the 2 files. (Thank you for them, btw !)
browse button, Equalizer, deck volume(s), fader, mode they all work OK.
Everything else does not work, scratch button for example. Or eventually works a bit, SYNC for example : you can SYNC, but no way (afaik) to simulate the left and right mouse to modify.

I tried to use the learning function, but it’s not that easy… i’m a noob in that kind of thing.
For example, could not program the GAIN buttons.

BTW, the main problem with that controller is that it does not make any difference between GAIN and VOLUME.

I have now a mapping xml file that works quite well, even introducing Gain control and eventually AutoDj controls.
I’m just wondering how to share it, it is only a zip compressed file, no idea how to upload it somewhere (I’ve got a github account, seems it created a repository, but it is not at all clear what I must do after that…)

For now, just post the ZIP file as an attachment to a post in this thread. The Contributing Mappings wiki page has more details about how to set up Git to submit it for inclusion in Mixxx.

OK, file is here.
I did not modify at all the JavaScript program. Then everything that was working with Piff files will work the same way. (I only changed the file mane to have “Hercules” at the beginning). JOG parameters for example.
Xml :
This file will NOT work with 4 decks : I used the shift function to modify knobs
with any Shift key:
Shift browser explorer containers
Push Shift Browser open/close a container
Browserruns between files (if any in the container)
Push Browser load file into the first free slot (not playing)

Shift with knobs :

left Shift high : deck A GAIN
right Shift high : deck B GAIN
left Shift mid : master gain
right Shift mid : Head Gain
left Shift low : Balance
right Shift low : Pre/main

any shift+scratch starts/stop AutoDJ
as I use it for classic tango balls, I decided to use the MODE FX for it. It may be better to use those buttons for effects, later…
using LEFT FX MODE :
KP1 cross fade
KP2 skip next
KP3 load file into AUtodj (bottom)
Shift KP1 load file into preview and start
Shift KP2 stop/start preview

Mode Sample
KPn start n
Shift KPn stop n
(loop and other parameters must be introduced by mouse)

I hope it will help some peoples, if I made any mistake tell me please. (Very often I use right/left on the wrong way !)
Hercules (5.61 KB)


I’ve tested the last version by Hubert.

Slider and cross fader work fine and the knobs also fine.

I don’ understand this

" using LEFT FX MODE :
KP1 cross fade
KP2 skip next
KP3 load file into AUtodj (bottom)
Shift KP1 load file into preview and start
Shift KP2 stop/start preview

Mode Sample
KPn start n
Shift KPn stop n
(loop and other parameters must be introduced by mouse)

Because KP1 ( may be Key pad ?? ) … if is possible better description of the buttons and pads/knobs for easy understand.

I report some malfunction:

The picht change ?( where is it ? )
I cant change the functions between LOOP FX SAMPLE CUE
Loop Knobs do nothing
The A & B pads not work
But most important, audio output not working.
By configuration the hardware in preferences, when primary output is"… P8 channel 1-2" and / or Herphones is "… P8 channels 3-4 " an error message occour
“Generic Error.”.
Only the PC output or “systemdefault” still work and play.

I’m running a Linux 4.13.0-32-generic (x86_64)
Compiled #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018
C Library Unknown
Default C Compiler Unknown
Distribution Ubuntu 16.04.3 LTS.

I hope this feedback is one help to solve the trobles.

Regards, Massimo

Hello all,

I got this controller recently and worked on the mapping a bit. The JavaScript is the one by Piff with only minor modifications. The XML is done from scratch trying to reproduce the functionality as documented by Hercules as far as I could:

  • Play, Cue, Sync, crossfader, volume faders, equalizer knobs, PFL, PFL+/-, Load A/B
    work as expected

  • Shift + Play: Play/Stutter

  • Shift + Cue: Go to cue and stop

  • Shift + Sync: Pitch reset

  • (Shift+) Browser button: Move focus

  • Browser knob: Vertical movement

  • Shift + Browser knob: Master gain

  • Wheel jog: Pitch bend

  • Shift + wheel jog: Pitch change

  • Scratch: Enable scratching

  • Shift + Scratch: Toggle AutoDJ

  • Loop button: Toggle loop

  • Pads in Loop mode:
    [*] Pad 1: Toggle 1 beat loop

  • Pad 2: Toggle 2 beat loop

  • Pad 3: Toggle 4 beat loop

  • Pad 4: Toggle 8 beat loop

  • Shift + Pad 1: Set loop in

  • Shift + Pad 2: Set loop out

  • Shift + Pad 3: Halve loop

  • Shift + Pad 4: Double loop

  • Loop knob: Halve/double loop

  • Shift + Loop knob: Move loop

] Pads in FX mode:

  • Pad 1: Toggle effect 1

  • Pad 2: Toggle effect 2

  • Pad 3: Toggle effect 3

  • Pad 4: Toggle effect unit on channel

  • Loop knob: FX Super

  • Shift + Loop knob: FX Mix

] Deck A Pads in FX mode: AutoDJ

  • Shift + Pad 1: Fade now

  • Shift + Pad 2: Skip next

  • Shift + Pad 3: Add to bottom

] Deck B Pads in FX mode: Preview 1

  • Shift + Pad 1: Load track and play

  • Shift + Pad 2: Play/Stop

  • Shift + Pad 3: Fast rewind

  • Shift + Pad 4: Fast forward

] Pads in Sample mode:

  • Pad X: Play sample X

  • Shift + Pad X: Stop sample X

] Pads in Cue mode:

  • Pad X: Activate hotcue X

  • Shift + Pad X: Clear hotcue X


Some further comments:

  • Hercules uses shifted controls for decks C and D. However, not all functions may be mapped for the additional decks and the soft-takeover did not work well despite adding all the affected controls to the JavaScript code. Thus I have commented out the corresponding mappings.
  • The FX mode mappings deviate from Hercules documentation as scripting would be required.
  • The pitch reset was reassigned to Shift + Sync because the jog touch detection is rather sensitive and would reset inadvertently.
  • Neither normal nor scratch mode react to the wheel when a touch is detected. (todo)
  • After scratching the sound remains somewhat distorted until disabling scratch mode. (reason unknown)
  • Virtual knobs respond rather slowly to turning of the encoder knobs.


As time permits I plan to implement an improved mapping making use of the new Components JS.

Hercules DJC (7.48 KB)

Hello all,
I’ve correct a typo of STi and uploaded to my github mixxx repo: … ontrollers

Files: … 8.midi.xml … scripts.js


I rewrote the JavaScript file to use the wheel touch MIDI message and clean up the code. Please test this and confirm everything is still working.
Hercules DJ Control Instinct P8 Mixxx (6.7 KB)

With the new 2.1.5 version, some [Playlist] Instructions do not work any more.
This is for the Browser knob.
Old values were :

            <description>Browse Folders (shift+knob)</description>

            <description>Browse Tracks (knob)</description>

Now I use :

            <description>Move focus forward or Backward (shift+knob)</description>

            <description>Browse Tracks (knob)</description>

They do not work exactly the same way.

the SHFIT-KNOB allows to switch from left column to right, turn it 1 notch up or down.
The KNOB works like UP or DOWN arrows.

With a few modifications it runs :slight_smile: but only with Mixxx 2.0.0 on U…studio 16.04 LTS, on 18.04
with 2.1.5 / 2.2.0 there are faults. (no script-functions runs)
Message is every time: no variable DJControlInstinctP8 found

on Mixxx 2.0.0 this works (with some other fixes in code):
var DJControlInstinctP8 = {};

Found on QT :
var DJControlInstinctP8;
shout be the right way but it is’nt

var DJControlInstinctP8 = “DJControlInstinctP8”;
makes the same :frowning:

the running on 2.0.0 as possible (still in work):
Hercules-DJ-Control-Instinct-P8-scripts.js (3.09 KB)

Add on: it could be a problem with the qt5 on 18.04 because Mixxx 2.0.0 has the same problems :frowning:
Mixxx 2.1.5 could not be installed on 16.04 :frowning:
i’ll try it later

I get the same error message (no variable DJControlInstinctP8 found) on Windows 10 and 7 when using Mixxx 2.2.

Same things on Mac OS with v2.1.3 and v2.2

Hello Guys and Thank you for your work on the mapping.
In first i got the Question what a kind of release is it what you use?
In Second i think sry i use 2.2 in this version it will not work on my P8, Mixxx tells me an error of the script.
I hope you can fix it one time but btw thanks for it now i have a path to find my way on it.

Greats Fred_404

l.323 [PreviewDeck1]fwdPreview 1 FF (FX Shift+Pad 4)



Hercules DJC IP8.midi.xml (52 KB)