[All versions] Generic remote definitions : NRPN messages recognition broken...

I would like again to expose an ever persisting issue with the Generic remote definitions : who knows ? Maybe it will finally be taken into account… At its present state (and it’s been like this, since at least Cubase 6…) There is no way to be able to get the Generic remote panel to recognize NRPN messages, though it is essential when using, as me, a MIDI controller with endless knobs.

Case study : I want to use an endless knob of my MPD32 controller to nudge right or left the cursor position in Cubase. NRPN messages allow this, normally, as they can have both increment or decrement values.

  • The first problem is that there is no command which allows the cursor position to be nudged in both direction : we have either Nudge Cursor Left or Nudge Cursor Right. From which, we have to define two controllers for the knob (one for nudging left an the other for nudging right), which is completely contradictory to the way NRPN messages are working.
  • As I am stubborn, I go through it, defining these in the GR - 52 being the address used in the endless knob definition set in the MPD32, this one transmitting NRPN as 5 messages, each of them being strictly compliant with the MIDI standard, with CC96 as increment / CC97 as decrement, and recognized as so with Cubase MIDI monitor :
Upper pane : 
K01A          Ctrl-NRPN          1          52          1
K01B          Ctrl-NRPN          1          52          1
Lower pane : 
K01A          Command          Transport          Nudge Cursor Left
K01B          Command          Transport          Nudge Cursor Right

It doesn’t work, so I change the 52 value with 96 for the first, 97 for the second to get this :

Upper pane : 
K01A          Ctrl-NRPN          1          96          1
K01B          Ctrl-NRPN          1          97          1
Lower pane : 
K01A          Command          Transport          Nudge Cursor Left
K01B          Command          Transport          Nudge Cursor Right

It doesn’t work either. So, I try to tick the Learn function. At the moment I touch the knob, the Ctrl-NPRN vanish, I get this as the first line of the upper pane, and the knob increases the cursor position to the right, no matter in which direction I turn it :

K01A          Controller          1          98          1

98 is the second CC component of a NRPN message, supposed to give at the receiver the defined address of the control message (52, in this case, see above) : it doesn’t vary in an incremental or decremental way. IOW the whole NRPN message recognition by GR is broken. The only way to make the whole thing work is to define these, as a workaround (without the Learn function, of course) :

Upper pane : 
K01A          Controller          1          96          1
K01B          Controller          1          97          1
Lower pane : 
K01A          Command          Transport          Nudge Cursor Left
K01B          Command          Transport          Nudge Cursor Right

…and there is an added issue : as the controller address in not recognized by the GR, I have to define each of my available endless knobs (theoretically, I have 3 banks of 8 ones) with different MIDI channels. As there are only 16 channels available, I gave up since a long time trying to use the last bank… Consequently, I need to have this in the upper pane, just for my first bank (each controller defined with two lines and having a different MIDI channel) :

K01A          Controller          1          96          1
K01B          Controller          1          97          1
K02A          Controller          2          96          1
K02B          Controller          2          97          1
K03A          Controller          3          96          1
K03B          Controller          3          97          1
K04A          Controller          4          96          1
K04B          Controller          4          97          1
K05A          Controller          5          96          1
K05B          Controller          5          97          1
K06A          Controller          6          96          1
K06B          Controller          6          97          1
K07A          Controller          7          96          1
K07B          Controller          7          97          1
K08A          Controller          8          96          1
K08B          Controller          8          97          1

At the end, I am still wondering in which case the Ctrl-NRPN setting is supposed to work… :confused:

I think it has been broken for 20 years. It is quite hard to find anything in generic remote that works.

^^^^^^^
This

Indeed, and I have given up since countless years to use the GR definitions to control anything that could be tied to a precise mixer strip : I use only Selected in the device column instead and this, since Cubase SL/SX days, I think.

But I stumbled on the NRPN issue when I got my MPD32 controller, circa Cubase 6.x days, and I did it partially for this : to control several Cubase functions which can’t be reduced in a 0-127 values range, from which the need to use efficiently NRPN messages with the MPD32 endless knobs.

Thanks for chiming in, both of you. Now let’s hope that someone in the Steinberg team will also do…

:laughing: Don’t worry, MIDI 2.0 will fix everything

And we still have to EXPORT those Generic Remote files IF we want them saved . What happened to just SAVING it to the project, convoluted for sure. I remember the first time I LOST all the settings I did in that dang thing

