Led not lid when sending cc value to button?

6 posts / 0 new
Last post
GVE
GVE's picture
Led not lid when sending cc value to button?

Hi , 

I have setup 4 buttons to spread a value on CC 127 from 1 to 4

So if one presses button 1  CC127 value 1 is send

                                        2  CC127 Value 2 is send  and so fort

 

This is working fine, the leds on the buttons jumps on and off correctly.

 

Now i send via a program a init value of 1 to CC127 to the BCR but the led of button 1 is not lid by it 

Is there a solution to make it lid? 

 

Warm regards 

 

Mark van den Berg
Mark van den Berg's picture

How exactly have you set up your buttons?

Can you provide the BCL code of these button definitions?
(If you're using BC Manager, you can simply open the bcr file in any text editor and copy/paste the pertinent "$button" sections.)

GVE
GVE's picture

Hi , of course , here it is :-)

It works fine if you press the buttons on the BCR 2000... not when sending cc127 value 1,2,3 or 4. 
With buttons that are not 'connected to one CC' the led lid when setting on value 

$button 57
  .easypar CC 16 127 1 1 toggleon
  .showvalue on
  .default 1
$button 58
  .easypar CC 16 127 2 2 toggleon
  .showvalue on
  .default 2
$button 59
  .easypar CC 16 127 3 3 toggleon
  .showvalue on
  .default 3
$button 60
  .easypar CC 16 127 4 4 toggleon
  .showvalue on
  .default 4
$end
 

Mark van den Berg
Mark van den Berg's picture

In your original post you wrote "This [i.e. pressing buttons on the BCR] is working fine, the leds on the buttons jumps on and off correctly."
Actually this itsn't quite true (at least not on my BCR): when I press one of these buttons for the first time, the display briefly says "on" and the button's LED goes on, but then when I press the same button again (without having pressed any other buttons in the meantime), the display briefly says "off" and the button's LED goes out. (However, at both moments, the proper MIDI message is sent.)
The BCR even remembers the state of the button's LED when I switch to a different memory preset (via the PRESET < or > button): if I then switch back to the original memory preset, the button's LED state is restored.

When the BCR receives a MIDI message for these buttons, the BCR does not switch the LED of the corresponding button on, but internally the BCR does assign the incoming value to all these buttons:
When I send a CC 127 message containing a value of 1, 2, 3 or 4 to the BCR (from BC Manager's "MIDI controllers" window) and then request a snapshot (by pressing the camera icon in the B-Controls window), the BCR returns the new value correctly (as can be seen in the "MIDI input messages" window).
(Side-note 1: In fact each snapshot contains four messages: one for each button.
Side-note 2: From this it follows that setting the Default parameters of your four buttons to different values (1, 2, 3 and 4), as you have done, is non-optimal: as long as you don't press a button or send a MIDI message to the BCR (either of which will sync all four buttons to the new value), the four messages in the BCR's snapshot contain these four different Default values (1, 2, 3 and 4), which might confuse a receiving device. So it's best to use one initial Default value for all four buttons.)

The fact that the BCR switches between "on" and "off" for your buttons points to the cause of your inability to change the LEDs of these buttons via MIDI:
When the BCR receives a MIDI message, it uses each button's (Value1 + Value2) div 2 (i.e. roughly the middle between Value1 and Value2) as the border between "off" and "on". This works fine if Value1 and Value2 are different, but if they are equal, the BCR always chooses "off", and the button's LED goes/stays off.

I've tried various other setups to fix this. (Cf. BC MIDI Implementation.pdf, sections 15.3 and 15.9.)
For instance, in principle a setup with Value2 = "Off" is the way to go if you only need a button to send one particular value (as in your situation). However, this leads to erratic LED behavior (both with Mode = Toggle On and Mode = Toggle Off); and with Mode = Toggle On pressing the buttons the BCR even outputs MIDI messages with wrong values.
And using "custom output" definitions (".tx" statements in BCL terms) is a non-starter, because the BCR by definition doesn't listen to incoming MIDI messages for custom output definitions.
So I don't know how you could make things work the way you want to.
It seems you either have to live with the fact that the button LEDs don't switch on properly, or use a totally different solution, like an encoder with a range from 1 to 4 (but of course this doesn't have the directness of your four individual buttons).

Mark.

GVE
GVE's picture

Hi , 

I was having the same 'tests' and conclusions. but i wanted to be sure about it.

It's rather strange, should i consider it a bug in the Firmware?

 

Warm regards

 

Mark van den Berg
Mark van den Berg's picture

should i consider it a bug in the Firmware?

The short answer: yes, basically.

A more nuanced answer:
In my previous post, I intentionally avoided the word "bug", to avoid pre-judging etc.
Arguably the LED problem in "your" setup (with each button having Value1=Value2) lies right on the border between "feature" and "bug". However, the bizarre behavior when Value2=Off definitely seems a bug.
But in the end it doesn't really matter what we call these problems: the situation is pretty clear: the BCF and BCR have many shortcomings like these, and all are caused by Behringer stopping development mid-way when budget and/or time ran out.
All we can do is work around these problems as well as we can.

When I wrote BC MIDI Implementation.pdf some ten years ago, my main interest was (obviously) to provide a more or less complete documentation of the BCF/R's MIDI behavior (in particularly BCL), as the basis for BC Manager's BCL generator and interpreter.
So I didn't pay quite as much attention to the button LED behavior as I perhaps should have, which is why this document only mentions the LED behavior in roundabout ways.
Frankly I'm in a bit of a shock now: yes I knew the LED behavior wasn't perfect, but I hadn't realized it is as bad as this (particularly concerning Value2=Off). I still can't quite believe it...
So it's good that you and I found the same buggy behavior: unless we've both missed something, the BCF and BCR are mad, not us... smiley

Mark.