Rotary Knob for Program Change translated to function Rekordbox Browse

Sir / Madam,

I have a translation challenge currently with MIDI Translator Pro.

I am using Rekordbox (Pioneer DJ), and have a MIDI Controller (Worlde Easy Control 9), which has one Endless Rotary Knob that sends Program Control changes (0-127). This knob would be ideal for the ‘Browse’ function within Rekordbox, via Rekordbox’s MIDI Mapping. However, Rekordbox’s MIDI Mapping function does not detect Program Control MIDI changes, so it would be great if MIDI Translator Pro could resolve this Rekordbox short-fall.

Using MIDI Translator Pro and some basic translation, I have managed to get the knob partially working to ‘Browse’ in Rekordbox, but it only scrolls up the Tracklist regardless of whether the knob is twisted left or right.

What Rules / Outgoing setup do I need within MIDI Translator Pro to translate these Program Control MIDI changes as an Endless Rotary Knob, for up/down browsing within a Rekordbox tracklist that could contain ~500 entries?

Thanks in advance, Neal.

Hi, if you mean the big knob on upper left, it sends CC 0-127 however it it passes 127 on right turn it continues to send 127. If it passes to the left it continues to send 0. This is an ideal candidate to set up as real simulated relative encoder.

There are a few common types of relative encoders and I’m not sure which one Rekordbox uses.

Two’s Compliment

Control value is 1 or greater when turned one way, and 127 or smaller when turned the other.

7F=-1 7E=-2 etc.


Binary Offset

Control value is near 63 when turned one way, and near 65 when turned the other.

Ala MIDI Fighter Twister

Both are similar but I’m going to point out an emulation of the first but with 127 (0x7F) only for left and 01 only for right.

You can change these to 63 (0x39) and 65 (0x41) if you would like.


Control Change on MIDI CH1 Control 10 (0A) with any value, set value to qq


// Right
if qq>ga then rr=1
// Left
if qq<=ga then rr=127
if qq==0 then rr=127
// Right
if qq==127 then rr=1
// Set for next iteration


Control Change on MIDI CH1 Control 10 (0A) with value rr


If instead you want to output keystrokes, you will need to split this into two translators where the first one only outputs for instance an up key if there is positive movement and the other skips output.

For negative movement only the negative translator should send the down key and should skip output with positive movement.


Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

Thanks for the prompt reply Steve.

I’m on the road at the moment, and will be back at base to try your advice/tips in a few days. I’ll let you know how I get on.


OK, Neal. I’ll be here.

Great Steve – that sorted it (with Incoming set to Program Change).


A post was split to a new topic: RecordBox not recognizing Pioneer Product