Surface Midi Remote Command

In additon to my previus post about toggle option for mapped pages (to have visual representation of the selected page on hardware) Mapping page action, it is good to have an option to assign a switch or an encoder to an empty command (that do nothing). In this case, the lighted elements of the hardware, will not give false clue for the description that is written bellow the element and will stay off. Even better, the mapping pages should be auto-created with these “empty commands”.

e.g. with no “empty command option”:
Lets say I have assigned 2 buttons -on top row- out of 2 rows of 8 buttons, for page navigation purpose.
In page 1, the bottom row switches are for “Send On” and several functions of selected track in page 2. When I am on page 1 and activate any of these sends and then switch to page 2, the buttons will remain activated if I have no command assigned on these and this is confusing.

This is one of the reasons why in my JS (TS) script I reset the whole page every time the page changes.

If you are going through the GUI then IDK.

@oqion I assume that you are speaking about scripting and I do not know anything about it. Is this something that I can do with surface assignment?

I know. I can’t find a way to make that happen, and even with a script, if you were to add a page after loading the script it still has the same issue. This is a good feature request, but it is hard to know how the hardware is going to react. If Cubase sent a CC value of 0 or a Note value of 0, for elements that have no mapping on a page, that might work. But I don’t see a way to do this.

Mapping them all to a key command is probably the best way as it stands.

@oqion Of course, I could assign any of the commands that send no feedback, but then I realise that I could accidentally touch one of these and be in trouble without knowing. The most “painless” command I found is Peak. :slight_smile:
Nevertheless there must be a proper solution.

Which controller are you using? I could write you a script that is full of empty commands…

Thanks, the old and good trust BCF2000

But I 've made custom configs to send nrpn messages for smoother result


I know you made a script for the BCR, and the BCF.
Here: Behringer BCF2000 midi remote

Do you mind sharing the code? I see the BCR code on GitHub, but not the BCF.
We were thinking of editing it to make a “blank page” like the Instrument page I did here:

… or maybe @doriosypos might just want you use your script…

I was thinking to strip out all of the mappings and make them default ones like I did there.
I just added a controller (i.e. set the callback), but never created a mapping. This makes the User Programmable knobs still be able to be mapped, but also changes their colour and still lights bright on pickup.

I actually am using a whole page like this in my personal setup. You can then duplicate the page in the script, but assign the binding in the GUI.

wait what? how is that working with Cubase?

I meant I programmed BCF2000 to send nrpn and have smoothers values for e.g.: volume or some FQC functions. I tend to use same mapping per channel for controllers and faders but with different midi messages for eachone. The first as nrpn for fine adjustment and the second as normal cc for quick transition to desirable value.

I just posted in that linked thread, The BCF has motorized faders, and I’m not sure anyone has coded for motorized faders yet. I was just getting started on an idea originally MarcoE had suggested a month or so ago to use the display value. There were issues with that at the time where the display value wasn’t being updated in real time.

It was my impression that the motorized faders were not functional with any MR.
What is your experience?

Ha! That question was just answered here:

The answer is NO.

Well, I get normal feedback using surface midi editor. Of course BCF2000’s motors are quite loud, that is why I turn off all faders -except “volume” fader- and use them in scale mode. I also tested faders as Send and it was ok.

1 Like

All above are for selected track…

I offer to create a blank page script thinking it would be easy to do that even without the device, oops.
But maybe we can still work it out somehow if we get some help.

I am not sure if this is the same situation: Sometimes I had an update-values problem. What I did was to create a simple macro to move selected track to next and then to previus. It was like clicking with a mouse. I called this “reset” and used it whenever I needed to.

Btw, I do watch Giampaolo_Gesuale 's threads about bcf and bcr trying to understand something about scripting beacause I am clueless

He shared his JS for the BCR, but not for the BCF. If we could get that then we could work from there, or maybe he could if he wanted to, which it sort of seems like he does, since he wrote the script without owning the device.

Maybe we could edit his script, or he would be into doing it with you or something. Or maybe he could just point us at the Programmers Manual he used, because I can’t find anything on the device itself. Then again, maybe you don’t need that manual if you are never trying to tell the device to do something it isn’t already going to do. Most devices you have to tell them specifically when to change their state for them to do so. If that isn’t the case here, then the script would be a lot easier to write.

1 Like

I 'll be glad to help if I can.
Another question: how easy is to edit a script with a pad? Can I change ports and midi modes (e.g.: cc to nrpn) according to my settings without messing it?