Channeling CC event from channel 1 to all other channels

Hello, I have a small fader controller based on Arduino that I bought from ebay. It transmit CC1, CC11 and CC2 on channel 1.
I want to use BMT to duplicate the CC input to all other channels.
Here is my setup

CCs Propagation.txt (3.2 KB)

The issue is that Cubase detects an infinite loop when moving my fader (+ it only transmit to channel 1). To break the loop I need to disable the script, or disable BMT 1 OUT from my midi port inside Cubase

The way you have it set up is that it will go to all defined output devices so that is probably why you are getting a MIDI loop. You should use device selection probably at the preset level.

For more information about device selection, see this tutorial.

Also, I suggest you use aliases instead of physical devices. That way if you change your configuration around, it will be easier to reassign a few aliases.

You can learn more about aliases from this tutorial.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanks, doing preset specific ports solved the issue in MIDI OX.
But in Cubase, I am still transmitting in channel 1 only … for some reason

It’s like Cubase still read the Arduino Leornado Input

Are you on Windows or Mac.

You should only be reading and writing MIDI with Cubase from a Virtual MIDI Port otherwise on Windows you will not get anything or on Mac, you will get messages from both the Virtual Port and the device directly.

Edit: Oh if you are using MIDIOX you must be on Windows. On Windows only one application or device can open a given MIDI port at a given time. You should be using a virtual port only and doing routing and translators through MT Pro only. You should not even be using MIDI OX as it is not needed and just adds complexity and confusion.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hello, I am on windows, I only used MIDIOX momentarly to check what was going on. I wanted to see if BMT preset was correctly doing it’s job, and it was.

The issue is on Cubase end, for some reason, Cubase communicate directly with my fader (Arduino Leornardo) and thus I only have CC arriving in channel 1.
Arduino leornado is unchecked, and BMT1 virtual in and virtual out is checked on cubase, so I don’t really get it.
My other devices work well with BMT and cubase, they get translated

I opened Bome Midi Translator before* Cubase, as usual, so that BMT grabs the midi device first.
The weird thing is that the port is still functionnal in BMT, it shows ‘open’ not pending. So it doesn’t detect a conflict. It’s like it’s open on both cubase and BMT, which is impossible on windows as you said

Interesting. I would think the Arduino exposes the MIDI as a serial port and not a MIDI device port. Are you using serial to MIDI in your Bome Project file for this device, or is there a sketch on the board that you are using that exposes the device as a MIDI device to Windows? I’d be interested in seeing the sketch if you could share it.

Normally, even though a port may show as ‘Active’ in Cubase, it is ignored if unchecked.

Here is a few other methods I put together for broadcasting CC MIDI channel one to other MIDI channels.

Translator 0.0 does brute force raw MIDI on all channels so you really only need 1 translator.

Translator 0.1 uses 16 perform statements (MT Pro Ver 1.9.1) to send multiple messages. It is used in conjunction with translator 0.3.

Translator 0.2 does the same as 0.1 except it uses uses a looping method within the translator to handle the perform rules.

Translator 0.3 is the perform translator itself and in this case takes 3 parameters. The new perform feature allow you to pass values between translators thereby not needing to consume global variables as timers require.

To test all methods you can enable either 0.0, 0.1 or 0.2 and watch how they work.

I’ve only identified one input device and one output device in this example and used the preset for proper device routing.

CC-to-All.bmtp (2.6 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Looking at your MIDI thru paths, it looks like you are path from your Arduino to BMT 1. Try removing it and only allow translators to pass through MIDI on that path. My guess is that this is where the MIDI is coming from in Cubase.

I see that Leonardo supports native USB with the MIDI to USB library. Interesting, I only have the old Arduino boards that are serial only.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Ok I’ll try your solutions as soon I get home
You mean I should remove the routing involving Arduino on the Router right section ?

Serial to MIDI : I don’t know what’s that so I’ll say no i don’t use it

One more thing, sometimes I have a ghost BMT task hanging on task manager, that’s impossible to end, similar to this : Is there a way to force quit MIDI Translator - #4 by SteveC
The only way to end it is to unplug this arduino controller. Something seems to be a bit odd with this controller indeed. I always had to make sure to not activate the OUT port in cubase for this controller, otherwise I’ll get midi freezing or crash or looping

I’ll try as soon as I get home

Yes

As the original post suggests, it is likely a hung MIDI driver. In this case from your Arduino. So you probably need to unplug it or reset it to clear the problem.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz


image

removed any path involving arduino on the router
trying your script
it’s still transmitting only on channel 1 on cubase

Post your project. I will have a look.

So you want Cubase CH 1 CC’s to go to all channels on which devices?

Also why to you have My Controller and Arduino both on input and Application and Bome MIDI Translator 1 on output. They are the same devices so you will get duplicate input and output. Just use the aliases.

Finally you have multiple translator selected so you will also get duplicate messages there. Just choose the single method that you want to use.

You should view the log window and check MIDI IN and MIDI OUT so that you can see what is happening.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

After some further testing, it’s working with the translator 0.0 and 0.1 enabled.
and with the setup attached in screenshot

Cubase track had to be set on "ANY" on the midi channel config (it was set to 1, for some reason).

I removed unnecessary routings, I just kept Arduino leonardo → BMT Virtual Out 1

I need to train myself on aliases !! for now I stick to physical ports

edit : I was asking myself about creating the same preset to duplicate CCs from channel 2 to all, chanel 3 to all, etc. But I don’t think I need that if my controller is transmitting to all 16 channels no matter what happen in cubase and It will cause issues

would gladly pay you a coffee to thank you for your time, any paypal ?

Not necessary but appreciated. My PayPal email address is below.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanks @bensmir.hbs !:+1:

1 Like