cascaded presets / loopback devices

Hi Can you please help me create cascaded presets / loopback devices? Basically, how can I route the output of a preset into another preset?

annexed project:

  • preset 1: converts key "q" to a CC sent to BMT1_OUT
    • MIDIOX can see the messages being generated
  • preset 2: manually routes any midi message / any CC from BMT1_IN to BMT2_OUT
    • Nothing is processed here


thank you

PS: I've made a quite large BOME mapping able to emulate higher resolutin messages out from traktor. Issue is now extending this to multiple devices.


Hi, this can be done but not with Bome MIDI Translator Virtual Ports which are one way.

One end of a Bome MIDI Translator Virtual Port must be MIDI Translator and the other end needs to be a different application or a device (not MT Pro).

You can do it with Midi Yoke, LoopMIDI or LoopBE which are MIDI pipes if you would like, however this would be less efficient because a MIDI pipe performs 2 system calls for every message.

I would recommend instead to use the global variables in your rules to calculate the final CC message you want instead of creating 1 CC and then converting to another CC. Is there a reason, you need an interim CC message for this?


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

please see above

the reason is modularity and providing optional features to users.

  • one mapping converts my DDJ-1000 to Traktor
  • second mapping emulates the DDJ-1000 for DDJ-SX2/SZ/SR/etc users
    • pioneer has two different midi codes: one for serato controllers, another for rekordbox controllers
    • this allows me to maintain a single mapping for all pioneer devices. Right now I have multiple mappings in parallel
  • third mapping emulates the SX2 on the keyboard. This is for testing without the HW, but I can imagine being a viable keyboard-only solution

I appreciate the BOME design choice of BMT devices being one way, as it avoids loops.
But could you please consider any solution for this avoiding yet more third party softwares? maybe using the MIDI router?
I ask this because I receive questions from users everyday about installation. Up to a month ago, I had a single traktor mapping to instal, and this was already painful; Now I have traktor+BOME; soon I will have Traktor+BOME+some_midi_pipe

this is an example of the issue people have:

thank you


I will make your request. In the meantime, something like this might help.

There are 2 presets

  1. DDJ-1000 Native – MIDI message coming in here will handle your native mapping (with your rules applied)
  2. DDJ-SRX to DDJ-1000 – This will take input from a different source (in my case my DDJ-SB3 and set global variables ga for incoming MIDI channel, gb for incoming CC and gc for incoming value and then output a one shot timer “map cc to ddj-1000)

In the first preset, I added a translator (Special CC Mapping) with incoming value of the one shot timer ( my DDJ-SB3)

In the rules we look at the value of ga (MIDI channel) and gb (cc number) and then use rules to map to a different outgoing MIDI channel and number

I combined the channel and CC number to make the rules a bit easier for the mapping.

In this case I am mapping an incoming 14 bit CC into a separate outgoing 14 bit CC.

If there is no match, I exit with no outgoing action. This one translator allows for multiple CC mapping

I could have easily created different translators for every CC and just skipped outgoing action if the incoming values did not match what I wanted for that translator.

I hope you find this helpful!


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




Did this help? I DID make your request in addition to this workaround however.
Have you worked with the DDJ-SB2? I have one and cannot get the deck lights to light up. Everything else seems to work.

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

thanks for the feature request.
the workaround definitively works, but i’m finding it increases complexity a bit, and leads to redundant code/translators.
using loopBE the performance decrease is marginal because this is for the pads
(the jogs still go directly)

i dont have an SB2, which has no RGB colors.
I have an SX2, SZ and 1000. All these support full RGB colors pads

OK, thanks for responding. I was just hoping I could figure it out as Pioneer has not been able to help me with this.
Glad LoopBE works for you in the interim although I DO understand the pain of having to load up yet another tool.
I use this solution pretty extensively when I have a project for someone that I don’t have their controller. I end up first building a project using my available controller as a “emulator” for the target application I’m developing. Of course I rely on the documentation and the user to know if I got the emulation right. I just can buy every controller there is out there. If the target controller is cheap enough, I save the hours and just buy the target controller. (not very often though).
Thank for your patience!
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

On the SZ, you need to send something on “dj app connect” to light up the jog, and then send play and cue commands on channel 12 as well

There, the firmware will do the needle rotation, etc.

Please see my mapping on channel 12 to the exact commands going out

On the sb2 it only has documented the “dj app connect”. Maybe the other commands are the same

PS: my reason to move to BOME was to support the screens of the ddj-1000, as not even needle rotation is done by the firmware. This was a great success.

My objective is now backport the latest mapping to the SX2 as well, using the emulation method to merge everything in a single mapping

Thanks! I missed that when reading the SB2 doc. I will give that a try.


Hi Steve,
Added my BOME experiences to this seperate thread

I’ve added this post to the advanced mappings index: