I have recently started using Cubase 7 and I have it connected to a midi controller.
In version 5 (haven’t tried with 6), midi messages from the controller directly controlled the various parameters.
In version 7, there seems to be a sort of soft takeover enabled by default on the controller, meaning that if I modify the value in the system, the controller does not modify the parameter unless controller reaches the same value.
This is a very nice feature for “dumb” controllers, to not cause jumps in control.
However, my controller accepts transmitted values, setting itself correctly and does not resend the current value to Cubase, causing the following messages to be ignored.
Is there a method to disable this feature?
Positive. It’s a OSC-to-Midi bridge I am coding (full 14-bit NRPN support, woo!).
I see the midi hitting Cubase, but it is only modifying the value once it gets to the current value.
P.S. I also wrote a soft-takeover plugin for Midi-OX to use with a standard midi keyboard, but it is currently not enabled.
Soul-Burn, do please post back with what’s going on. Though I doubt I will, I would like to have soft-takeover to use this little korg controller I have. It is pretty useless without it. (also I’m just curious!)
I’m not sure what controller you are using, but there are usually two modes for CCs and NRPN. The first is absolute where the device sends the current value. Then there is relative, where the controller has several ways to send the message. There is the +1/-1 method and the “local cache” method where the value is stored locally and only sent to the host once the value breaks the threshold of the current value. There are variations on that, but I’ve only ever seen it be a controller side function when the threshold method is used.
Which means, you normally have to set the device to absolute mode.
I am using programmatic direct access to the midi channel.
The midi message arrive at Cubase (the midi activity meter on the F2 floaty bar).
In generic controller, the Relative flag is not marked, so it is absolute.
This has worked in Cubase 5 with the exact same set-up.
Update:
The going up or down doesn’t matter when the controller is jumped to a value rather than smoothly going to it. This again only refers to the case where I already changed the value in Cubase, causing the “discrepancy”.
A solution was found!
In Cubase 5, in order for NRPNs to work, the 4th bit flag should have been enabled in the generic remote (seen in the XML). In Cubase 7, it seems the NRPN bit is the 5th bit, while the 4th bit is… soft takeover!
Why is this hidden from users I don’t know, but it’s great news for me not wanting the takeover, and others who do want the takeover.
This means any plain old generic midi controller can have this function. To wit- when your cubase mixer fader is at say, 60 and your hardware fader is at 20 the mixer fader will not jump when you start moving the hardware fader. Instead the Cuabse fader will start moving once the HW fader reaches the Cubase faders value.
There was a glimmer of hope for an improvement in the generic remote implementation in C7.0.5
Turned out to be just a switch to the standard menu box/search field.
If you guys have “the knowledge” re xml editing for the remote, any info would be gratefully accepted
Where’s that xml for cubase 5 and NRPN Soul-Burn mentions? Or do you mean the generic generic remote xml? I’ve been trying to get NRPN to work with mpk88’s endless knobs that send inc/dec messages, to no avail.
I’m talking about the generic generic remote XML.
About the NRPNs, it’s generated by the OSC-to-Midi bridge I wrote to work with TouchOSC (or any other OSC client).
I don’t do anything with inc/dec messages.
Check the MPK manual if you can set the rotaries to receive the “transmit” data from Cubase and send updated data.
Or if you can have them send “1” for counter-clockwise and “127” for clockwise and set in Cubase to have the control set to Relative.
According to the mpk manual, you can just set the lsb and msb (for the address?). Then the device sends inc/dec messages, depending on the direction you turn the knobs, it doesn’t allow for other messages.
Haven’t been able to map that to cubase in the programme (it shows no lsb/msb values or decimal equivalent, instead only a “max value”, which seems to accept numbers larger than 14bit, making it even more confusing).
Soul-Burn, could you be more precise about this ? AFAICS, this is this the related line for the knob that I am trying to set as an endless one in my MPD32_GenericRemote.xml definition file :
K 11 (B3)20015
So, I guess that for making the 4th or 5th bit of the flag value active, I should add respectively 8 or 16 to it, as it seems that the value displayed here is a decimal one. Sadly, it doesn’t work either and it seems that, using the ‘Device setup…’ window, the max value reachable is 7 ( = coded on only 3 bits). So, any precision welcomed, as I’m struggling to find the magic combination that will make my endless knobs working in Cubase…