Programming BCR2000 buttons

By flonky, 2 May, 2017
Forums

Hi,

I'm trying to program my BCR2000 to control my Audiothingies MicroMonsta (which uses CC and NRPN controller) with the BC Manager (on Mac).

Programming the encoders is easy but I'm struggling with the buttons.

Example: I want to increase the Filter Type with upper key 1 and decrease it with lower key 1. The Filter Type is on NRPN 13 and has 8 options (0 to 7?).

I set it up as seen on the screenshot (the lower key with increment -1) but when I press a key (ether upper or and lower) the value jumps from the first Filter option to the last Filter option, without the option in between.

Does anybody know what I'm doing wrong?

Thanks,

Florian

Screenshot

Mark van den Berg

7 years 8 months ago

Hi Florian,

As explained in section 15.10 of BC MIDI Implementation.pdf, you should swap Value 1 and Value 2:

Value1 must always be higher than Value2, otherwise Value will immediately stick at Value1 if Increment is negative, and at Value2 if Increment is positive. This occurs irrespective of the value of Default.

Hope this helps,

Mark.

flonky

7 years 8 months ago

Thanks, now it works!

Next question: Is it possible to make the LED show "words" instead of numbers? Like "fst", "lin", "exp" instead of 0, 1, 2...

Short answer: no.

As far as I know, the BCF and BCR don't offer any way to control their displays via MIDI.

So someone would have to rewrite the firmware of the BCF/BCR to make this possible.

Mark.

tomatoKetchup

6 years 1 month ago

Hi. Digging up this thread because I'm trying to do the Increment/decrement thing myself but can't get it to work.

Reading the MIDI impl chart pdf, what I understand is that in the decrement button settings window the Value 1 and Value 2 knobs need to be inverted, so for example if Value 1 was 0 and Value 2 was 6 originally, I would have to set Value 1 to 6 and Value 2 to 0, leaving increment mode and increment value at -1.

That's not working so I'm obviously not getting it. Any clarification appreciated.

Can you be fully explicit about the button definition you've tried?
For instance: are you using a "standard output" (".easypar") definition or a "custom output" (".tx") definition? Crucially, as described in section 15.10 of BC MIDI Implementation.pdf, ".easypar" and ".tx" require opposite orderings of Value1 and Value2.

tomatoKetchup

6 years 1 month ago

Using custom output (a sysex message).

Just to be clear about my issue (which may actually be different from above now that I think of it), the way it was set originally, both buttons worked in their own right (one did increment by 1 and the other decrement by 1), however what doesn't work is that each button only "remembers" the last value it itself was set to, but not the value of the other button.

To clarify with an example, let's say default value is 0. I press the increment button 3 times, now the value is 3 obviously. But If I now press the decrement button, it will not decrement the previous value (3) down to 2, but will decrement from 0 to max value (wrap around) because the decrement button doesn't know what the other increment button set the value to previously.

That's what I thought flonky's issue was, but maybe I'm not getting it. In any case, is it possible to fix that behavior?

what doesn't work is that each button only "remembers" the last value it itself was set to, but not the value of the other button.

This problem has nothing to do with the specifics of your increment/decrement definitions: custom output (".tx") definitions of different buttons/encoders/faders in general don't respond to each other, nor to incoming MIDI messages ("parameter feedback") from the connected MIDI device.
Only standard output (".easypar") definitions listen to each other and to incoming messages.
See BC MIDI Implementation.pdf, sections 14.9 and 14.9.1.

So maybe you can define standard output increment and decrement definitions using a MIDI channel and/or MIDI controller to which the receiving device isn't listening. Since a button can have both a standard and a custom output definition, you can still use the button value (now being maintained by the standard definition) in the custom output definition as "val" (or any of its siblings).