Cubase fader jumps when I use BCR to make change in level

12 posts / 0 new
Last post
harleysr
harleysr's picture
Cubase fader jumps when I use BCR to make change in level

Hi:
I am pulling my hair out. I built 3 presets with 24 faders in each, to
allow quick mixes of 72 channels. Everything works fine, in terms of the
corresponding knobs addressing the on-screen faders, EXCEPT:

I can't get the BCR to "sync" with the levels on the screen. The Cubase
faders jump to whatever is on the BCR, as soon as I touch one of the
lower 24 encoders. I have tried entering NO at the Default option,
setting the default to 0, 64, 127.... you name it. Whatever is in that
field (as shown in the editor) is what the Cubase fader will jump to.

This renders the preset useless, as it completely destroys a mix. I have
tons of profiles built in Cubase's Generic Remote (running off of preset
1) and they don't exhibit this behavior. I can control any plugins, the
Cubase channel editor, transport.... all from the BCR. I'd like to be
able to use the other 31 presets, though.

I have studied the various parameters and tested/observed their behavior. I've also tried all of the modes, to no avail. Absolute is the only one that works for this.

I've pored over all of the documentation, but am beginning to wonder if
I'm am idiot.

Can you tell me what I am missing?

Fantastic program, BTW. I intend to send a donation.

harleysr
harleysr's picture

To clarify: I should add that this only occurs when I bring the preset up for the first itme. Once I have "engaged" a knob and made a change, the settings on the BCR reflect wherever I left the fader on the screen. I need the BCR to "see" the status of my Cubase mixer when a relevant preset is used, so that the BCR syncs with the screen, not the other way around.

 

Any help would be greatly appreciated.

 

Mark van den Berg
Mark van den Berg's picture

Let me start with a disclaimer: since I don't use Cubase, I can only speculate about its capabilities, so unavoidably some of my suggestions below (or even all of them...) will be utterly useless.
But I'll give it a go anyway:

First of all: you write "Once I have "engaged" a knob and made a change, the settings on the BCR reflect wherever I left the fader on the screen".
Just to make sure I understand the situation: when you move a fader in Cubase, the corresponding knob on the BCR does respond?
If not, it could simply mean that Cubase can't send any fader values (unless in the "Generic Remote" mode you mention, I suppose).
Alternatively, the problem might be that your encoder definitions use "Custom output" definitions (".tx" statements in BCL): in that case, the encoders simply don't respond to "parameter feedback" from the external device (Cubase in this case). So if you want parameter feedback on the BCR, you have to use "Standard output" definitions (i.e. ".easypar" in BCL).

However, if Cubase does send fader values (at least when you touch them on the screen) and you are using standard output definitions, the problem seems indeed "merely" one of initial synchronization:

Is Cubase capable of sending the fader values when a particular mix is being selected/opened?
If so, the trick might be to select the appropriate preset on the BCR before opening the Cubase mix.
However, I'm not sure how this would work for your three mixer presets.

