MIDI *output* mapping djay pro 2 - controller LEDs

When I’ve previously created a MIDI map for Traktor (sorry!), I’ve been able to set MIDI out messages for feedback from the application. For example, to light (or flash) LEDs that show when a track is playing, act as VU meters, display the crossfader position, or indicate the function of a control.

Is it possible to do anything like that with djay pro 2 for Mac?

This approach has allowed me to use the Novation Launchpad as a DJ controller, with each pad lit by default to a colour that corresponds to its function - and those colours changing (or flashing) according to what the I’m doing in the application (either via the controller or directly).

However, with djay pro 2 for Mac, I have a dull, grey controller.

When I set a button to Crossfade to Left, for example, and enable the MIDI out, I can get an LED to light while the button is pressed. But it goes out as soon as I let go, and it doesn’t illuminate if I move the crossfader manually.

The controller templates must have this functionality. But is that available to us when we create our own MIDI maps?

Couldn’t get any response on this directly from Algoriddim either, so here’s what I’ve managed to find out…

Obviously, it’s possible to add a MIDI OUT to any MIDI IN that we create - so we can get an LED to illuminate to reflect, say, the play status. EJ HELU gives an example of how to do so in this video: https://www.youtube.com/watch?v=6QbTN…

Unfortunately, that doesn’t help for things that don’t have a MIDI IN - such as VU meters.

However, Jay Neural dug about in the native mappings to find an additional OUTPUT section (not accessible from the djay Pro interface) which allows VU meters to be mapped: https://maps.djtechtools.com/mappings…

However, that still leaves a few things that we can’t do…

  1. We can’t see to filter this down to specific values - as would be needed to emulate a VU meter with a set of MIDI-mapped LEDs (such as on the buttons on a Novation Launchpad).

  2. We can’t see to map things like the cross-fader position.

Since both these features are provided by Traktor, it’s disappointing that Algoriddim has omitted them. Hopefully, they’ll come in a new version…

Thanks Roger.

1 Like

Thanks for the comment. Yes, I’ve been using the Advanced section to add MIDI OUTs where I have MIDI INs. But it’s adding MIDI OUTs to things for which there aren’t MIDI INs that continues to be a challenge.

For example, if I assign a MIDI IN to Crossfade to Left, I can assign a corresponding MIDI OUT. So, I can press a button to Crossfade to Left and have an LED illuminate to say that I’m doing so.However, if I manually crossfade to the left, that LED will not illuminate.

By contrast, Traktor has a dedicated MIDI OUT for the crossfader position. And using its Controller Range, users can filter this to specific values. In that way, they can have, say, a row of LEDs light up according to the LED position. However, there seems to be no way to do anything similar in djay Pro 2.

Thanks again. Yes, VU meters seem to be the one type of output-only mapping that is available. And from Jay Neural’s work (see above), I discovered that we can map mixer.masterLeftMeter and mixer.masterRightMeter as well as the turntable monometers.

However, it’s still a little limited. This maps well onto a dedicated hardware VU meter, by less well onto an arbitrary series of LEDs. Again, Traktor’s Controller Range is useful here - allowing, say, high values to be mapped to a red LED, low values to a green LED, and middling values to a yellow LED.

Will definitely check out your site though, to see if there’s anything else I can use…

Thanks. But the key issue is that djay Pro doesn’t seem to support as many output “signals” as other software (such as crossfader position, above).

You totally can enable MIDI out. In the .djayMidiMapping file just add

<dict> <br>
 <key>keyPath</key> <br>
 <string>turntable3.cuePosition2</string> <br>
 <key>midiChannel</key> <br>
 <integer>6</integer> <br>
 <key>midiData</key> <br>
 <integer>33</integer> <br>
 <key>midiMessageType</key> <br>
 <integer>1</integer> <br>
 <key>output</key> <br>
 <dict> <br>
  <key>midiMinValue</key> <br>
  <integer>1</integer> <br>
 </dict> <br>
</dict>   

(note the tag, and the corresponding .

You can do this in the app too under the Advanced section for each mapping in the MIDI -> Configure [X] menu.

Also, if you want to map VU meters (assuming your controller picks up the level via a specific MIDI channel/note with the velocity as the level), use the array in your .djayMidiMapping file.

You’re not able to configure this from the app, only manualy by editing the .djayMidiMapping file.

e.g.

<key>outputs</key>   
<array> <br>
  <dict> <br>
      <key>controlType</key> <br>
      <string>control</string> <br>
      <key>keyPath</key> <br>
      <string>turntable3.monoMeter</string> <br>
      <key>midiChannel</key> <br>
      <integer>8</integer> <br>
      <key>midiData</key> <br>
      <integer>18</integer> <br>
      <key>midiMessageType</key> <br>
      <integer>3</integer> <br>
      <key>output</key> <br>
      <dict></dict> <br>
  </dict> <br> </array>   

for more see my site https://irumble.com/djaymidimapping/

1 Like

If you want something for output only, the mapping details need to be in a separate section, not in the main section in the .djayMidiMapping XML file.

e.g.

<br> <key>outputs</key> <br> <array> <br>
   <dict> <br>
       <key>controlType</key> <br>
       <string>control</string> <br>
       <key>keyPath</key> <br>
       <string>turntable3.monoMeter</string> <br>
       <key>midiChannel</key> <br>
       <integer>8</integer> <br>
       <key>midiData</key> <br>
       <integer>18</integer> <br>
       <key>midiMessageType</key> <br>
       <integer>3</integer> <br>
       <key>output</key> <br>
       <dict></dict> <br>
   </dict> <br> </array> <br><br>

(sorry, just saw your other post about Jay’s mapping mentioning what I just said)

totally. You’re right.

Hi Robb, good point…
I am not developper, just beta tester but I will upload your comments and links created to developers for them to see (not many around this place).

If feedback, I will comeback to you…Roger