MIDI Mapping - condition - modifierX

Hi all,
on “MIDI Mapping” directory (on osx: /Applications/djay Pro.app/Contents/Resources/MIDI Mapping" i found a lot of mappings for console devices.

If i open these files (for example “Denon DJ MCX8000.djayMidiMapping”) i can see a lot of “condition” and “modifier” (LIKE TRAKTOR) , like:

key>condition</key
string>modifier4 == 10</string

But this modifier1, modifier2, modifier3, etc, is NOT mappable.

it’s as if it were the console sending these “modifiers”, but what does it correspond to?
Is it a trivial “program change”?
I don’t see a “modifier” midi message, normally they are :

  • CC
  • noteon
  • noteoff
  • ProgramChange
  • Pitch Bend
  • Aftertouch
  • SysEx

Which of these midi messages do you think translates into a modifierX?
Because in this way we can do multi-modifier mapping and it would be a fantastic thing as it would also work on apps (ios) !! simply take the .djayMidiMapping file you edited and drag it into the djay directory on your iPhone/ipad …

I have a “traktor s2 mk3”, which also contains modifiers:

  • modifier1 (values ​​0,1,2,3)
  • modifier2 (values ​​0,1,2,3)

I absolutely need to understand how they are activated.

condition → modifier1 == 3
this is for “turntable1.instantFx1”
in traktor i need to click on “sample” key for instantFX key access .
therefore it is as if the modifier1 = 3 is set when the “sample” button is clicked.
I have to check which midi message type is sent when the “sample” button is pressed.
Tonight I’ll try to figure it out.

5 Likes

:popcorn:
I hope you get some answers

1 Like

I don’t think I understood the principle behind modifiers. Can someone explain to me how this benefits the user?

I’ll try to simplify:

Suppose you have a device that only has 4 buttons:
pad1 pad2 pad3 pad4

you can normally perform 4 functions example:
pad1 : turntable1.instantFx1
pad2 : turntable1.instantFx2
pad3 : turntable1.instantFx3
pad4 : turntable1.instantFx4

now suppose that pad4 becomes a “modifier1”, i.e. a key similar to “shift”

you will no longer be able to have 4 combinations but 6:

pad1 : turntable1.instantFx1
pad2 : turntable1.instantFx2
pad3 : turntable1.instantFx3
pad4(modifier1) + pad1 : turntable1.instantFx4
pad4(modifier1) + pad2 : turntable1.instantFx5
pad4(modifier1) + pad3 : turntable1.instantFx6

now suppose you have 64 pads available like the “akai mpc mini” (or other midi device), as well as having another 9 free pads (64 + 9 = 73 pads) and 9 volume sliders,
and in the “9 free pads” you can activate 9 modifiers (modifier1, modifier2, modifier3…etc… modifier9)

How many possible combinations would you have? no more 73 pads and 9 sliders,
but (64 X 9) 576 pads and (9 X 9) 81 sliders in a single device!

Impressive, isn’t it?

1 Like

HI, BAD NEWS!
I performed the tests on Tracktor S2 MK3, the reference template is the file that is installed when the app is installed, that is:

/Applications/djay Pro.app/Contents/Resources/MIDI Mappings/NI Traktor Kontrol S2 MK3.djayMidiMapping

This template contains 2 modifiers: modifier1 and modifier2.

I recovered the midi messages that activate the modifier, by clicking the “samples” button on the left of the device, two very normal notes are sent:

note_on channel=1 note=12 speed=127 tempo=0
note_on channel=1 note=12 speed=0 tempo=0

And this was very strange because these two messages, in learning mode from the app, are ignored!

So I thought: surely it must be in the app’s source code, there’s no doubt about it!

And in fact it is like this, the logic of the modifiers, modifier1, modifier2, modifier3, modifier4, etc… occurs via source code, in the application binary.

The identifier that activates these modifiers is the tag used in the “NI Traktor Kontrol S2 MK3.djayMidiMapping” file:

<key>customClassName</key>
<string>NITraktorKontrolS2MK3</string>

I searched hex in the binary and found references to NITraktorKontrolS2MK3, modifier1, and modifier2.

Battle lost then.

If the device is not supported by the application, MODIFIERS cannot be used,
only the generic modifier remains (only one) which is found in leraning mode on General → Controller shift key.
1 and 1 only.

SORRY… I tried… all that remains is to only use devices supported by the app (if you want more modifiers), or settle for just 1 modifier.

The one with the most modifiers seems to be the “Reloop Mixon4” , it has the record with 13 modifiers keys from native app!

1 Like

for the moment, this is a good mini dj system :face_holding_back_tears::star_struck:

Well damn. Sure would be nice if this could be fixed. It works on the iPad with no issues. I was using the Samples section for skip + and -, key + and -, and the stem controls…

@Massimo_Ardizzone Did you find out what the Modifier values equate to? After a very quick look and play, it seems Modifier1 relates to left deck functions and Modifier2 relates to right deck functions.

I’m not sure exactly what these modifiers do but having trawled through the S2Mk3 mapping, I discovered what the various button combinations do.

Modifier1==0 = HOTCUES
Modifier1==1 = Left Shift + HOTCUES >> Saved Loops
Modifier1==2 = SAMPLER
Modifier1==3 = Left Shift + SAMPLER >> InstantFX and BounceLoops (Roll)

Each Modifier then has either a performance pad action and an associated Shift+Pad action, so 64 actions in total per deck. Is that what you’ve found? I’m not sure if I’ve seen them all documented anywhere, hence me digging to find out what they all do.

What’s frustrating is you cannot see at a glance whether a deck is in Hotcues or Saved Loops for example, as the HOTCUES button only has two states (lit/unlit). Annoying.