Midi 2.0 will make the even the basic things non working. Some part seems to good and addresses part that should be very useful daw control. Other’s is a total disaster. For example the new CVM, it sort of the new version of note on/off.
There they have attribute type. First one is 0, that says that attributes is not used. Second one is Manufacturer Specific (0x01) “Interpretation of Attribute Data is determined by manufacturer”. WTF! The hole idea with a standard is that I could buy gear from one manufacture and combined with a other. Secondary they have not address the most basic musical aspects. They still has not added multiple notes. Typically basic for a guitar player. Play an E on first and second string. For a midi guitar this might be a attribute. On which string is played. But you can’t here. You can do unison as you can with midi 1.0. But you can’t point out witch note is released first, or if you start to bend one of them. I think it sucks badly that it can not even cover what a intermediate guitar player can do on a guitar. And they seems not even to have a clue.

Try deleting a slot in the upper pane. No matter which one is selected, the second from top is deleted. Well that’s what happens here anyway. If I hit the - (Minus) button to remove a GR, when I hit the + to add one it just gives me the one I just removed, not a clean slate.
I have Bome MT Pro running into the GR and often when I add a slot Cubase crashes. It really is showing its age I think.
It would be great to get the NRPN fixed. Assigning a knob to the cursor would be awesome. If it snapped to the grid it would be doubly as awesome.
Naming and saving the GR with specific projects is a no brainer. Maybe these ideas would be better in the FR forum. :arrow_right:
Cubase 10.5.0.68 64bit 2020.4.11 11.35.27.232.zip (375 KB)

Time for a bump… :neutral_face:

… and thanks to you all for chiming in. It’s time to do something about the Generic Remote implementation.

Ive got NRPN working here just fine, but you have to change the “flags” value manualy
You can do this using a xml editor or a simple texteditor (like notepad on windows)
I’ts a bug in the generic remote.
It’s a known thing on the forum, sadly there is no mentioning of this in the cubase help.
If you do a search on NRPN in the forum among other posts explaing this you will find this helpfull link:


http://dejongh.dk/wiki/doku.php?id=cubase:control_automation_with_midi_cc#how_to_use_14bit_cc_in_remote_controls

How to use 14bit CC in Remote Controls
There is, indeed, a bug in Cubase which affects the 14bit NRPN messages on the receive side, however, this bug rests in the Generic Remote GUI rather than in the underlying control functionality. For a workaround, open the Generic Remote setup XML file, find the corresponding CTRL item in the CTRLTABLE section, and add 16 to the value of the FLAGS attribute. This is the trick which makes the 14bit NRPN messages being received properly. The Generic Remote GUI sometimes does not write the correct value of the FLAGS attribute into the XML setup file.

An example: If I set “Fader 1” to NRPN-Ctrl with the “R” (Receive) tag and the maximum value of 16383 then the corresponding item in the XML file looks like that:

Fader 1 2 0 1234 16383 1 Now, when I change the FLAGS value from 1 to 17 (1+16) and reimport the file into Generic Remote then Cubase starts responding to the incoming 14bit messages correctly! What a magic!

Modifying Remote Control Devices
Cubase only register changes to a Remote Control device when the device is saved. So until the bug is fixed remember to save your Remote Control device when you change it.

Also, for getting relative NRPN to work you can find these posts:

Ha ! Very interesting, thanks. I don’t have the time, presently, but will test this as soon as I can and report back here, how it’s been going. But somehow, it’s the confirmation that the GR setup window is buggy, when NRPN messages are involved. Martin, maybe you could report back this to Steinberg, in case the crew isn’t aware of the issue (I doubt it, but still…).

About your two forum links, I retrieved in them some of my posts made a looooong time ago… :sunglasses: :mrgreen:

I was fearing it and, indeed, it doesn’t work, using the 17 value for the parameter, combined with 2 for the one. The knob that was working with my workaround to nudge the cursor no longer acts, even when putting again as 176, as it was initially.

It was probably to be expected, as the hack is essentially aimed to allow Cubase to recognize 14 bits controllers, which can be transmitted with NRPN messages but it’s not mandatory. Basically, the NRPN messages allow to increase or decrease a given parameter of a specific instrument which isn’t in the list of the controllers of the MIDI specification, but also, and all the interest of them are also here, they allow to infinitely increase or decrease a parameter with a specific address, thanks to their 5 bytes structure.

The irony of it all is that the NRPN messages transmitted by the MPD32 are perfectly recognized by Cubase MIDI monitor (screenshot below).


So, back to the beginning… Steiny ? :confused:

I’m convinced the steinberg crew is aware and that it is part of the company’s strategy, just like broken automation and other bugs that they call features.

Could be, but we’ll never know, anyway. So, just in case…

Bump ! :arrow_right: