Generic Remote does not really work with NRPN?

For some parameters you need more resolution then 127, so you need a controller like Sysex or NRPN. NRPN (and RPN) are actually found as control parameters in the Generic Remote editor.
Here is an example: I try to remotely set up the midi send output of a midi track. So, my midi i/o ports are both connected to the generic remote and to an external program (max msp in this case) that is able to send and receive midi commands as required. The control parameter is set up to send and receive and control the parameter Midi Mixer > Selection > Midi Send 1 Output and it is set to receive and send NRPN, where I set the midi channel to 1 and the max value to the highest value possible for NRPN in order to have more resolution then 127.
Now, when I manually select the midi send output within Cubase, I receive a combination of three midi CCs on the Generic Remote Midi output: It is (as expected) CC 99 and CC 98, both sending the value 0 (these are just used as an identifier which NRPN parameter is meant) and then a combination of 2 more CCs, CC 38 and CC 6. The combination of those two values would add up to the value.
This part works, however, when I send the exact same combination of commands back to Cubase’ Generic Remote Midi input, nothing happens. The parameter does react, when I set it up as a normal midi CC, but that way the results of controlling this parameter are totally messed up, as they show way more midi ports, than actually available, including some audio channels, which is kind of strange … So, I thought with NRPN I could at least search through all of those results and fond the desired ones.
Does anyone know who to remotely set these parameters like “midi send output”, which are available in the generic remote, yet don’t seem to work as expected?
Other than that: on another thread I found out, there are “hidden features” in the generic remote, that are only available by directly writing into the xml code, which I am perfectly capable of doing. Is there something like a summarizing thread of what is possible that way? So far, I only found “soft takeover”.
And finally - @Steinberg: Why haven’t you fixed any of these obviously broken features within the generic remote? This would actually be an update with while, even if it may not look as sexy to amateur people! What Cubase is missing in terms of Remote Control capabilities is a unique Control Protocol (something like OSC). Mackie Control sucks, as it only works with banks of 8, hence, it is perfectly inadequate to do anything as selecting a desired track! You would simply need a protocol like an open source version of EUCON. The Generic Remote actually is almost that, but it misses some essential features.

Unfortunately, Generic Remote is a neglected component of Cubase and, indeed, there is a bug in receiving 14-bit MIDI messages (RPN/NRPN). However, you can modify the underlying XML file to make this functionality work again:

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

Best regards

Miloslav

Hey Miroslav, thank you so much! That is exactly what I have been looking for. I will look into it.

Unfortunately, it still does not work. At least not with the parameter I am trying to set:
I want the Generic Remote to set the Parameter “Midi mixer > Selection > Send 1 Out”
So, I set my Generic Remote like this:

<?xml version="1.0" encoding="UTF-8"?>
<remotedescription version="1.1">
<ctrltable name="Standard MIDI">
<ctrl><name>Set Send Port</name><stat>2</stat><chan>0</chan><addr>0</addr><max>16383</max><flags>19</flags></ctrl>
</ctrltable>
<bank name="VST 1-16">
<entry ctrl="Set Send Port">
<value><device>Midi Mixer</device><chan>-2</chan><tag>10034</tag><flags>0</flags></value>
</entry>
</bank>
<bank name="VST 17-32">
<entry ctrl="Set Send Port">
</entry>
</bank>
<bank name="VST 33-48">
<entry ctrl="Set Send Port">
</entry>
</bank>
<bank name="VST 49-64">
<entry ctrl="Set Send Port">
</entry>
</bank>
</remotedescription>

Note, the flags is usually set to 3, but according to the link you provided, I add 16, so I manually changed that value to 19 and saved that in text edit and import it in Cubase (with hitting apply afterwards). After having done that, when I send the exact same NRPN back to the midi in of that generic remote device that got sent after selecting a specific midi port on a track in Cubase, it sets the out port to “not connected”, instead, which actually correlates with the same NRPN with the values CC 6 = 0 and CC 38 = 0.
I hope you understand what I mean … could I miss something here or is the NRPN rather not working with that specific parameter on receive? It does kind of work when I just use a regular CC with 128 resolution, but this way I do not have enough resolution in order to be able to pick any port remotely …

I can’t see any problem with your XML file since my configuration is basically the same and it still works for me. However, I’m using the 14bit NRPN messages mainly for Track Quick controls, so I haven’t tried to control the particular parameter you mentioned (Midi mixer > Selected > Send Out).

Thus, I would suggest you to try out the following two things:

  1. Whether the 14bit NRPN messages work at least for some “ordinary knob”. If not, please, try an arbitrary NRPN address other than “0”. But I believe that controlling some standard parameters will work for you as well.
  2. Then, setup the control for the parameter of your interest (Midi mixer > Selected > Send 1 Out) and start sending various values for the given NRPN from Max MSP in order to see how Cubase react to a wider range of values.

Nevertheless, I suspect that Cubase is actually not prepared to control such a context-dependent parameter like “Midi mixer > Selected > Send 1 Out”. In my opinion, the problem with this parameter is that the list of actual available MIDI ports can be changed anytime, therefore, there is no fixed range of values for the target control.

Best regards

Miloslav