Companion + UDK's

Just downloaded the latest version of both the MIDI and SCP modules.

Should UDK’s be working in the MIDI module?

When I record a macro of pressing a UDK I get

Companion controlling the console doesn’t work.
Feedback from UDK 1 works
The “Channel” is always “0” even if I record with a different UDK and can’t be changed.

I have access to a CL5 and QL5 for testing purposes. This is on the CL5


That’s odd. As you know, I don’t have a console to test these “console only” functions.

My guess is that the message SHOULD be:


What are you seeing on the Log/Debug page for “Recv:” when you press a UDK?

Pressing UDK 1 in any bank gives. One line is UDK down and the other UDK up

  1. 13:24:11 instance(yamaha-MIDI2): Recv: KeySelect/KeySelectSendModeForPanel Ch:00 Val:false
  2. 13:24:10 instance(yamaha-MIDI2): Recv: KeySelect/KeySelectSendModeForPanel Ch:00 Val:true

Pressing any other UDK gives

  1. 13:25:30 instance(yamaha-MIDI2): Recv: KeySelect/KeySelectSendModeForPanel Ch:00 Val:false
  2. 13:25:29 instance(yamaha-MIDI2): Recv: KeySelect/KeySelectSendModeForPanel Ch:00 Val:false


Do you have any functions programmed to that UDK?

Try manually creating a button with the command I suggested to see if it works.
Is the QL is the same?
Do you have the latest firmware on the CL and QL?

I may need to create a “debug” version that spits out more info as I need to check if the database of commands is messed up or if something else is happening.

UDK 1-4 are sending MIDI messages, using other UDK’s that do have actions assigned I see the result of the action and the info above.

I manually created a button with KeySelect/KeySelectUserDefineKey. The Channel selection is limited to 0, I tried values of 0, 1 and 2 and got the following however the value did in what’s recieved isn’t exactly correct. Compar the bottom vs top of each triplet of lines of the log.

My CL is V5.1, not sure I can get to the QL today but it’s probably similar. (V5 or V5.1 but not V5.5.x

I was able to try my QL5 (also on V5.1) with both a Mac and a PMC. My testing with the CL5 was on a different mac.

The both the PC and mac responded the same as the CL5 with the mac I was using for testing there.

I did notice that the Recv value seems to correspond to what was sent the previous time I clicked the button in companion in either computer. If I send Ch 0, Val 2 from one computer the next time I send any value from either computer I’ll get a Recv of 2

I can probably upgrade the QL5 easier than the CL5 due to politics and because it’s in a much simpler system that’s getting no use at the moment where the CL is still used for weekly worship services.

If you have some time and wouldn’t mind working together on this, I’d be happy to spend some time figure this out.
I’d need you in the same room with your CL or QL, a computer with TeamViewer connected to the console and internet and an hour or so of your time.

Send me a PM or click “Contact US” at the bottom of any page if you feel like you might have time coming up. I honestly don’t think I’ll be able to get to the bottom of this without assistance from someone with a CL or QL console.

Team Viewer is blocked where these consoles are. I’m sure we can come up with some way you can get in however. I’ll have to check what’s allowed.

Will probably be next week before I get that sorted but my schedule is generally pretty flexible. I’ll PM you once I have a way and a time.

Sent you a PM. I’d love to figure out what’s going on here, but in the meantime, remember that you should be able to do anything that a UDK can do with actions directly. Can you tell me why you want to “press” a UDK via Companion? (Again, I’m not suggesting that the module shouldn’t be able to do that, just trying to understand why you want to do that in your case)

The UDK is sending a MIDI command to Reaper to run a custom command there (Record if not recording, if recording set a marker). I’ve actually manged to get this working directly in companion using the latest official beta’s that include an updated reaper module that’s not in your builds.

This means the my immediate problem is fixed but I’m still happy to help with the big picture of UDK’s and the MIDI module.

Thank you for that information. PM me if you have time to investigate this further.

I’d like to explore this further. My objective is twofold:
I want to be able to turn on and off the oscillator (and stack other commands in a macro) which udk’s allow, minus the macro. I don’t believe that the scp allows control of the oscillator, and it doesn’t look like the midi module does directly, but being able to tell it to press a udk to make it happen is fine for me. Unless of course there is a better way.
The other part I’d like is to be able to retrieve function names from the udk’s - essentially avoiding having to put tape on the console. If not that’s fine, but making sure the feedback works to show which key is active and manually labelling the buttons in Companion to show the function names is good.
I won’t be in front of a console for a couple of weeks yet, and I don’t know how much actual free time I’ll have to play with it then, but should be able to do a bit of mucking around at least

SCP can’t operate the oscillator, but MIDI can. “SetupOscSetting/OscSettingOn” is the command.

Turns out the table from Yamaha had an error in it, and some of the KeySelect functions were off by 1. I’ve updated the data file and in the next build the UDKs will show up as “KeySelect/KeySelectUserDefineKey” like they’re supposed to.

Unfortunately, though, they don’t differentiate between banks A/B/C/D. The CH (which is a bit-map of the UDK #) is the same no matter what bank you’re on.

Again, though, I don’t know what the point is of having the SD if you’re not going to use the buttons on it and use UDKs instead… :confused:

Thanks for that, and the information.
I like the idea of stacking functions in a macro, even if they are udk reachable. Ideally some update from Yamaha would allow macros on the surface.

No worries. I’ll post when I get a chance to do a new build with the fixed Yamaha data file.

The build is updated. Give it a try with the UDKs and see how that works.
Handy tip for UDK Vals:
UDK 1 = Val 1
UDK 2 = Val 2
UDK 3 = Val 4
UDK 4 = Val 8
and so on. The UDKs are bit-mapped, so if you press UDK 1 & 2 together you get Val of 3. These numbers are for UDKs when pressed. When released you always get a Val of 0.

Because of this, the Macros may not be helpful for recording UDK messages.

Remember though, that the numbers are the same no matter what Bank you’re in (A/B/C/D)

Hey Andy, thanks for all the work on this! Been using it for a few weeks now to handle macro-like functions (big routing changes all done with one button). It’s simply fantastic.

I’m revisiting the UDK functionality; was this fixed in the 10/17 build? I’m working on a QL5 and can’t seem to make the UDKs do anything. I have the button set to KeySelect/KeySelectUserDefineKey, ch 00 val 1024. From what I understand, this should be UDK 11. Other functions work as expected.

Here’s a screenshot of the log :

Sadly, it seems that the CL & QL do not respond to UDK messages. They send them, but they don’t do anything when they receive them.
Nothing can be done about that, since that’s a Yamaha thing.