Another, marginally more sensible idea: can't you make Cubase send its current fader values to the BCR when you select a preset on the BCR?
In each preset you can define "LEARN output" (see the corresponding tab in the presets dialog box in BC Manager), which the BCR will output in two situations:
1. Whenever you press the LEARN button on the BCR.
2. If "Request" (on the Settings tab in BC Manager's preset dialog box) is enabled: whenever the preset is being selected (e.g. when you press one of the PRESET '<' or '>' buttons).
But of course this scheme will only work if there is a MIDI message (Program Change or whatever) to which Cubase responds by outputting its fader values, which doesn't seem very likely.

Mark.

harleysr
harleysr's picture

Mark:

First, thank you for the followup.

I tried the suggestions you specified, with mixed luck.

Although the on-screen levels can be learned, the memory is static. So, if I open another project and bring up any preset other than #1, when a knob is turned, the faders will jump to whatever they recall from what was previously "learned" and saved.  This behavior manifests only when I use a BCR knob for the first time after bringing up a project. After that, the hardware and software appear to be in sync on whatever channels I have touched. Clearly, Cubase sends info to the BCR, but, from what I can see so far, only when the mouse is applied to a knob or fader on the screen.

If I were to slightly move an on-screen fader, the hardware will sync to it, yielding a considerable reduction in the jump. Again, after that, the sync remains viable, until I close the project.... The next time I open a project, it's still a new ball game again.

The odd part is that I have profiles set up for 1-24, 25-48 & 49-72 on the Generic Remote tab using Preset 1 and they all work flawlessly.

Still, I'd like to be able to just move to another preset, rather than scroll a long list.

FWIW, Presets 1-4 are on MIDI channels 1-4, respectively. No matter what preset the BCR is on when a project is loaded, Preset 1 always works as expected. When I built 2-4, I copied 1 and just changed the MIDI channel numbers. With the exception of the deal-breaking jumpiness, 2-4 perform perfectly.

Any input would be appreciated.

 

 

 

Mark van den Berg
Mark van den Berg's picture

Not knowing Cubase myself, I'm still struggling to understand the exact circumstances and behavior you're describing.

In any case it might help to monitor the bidirectional communication between Cubase and the BCR in BC Manager or MIDI Tools. In particular, you can then see what Cubase is sending to the BCR.

Monitoring the communication from the BCR to Cubase in BC Manager or MIDI Tools is easy: on the Input tab of the "MIDI devices" dialog box you enable the device that is also receiving the BCR's output in Cubase, then you press Record in the "MIDI input messages" window, and any messages output by the BCR should appear in that window.

The communication from Cubase to the BCR is harder to monitor, particularly if it goes via USB (i.e. if the BCR's Operating Mode is U-1/2/3/4).
This can be achieved as follows:

1. You install MIDI Yoke or loopMIDI. (For details, see the "MIDI pipes" subsection of the "MIDI setup" section in the BC Manager/MIDI Tools manual.)

2. In Cubase, you change Cubase's output to the BCR to a virtual MIDI device (as defined by MIDI Yoke or loopMIDI).

3. You make MIDI-OX, BC Manager or MIDI Tools pass the output from this virtual MIDI device to the BCR via "MIDI Thru".
E.g. in BC Manager/MIDI Tools, you connect the appropriate input and output devices via the "Thru output/input device" boxes in the MIDI devices dialog box.
Note: if Cubase sends MIDI System Exclusive (SysEx) messages to the BCR (which I suspect it does in setting up Preset 1 for Generic Remote), you have to use the Thru facility of MIDI-OX: BC Manager and MIDI Tools simply defer the handling of MIDI Thru to Windows, which doesn't pass SysEx messages.

4. You monitor the output from the virtual MIDI device in BC Manager or MIDI Tools in the same way as the BCR's output: you enable the device on the "Input" tab of the "MIDI devices" dialog box, and the messages should appear in the "MIDI input messages" window once Record has been pressed.

Hope this helps,
   Mark.

Anonymous (not verified)
Anonymous's picture

Mark:

As always, I appreciate your time and input.

I will look at the MIDI traffic between Cubase and the BCR.

Since you mentioned that you were having diffuculty grasping the precise nature of the behavior, I will add some info. My apologies if I have been too vague.

The BCR doesn't "learn" the plugins and interfaces in Cubase. It's the other way around. Cubase learns the BCR, knob by knob. It's tedious. From there, you create various profiles under the Generic Remote you have created, mapping the BCR's CC messages to plugins, etc.... and navigating between them from a drop-down menu in Cubase. I have profiles for the entire Cubase channel, many of my UAD plugins, some Native Instruments VSTis, etc.... The entire Generic Remote is on BCR Preset 1. All profile switching is done in Cubase, rather than via BCR presets.

In one respect, you could say it's just another way of achieving the same result. On the other hand, the ability to instantly switch presets on the BCR (with a single button) is very attractive and easier on my wrist.

Both methods work on my system, with the following exception: using any BCR preset other than 1 results in the on-screeen faders jumping to whatever position the corresponding BCR knob is at.  To illustrate, let's say I switch to Preset 2, which happens to control Cubase channel volumes for tracks 1-24. The on-screen fader is at maximum volume, but the LED on the BCR rotary (for that channel) is at 8 o'clock. The instant I touch the  rotary, the on-screen fader will jump to the value on the BCR: chaos!

Using the profiles I have built for the Generic Remote in Preset 1, it is the opposite. When I switch from, say, the profile for the Cambridge EQ to the profile for the Lexicon 224, all of the BCR's LEDs change to represent the settings of the Lexicon plugin on my screen. If I move a BCR knob, the interaction between it and the plugin's interface is seamless.

Why can't this work in the other 31 BCR presets? That's what I'm pulling my hair out over. The bi-directional initial feedback exists, as indicated by what occurs with BCR Preset 1, but disappears when I go to a different BCR Preset. Incidentally, it is still there when I return to Preset 1. Maddening!

I hope this provides some insight.

Mark van den Berg
Mark van den Berg's picture

So Cubase doesn't modify the temporary or memory preset definitions on the BCR at all?
But then you should be able to move around your preset definitions at will.
E.g. when you copy preset 1 to 15, you should be able to work from preset 15 as if it's preset 1.
And what happens when you swap presets, e.g. 1 and 2?

The problem is not that Cubase can only work with MIDI channel 1, is it?

One thing to keep in mind is that at any particular moment only the active ("temporary") BCR preset is accessible from the outside.
Thus, even if/when Cubase sends (initial) Control Change messages aimed at all your BCR presets, only the values of the currently active preset get initialized.
So what happens when you make Cubase send such a message sequence when the BCR is currently on preset 2 (rather than 1)?

Hope this helps,
Mark.

harleysr
harleysr's picture

Hi Mark:

*(A quick note in response to your question regarding Cubase/BCR/multiple MIDI channels. The Generic Remote in Cubase handles multiple MIDI channels without issue)

I have some results I can share, relating to the Cubase handshake process and the BRC presets.

1. When a Cubase project is initially activated, it transmits a message to the BCR, identifying the current positions of whatever is mapped in the BCR's currently instantiated preset.

2. If you switch to a different preset, nothing is automatically transmitted, so no update for that preset's knob to on-screen fader occurs. As result, moving a BCR knob will cause the on-screen fader to jump to the knob's position. On the other hand, moving an on-screeen fader will update the correspondingly mapped BCR knob.

3. If you change from one preset to another and then scroll to a different Generic Remote profile (IN CUBASE) and then back to the original profile, Cubase WILL update the BCR.

The downside is that this requires mousing to another profile in Cubase, completely negating the convenience of the BCR's presets, as I already have what's in the BCR's presets built out in the long list of Cubase Generic Remote 1 profiles;)

There is one notable exception. If I were to activate a project with BCR Preset 4 up and running, and then switched to BCR PReset 1, the BCR and screen would automatically sync. So, Cubase updates whatever BCR preset is up when it opens a project and it always automatically updates (only) BCR Preset 1, whenever chosen.  

The issue for me is to find a way for Cubase to automatically send that update every time I switch to another preset on the BCR. I'm wondering if there might be some language or script that could be added in the BCR's preset. Any thoughts?

Mark van den Berg
Mark van den Berg's picture

It's very good that you now know exactly what's going on.
But of course finding a solution is a different matter.
As I explained in an earlier post, you can make the BCR send anything upon manual preset selection.
However, that's no help if there is simply no way to induce Cubase to send its current values upon request.
Not that it will be any consolation to you, but Cubase is certainly not alone in this: Cakewalk Sonar has similar issues with the BCR; people have written "third-party" plug-ins to make Sonar (kind of) work with the BCR.

harleysr
harleysr's picture

I wanted to add that I installed MIDI Tools and monitored activity as I used the BCR and switched profiles in the Cubase Generic Remote.

Turning knobs on the BCR generates recorded MIDI Input Messages, but nothing on the MIDI Sytem Exclusive Messages recorder.

Switching BCR presets generates nothing recordable in MIDI Tools.

Switching Generic Remote profiles in Cubase generates nothing recordable in MIDI Tools. This is interesting, as I can watch it update the BCR's meters, so I know there is something being transmitted.

I do realize that what is recorded is a function of what device is being monitored in MIDI Tools. The fact that I'm not employing a mechanism  to monitor the output from Cubase probably accounts for why I see nothing when switching profiles. From your earlier post, it looks like I need to get my head around the Yoke and Pipe aspects of the tool.

harleysr
harleysr's picture

I just tested with MIDI tools and loopMIDI and was able to grab the transmission data from Cubase during the Cubase Generic Remote profile switching.

Now I have confirmed that it exists.

What did not show up was any data when I switched Presets on the BCR.

I also noticed, when switch profiles in the Generic Remote, that Cubase only displays the MIDI out activity when loopMIDI is in use, not when I have the output for the BCR set to "BCR" in Cubase. This is in spite of the fact that the same data exchange is occurring.

I am wondering how I can translate the handshake Cubase sends when switching internal profiles to one that occurs when changing BCR presets.

harleysr
harleysr's picture

SOLVED!

Make sure the Default column has a value of NO. Other wise, when you turn a knob, it will send out a value and overwrite whatever the current Cubase parameter is set to. This is what was causing the "jump". Evidently, all the encoders had a Default setting of 0.