Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Thread

BCF/BCR Sysex requests

BCF/BCR Sysex requests

2007-07-05 by rpcfender

The BCF/R have 2 sysex request command formats that I am aware of (If anyone knows any other please let me know).
A single byte and a 2 byte request.
I wrote a short program to test all permutations and here are the results for those interested.
I have included this in the updated General.RTF in the files area (Script Editor BCRInfo.zip)
BCR/BCF - Sysex

F0 00 20 32 BCx-2000 Sysex header (numbers inHex)

F0 00 20 32 00 - Request Command?

F0 00 20 32 7F ; - Request Command as well (don't know why there are 2values)

F0 00 20 32 00 15 - BCR-2000 Sysex header

F0 00 20 32 00 14 - BCF-2000 Sysex header (numbers in Hex)

F0 00 20 32 00 7F - BothBCF & BCR Sysex header (numbers in Hex)

If you use 7F instead of 15/14 the unit will answer with its type in this ident byte.

So a software request F0 00 20 32 00 7F 01 F7 can give you what kind a unit you are dealing with.

Response from a BCR

F0 00 20 32 00 15 02 42 43 52 32 30 30 30 20 31 2E 31 30 F7 BCR2000 1.10.

You could have used the BCR2000 text but the 15 byte is in any answer from a BCR.


Requests (you can use 7F instead of 15) 2 byte

F0 00 20 32 00 15 22 00 F7 ; Select specific Preset on the BCR

to

F0 00 20 32 00 15 22 1F F7 ; 00 to 1F

F0 00 20 32 00 15 40 00 F7 Get specific Preset

to

F0 00 20 32 00 15 40 1F F7 ; 00 to 1F

F0 00 20 32 00 15 42 00 F7 Get specific Preset name

to

F0 00 20 32 00 15 42 1F F7 00 to 1F

(40 for patch - 42 for Name)

(00 to 1F for specific preset - 7E for All - 7F for Current)

F0 00 20 32 00 15 40 7F F7 Current Preset request

F0 00 20 32 00 15 40 7E F7 All Presets request

F0 00 20 32 00 15 42 7F F7 Current Preset Name request

F0 00 20 32 00 15 42 7E F7 All Preset Names request

1 byte requests (you can use 00 or 7F. Can't see a difference)

F0 00 20 32 00 15 01 F7 ; Software version request

F0 00 20 32 7F 15 01 F7 Strangely this is also a Software version request

F0 00 20 32 7F 15 41 F7 Request Global data

F0 00 20 32 7F 15 43 F7 ; Send out current values of the encoders/faders/buttons


Re: BCF/BCR Sysex requests

2007-07-08 by Mark van den Berg

--- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote:
> F0 00 20 32  00  -   Request Command?
> F0 00 20 32  7F  -   Request Command as well (don't know why there are 
> 2values)

The general BCF/BCR sysex message format is:

System Exclusive       = $F0
Manufacturer Behringer = $00 $20 $32
Device ID              = $00..$0F(=ID on actual device) or $7F(=any)
Model                  = $14(=BCF2000) or $15(=BCR2000) or $7F(=any)
Command                = miscellaneous
(DATA BYTES            = depends on Command)
End Of Exclusive       = $F7

So the byte after the Behringer identifier bytes ($00 $20 $32)
indicates the Device ID.

On the BCF/BCR you can set this value via "Global Setup" (press
EDIT+STORE, then use encoder 5). The range as shown in the BC's
display is 1-16, although in MIDI messages the corresponding value is
"minus 1", so from $00 to $0F.

However, MIDI messages have another option for the Device ID, namely
the "wildcard" $7F, meaning "any device". (This "wildcard" protocol is
basically the same as the one used for the Model byte, which
immediately follows the Device ID byte in these MIDI messages.)

Any particular BCF/BCR only SENDS messages using its own Device ID,
but REACTS to MIDI messages mentioning either its own Device ID or the
wildcard $7F.

I found out the hard way that the Device ID value indeed matters
when I tried to use your script program on my BCR when I had (for some
reason) changed my BCR's Device ID to some outrageous value like 9:
the BCR didn't respond to the program until I had switched back its
Device ID to 1!

Incidentally, (at least under Windows XP) the Device ID is also
mentioned in the USB MIDI device's name as shown on the computer (but
differently in USB drivers versions 1.1.1.1 and 1.2.1.3!). Changing
the Device ID on the BC while it's connected to the computer via USB
may lead to terrible MIDI device errors, so you should be careful with
that.

Mark.

Re: BCF/BCR Sysex requests

2007-07-09 by rpcfender

Thanks for the info Mark. I'll include it in the docs.
I'll change the program to include the universal setting.
Does anyone want this to be selectable or should I just output $7f $7f 
(all device ids + any type of unit) ??

Royce

Re: BCF/BCR Sysex requests

2007-07-09 by abhunkin

I vote for 7F 7F for various reasons. Primarily because it *is* all 
inclusive and covers all bases for the programmer. It leaves 
responsibility right where it belongs: the choice of $rev F1 or $rev R1 
by the *script writer*.

Art Hunkins

--- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote:
>
> Thanks for the info Mark. I'll include it in the docs.
> I'll change the program to include the universal setting.
> Does anyone want this to be selectable or should I just output $7f 
$7f 
Show quoted textHide quoted text
> (all device ids + any type of unit) ??
> 
> Royce
>

Re: BCF/BCR Sysex requests

2007-07-15 by Mark van den Berg

In principle my vote goes to $7F $7F as well, for the reasons Art
gives. (And in totally practical terms: I only have one BCR at the
moment, so I could never get any mixups anyway.)

However, people with more than one B-Control on the same physical MIDI
output device (seen from the computer) do get into trouble with $7F
$7F, because ALL BCs respond. For instance, this is the case in the
U-4 setup described in the manual, where the first BC is connected to
the computer via USB, and the second BC to the first BC via standard MIDI.

And one could argue with the point about "responsibility where it
belongs", for a particular, technical reason:
If you use Device=$7F and Model=$7F fot the MIDI messages transmitting
the script lines, then every BCF and every BCR always responds to
every script line it receives by sending back a reply message (which
states whether the message was correct, and if not, the error type).
So if both a BCF and a BCR are connected to the same physical MIDI
output device, they will then BOTH respond to every script line you
send, EVEN if the script has started with "$rev F1" or "$rev R1". So
this may cause a lot of unnecessary MIDI traffic; this might not be
serious, but still...
The advantage of using specific Device and Model IDs is that the BCs
then do NOT respond to script lines meant for other devices or models.

Mark.

--- In bc2000@yahoogroups.com, "abhunkin" <abhunkin@...> wrote:
Show quoted textHide quoted text
> I vote for 7F 7F for various reasons. Primarily because it *is* all 
> inclusive and covers all bases for the programmer. It leaves 
> responsibility right where it belongs: the choice of $rev F1 or $rev R1 
> by the *script writer*.
> 
> Art Hunkins
> 
> --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@...> wrote:
>> Thanks for the info Mark. I'll include it in the docs.
>> I'll change the program to include the universal setting.
>> Does anyone want this to be selectable or should I just output $7f 
> $7f 
>> (all device ids + any type of unit) ??
>>
>> Royce

Re: BCF/BCR Sysex requests

2007-07-15 by abhunkin

It seems like the only practical choices are $7F for both variables, 
or the user choosing each.

I wonder:
1) How many users are even aware of ID numbers and how to deal with 
them?
2) How many users have more than one BC - and use them together?

I do have a BCF and a BCR and have *never* used them together. 
Furthermore, I think when programming them I'd take care to only have 
one hooked up, so as to avoid any potential complications.

So I'll continue to vote for $7F $7F both to simplify the programming 
task and avoid complication for the user.

Perhaps a clear message could appear on the screen advising the user 
only to connect one BC at a time. This could avoid all problems.

Art Hunkins

--- In bc2000@yahoogroups.com, "Mark van den Berg" <markwinvdb@...> 
wrote:
>
> In principle my vote goes to $7F $7F as well, for the reasons Art
> gives. (And in totally practical terms: I only have one BCR at the
> moment, so I could never get any mixups anyway.)
> 
> However, people with more than one B-Control on the same physical 
MIDI
> output device (seen from the computer) do get into trouble with $7F
> $7F, because ALL BCs respond. For instance, this is the case in the
> U-4 setup described in the manual, where the first BC is connected 
to
> the computer via USB, and the second BC to the first BC via 
standard MIDI.
> 
> And one could argue with the point about "responsibility where it
> belongs", for a particular, technical reason:
> If you use Device=$7F and Model=$7F fot the MIDI messages 
transmitting
> the script lines, then every BCF and every BCR always responds to
> every script line it receives by sending back a reply message (which
> states whether the message was correct, and if not, the error type).
> So if both a BCF and a BCR are connected to the same physical MIDI
> output device, they will then BOTH respond to every script line you
> send, EVEN if the script has started with "$rev F1" or "$rev R1". So
> this may cause a lot of unnecessary MIDI traffic; this might not be
> serious, but still...
> The advantage of using specific Device and Model IDs is that the BCs
> then do NOT respond to script lines meant for other devices or 
models.
> 
> Mark.
> 
> --- In bc2000@yahoogroups.com, "abhunkin" <abhunkin@> wrote:
> > I vote for 7F 7F for various reasons. Primarily because it *is* 
all 
> > inclusive and covers all bases for the programmer. It leaves 
> > responsibility right where it belongs: the choice of $rev F1 or 
$rev R1 
> > by the *script writer*.
> > 
> > Art Hunkins
> > 
> > --- In bc2000@yahoogroups.com, "rpcfender" <rpcfender@> wrote:
> >> Thanks for the info Mark. I'll include it in the docs.
> >> I'll change the program to include the universal setting.
> >> Does anyone want this to be selectable or should I just output 
$7f 
Show quoted textHide quoted text
> > $7f 
> >> (all device ids + any type of unit) ??
> >>
> >> Royce
>

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.