BCR2000 advanced programming

Home :: Reviews of DJ equipment :: BCR2000 advanced programmingReply
BCR2000 advanced programming
Posted on: 03.11.2013 by Leoma Larouche
I am in the process of setting up 2 x BCR2000 for my DJ set-up.

I want to configure an encoder two control more than one parameter depending on the state of a shift button. To this end I rely on Traktor's modifiers.

Say I want an encoder to adjust Level, and to adjust Gain if a Shift button is being held down. That's would be fairly easy to set up and works fine, in both Relative and Absolute modes.

The problem is not the encoder but the LED feedback: As you turn an encoder in the BCR, Traktor will send LED feedback to the encoder LED ring (typically the same CC number as the encoder). However, the BCR ignores this feedback by design. It only accepts feedback if the encoder is not being turned, but Traktor only sends feedback while the encoder is being turned!

It's easy for this problem to go unnoticed because we usually configure each encoder to control a single parameter. However, when two parameters are associated with the same encoder this problem becomes apparent.

Is there any way to get Traktor to output MIDI to a parameter different from the triggering parameter, e.g. CC 100 (the Shift button) triggers but output goes to CC 102 (an LED ring)?

Or alternatively, is there any way to get Traktor to "refresh all parameters"?
Leoma Larouche
11.11.2013
Originally Posted by tekki
By the way, you did find out about the BCR2000 Yahoo- group?
Yes although I've never actually used it.

The guy who wrote BC Manager did a great deal of research on the B-Control and wrote a manual for his app that is very well written and very complete, and it explains everything about the BCR considerably better than any community or even the BCR's own users's manual.
Random X
05.11.2013
Originally Posted by Scoox
Yeah it's ridiculous how the BCR really kicks every other controller's ass in pretty much every way.

I only wish Behringer released a BCR mk2 to further improve on an already functionally perfect product. Imagine all normal encoders replaced with push-encoders and backlit encoder caps to show push-encoder state. And while we are at it, imagine RGB LEDs.

I've just ordered an extra BCR for a 2-BCR set-up. Once it's configured I'll try to post a video of a live set to show what it can do.

The more I exploer this beast the more I like it. It has some obscure features such as the fact that the Preset +/-, Edit, Store, Learn, Exit and the four encoder group selection buttons are in fact user configurable via SysEx commands, thus giving you an extra 10 buttons.
Yeah, it's pretty ridonculous if you ask me. And I am LOVING it.

There actually was one time I was writing smart encoder SysEx, but after a while I discovered it to be too much for the genres I usually spin, so I switched it back to a more traditional setting.

But yeah.... A MarkII /rebirth is something that many of us are waiting for. By the way, you did find out about the BCR2000 Yahoo- group?
Kellie Myrum
04.11.2013
Originally Posted by Scoox
I just refuse to believe NI developers create mappings using the mouse, surely they have better tools that they don't make available to us
Possibility to map Add Command to the mapping would be mapping dream. Set two hold type modifiers that bring In and Out paths to select and add any command directly on your controller . Assign another section to work with modifier values and condition slots expend to three slots Enjoy.

Also the Hot Command. Something like 64 of them would be enough for editing big mappings and better organizing when you're dealing with over a 10K commands mapped to multiple devices in a single .tsi

Modifier loops with 64 modifiers synced to master clock for mapping long automated FX sequences (believeing mappings). Something like new Twister and Digital Warrior firmwares does but actually a power mapping for any controller.
Leoma Larouche
04.11.2013
Originally Posted by Patch
Can you explain how you map this?
It's essentially a normal Shift button. You just set a button to set the value of a modifer, e.g. M1=1 when held down ("Hold" interaction mode). M1 returns to M1=0 as soon as you relese this button. Once mapped, you can watch the value of M1 change between 0 and 1 as you repeatedly push and release the chosen Shift button.

Next, you map Add In > Global > Send Monitor State to the same Shift button 2 times, onec with the Invert checkbox unchecked and again with the same checkbox checked. This ensures all LEDs will get updated both when you push down the Shift button and when you release it.

Now you can map Adjust Filter to an encoder, also twice. The first time you set the first condition to M1=0. This would be our "un-shifted" state, because M1 is equal to 0 when the Shift key is not pressed down. Then you map Adjust Filter once more to the same encoder, but this time you set Type Of Controller = "Button" and Interaction Mode = "Reset".

Finally, you map Out > Mixer > Filter Adjust to the same encoder, and you are done.



I've exported a TSI file for this mapping, here it is: Resettable encoder.tsi

In the above screenshot, notice the text in the Comment column. This helps grouping and sorting things that belong together. On a related note, I find managing complex mappings in Traktor a complete evening mare. When mappings are exported to TSI file, the file is not even human-readable, which forces users to rely heavily on the mouse. If I want to share a section of my mapping I can't just copy the code and paste it here on the community s, you have to send the whole TSI file. I just refuse to believe NI developers create mappings using the mouse, surely they have better tools that they don't make available to us
Leoma Larouche
04.11.2013
Originally Posted by Stewe
It seems that controller didn't refresh the output of the modifier state. Try to map Send Monitor State command to your shift button. Don't forget to assign correct mod vales for both Output commands.
Not quite THE solution but certainly a good compromise.

Essentially the BCR blocks incoming MIDI to any encoder that has just been turned, for a few hundred milliseconds, say, 500ms. This delay is obvious if you map both the main out level meter and also the main out level knob to the same encoder. When you turn the encoder the LED ring "freezes" for a short time, and then continues to be updated after the said delay.

Traktor sends MIDI as fast as it can, and to the best of my knowledge there is no way to insert a delay in Traktor.

I'll see if I can believe of something else, and if I do I get a feeling it's not going to be pretty.
Leoma Larouche
03.11.2013
I am in the process of setting up 2 x BCR2000 for my DJ set-up.

I want to configure an encoder two control more than one parameter depending on the state of a shift button. To this end I rely on Traktor's modifiers.

Say I want an encoder to adjust Level, and to adjust Gain if a Shift button is being held down. That's would be fairly easy to set up and works fine, in both Relative and Absolute modes.

The problem is not the encoder but the LED feedback: As you turn an encoder in the BCR, Traktor will send LED feedback to the encoder LED ring (typically the same CC number as the encoder). However, the BCR ignores this feedback by design. It only accepts feedback if the encoder is not being turned, but Traktor only sends feedback while the encoder is being turned!

It's easy for this problem to go unnoticed because we usually configure each encoder to control a single parameter. However, when two parameters are associated with the same encoder this problem becomes apparent.

Is there any way to get Traktor to output MIDI to a parameter different from the triggering parameter, e.g. CC 100 (the Shift button) triggers but output goes to CC 102 (an LED ring)?

Or alternatively, is there any way to get Traktor to "refresh all parameters"?
Leoma Larouche
25.11.2013
One more thing regarding my setup above. You may have noticed it lacks any Out mappings. Afterwards I mapped Outs to get LEDs to match the software, but this resulted in a MIDI feedback loop when Deadtime = 0. Luckily there is a very neat solution to this problem, which is to set all knobs to Relative Mode in both the BCR and Traktor.

If you use a BCR I recommend you explore Relative mode.
Random X
11.11.2013
Yup, mister van den Berg has been putting his sparetime to good use.

The yahoo group is actually the group where he kicked off.
Leoma Larouche
11.11.2013
Originally Posted by tekki
By the way, you did find out about the BCR2000 Yahoo- group?
Yes although I've never actually used it.

The guy who wrote BC Manager did a great deal of research on the B-Control and wrote a manual for his app that is very well written and very complete, and it explains everything about the BCR considerably better than any community or even the BCR's own users's manual.
Random X
05.11.2013
Originally Posted by Scoox
Yeah it's ridiculous how the BCR really kicks every other controller's ass in pretty much every way.

I only wish Behringer released a BCR mk2 to further improve on an already functionally perfect product. Imagine all normal encoders replaced with push-encoders and backlit encoder caps to show push-encoder state. And while we are at it, imagine RGB LEDs.

I've just ordered an extra BCR for a 2-BCR set-up. Once it's configured I'll try to post a video of a live set to show what it can do.

The more I exploer this beast the more I like it. It has some obscure features such as the fact that the Preset +/-, Edit, Store, Learn, Exit and the four encoder group selection buttons are in fact user configurable via SysEx commands, thus giving you an extra 10 buttons.
Yeah, it's pretty ridonculous if you ask me. And I am LOVING it.

There actually was one time I was writing smart encoder SysEx, but after a while I discovered it to be too much for the genres I usually spin, so I switched it back to a more traditional setting.

But yeah.... A MarkII /rebirth is something that many of us are waiting for. By the way, you did find out about the BCR2000 Yahoo- group?
Kellie Myrum
04.11.2013
Originally Posted by Scoox
I just refuse to believe NI developers create mappings using the mouse, surely they have better tools that they don't make available to us
Possibility to map Add Command to the mapping would be mapping dream. Set two hold type modifiers that bring In and Out paths to select and add any command directly on your controller . Assign another section to work with modifier values and condition slots expend to three slots Enjoy.

Also the Hot Command. Something like 64 of them would be enough for editing big mappings and better organizing when you're dealing with over a 10K commands mapped to multiple devices in a single .tsi

Modifier loops with 64 modifiers synced to master clock for mapping long automated FX sequences (believeing mappings). Something like new Twister and Digital Warrior firmwares does but actually a power mapping for any controller.
Leoma Larouche
04.11.2013
Originally Posted by Patch
Can you explain how you map this?
It's essentially a normal Shift button. You just set a button to set the value of a modifer, e.g. M1=1 when held down ("Hold" interaction mode). M1 returns to M1=0 as soon as you relese this button. Once mapped, you can watch the value of M1 change between 0 and 1 as you repeatedly push and release the chosen Shift button.

Next, you map Add In > Global > Send Monitor State to the same Shift button 2 times, onec with the Invert checkbox unchecked and again with the same checkbox checked. This ensures all LEDs will get updated both when you push down the Shift button and when you release it.

Now you can map Adjust Filter to an encoder, also twice. The first time you set the first condition to M1=0. This would be our "un-shifted" state, because M1 is equal to 0 when the Shift key is not pressed down. Then you map Adjust Filter once more to the same encoder, but this time you set Type Of Controller = "Button" and Interaction Mode = "Reset".

Finally, you map Out > Mixer > Filter Adjust to the same encoder, and you are done.



I've exported a TSI file for this mapping, here it is: Resettable encoder.tsi

In the above screenshot, notice the text in the Comment column. This helps grouping and sorting things that belong together. On a related note, I find managing complex mappings in Traktor a complete evening mare. When mappings are exported to TSI file, the file is not even human-readable, which forces users to rely heavily on the mouse. If I want to share a section of my mapping I can't just copy the code and paste it here on the community s, you have to send the whole TSI file. I just refuse to believe NI developers create mappings using the mouse, surely they have better tools that they don't make available to us
Jonathan Chiuchiolo
04.11.2013
you would just need to have traktor output the position of "filter adjust" to a LED bar/ring, then when you map the shift add in that it should disable the "filter on", because the bcr has only encoders it shouldn't matter where the software is as long as the led ring surrounding the encoder shows the real position.
Brunilda Kora
04.11.2013
Originally Posted by Scoox
For instance, I can go mad turning the filter encoder and when I am done I just hit the Shift button and voila! it's back to the centre position, right on the beat.
Can you explain how you map this?
Leoma Larouche
04.11.2013
Yeah it's ridiculous how the BCR really kicks every other controller's ass in pretty much every way.

I only wish Behringer released a BCR mk2 to further improve on an already functionally perfect product. Imagine all normal encoders replaced with push-encoders and backlit encoder caps to show push-encoder state. And while we are at it, imagine RGB LEDs.

I've just ordered an extra BCR for a 2-BCR set-up. Once it's configured I'll try to post a video of a live set to show what it can do.

The more I exploer this beast the more I like it. It has some obscure features such as the fact that the Preset +/-, Edit, Store, Learn, Exit and the four encoder group selection buttons are in fact user configurable via SysEx commands, thus giving you an extra 10 buttons.
Random X
04.11.2013
Niiiiiiiiice! Shame I have just noticed this thread.

This is an awesome display of how crazy configurable this controller is.
The dead time is something I have already long forgotten, as I only used/seen that back in 2009!


GREAT to see you doing justice to this remarkable piece of kit, Scoox!
Leoma Larouche
04.11.2013
OK I have just been playing with my new configuration and it's amazing. Being able to reset parameters and kill EQ bands all with the same know removes the need for extra buttons and makes the BCR an even more versatile controller.

For instance, I can go mad turning the filter encoder and when I am done I just hit the Shift button and voila! it's back to the centre position, right on the beat.
Leoma Larouche
04.11.2013
I cracked it!

The BCR apparently has a Deadtime global setting which specifies how long input is blocked after a knob is turned or a button is pushed. By setting this parameter to zero you completely remove the delay, thus solving the problem.

To achieve this, power up the BCR and do the following:

1. Press the EDIT and STORE buttons simultaneously
2. "EG" will be shon in the LED display at the top-right corner
3. Turn the 7th push encoder (top-row) counter-clockwise until the LED display shows "0"
4. Press EXIT.

Then, in Traktor you need to map Send Monitor State to the shift button, once with Invert checked and again with Invert unchecked.

Rock and roll baby!
Leoma Larouche
04.11.2013
I just figured out a workaround. I have Bome's MIDI Translator Pro, which allows me to send MIDI CC after a delay. 300ms seems enough. I then have MIDI Translator output to a virtual MIDI port (possible using loopMIDI or MIDI-YOKE) which is then routed into Traktor to trigger the Send Monitor State command. Encoders must be configured to work in Relative Mode, otherwise the associated parameter could jump back in the software if the encoder continues to be turned before the 300ms delay has elapsed.

This solution ain't pretty, as it requires two other pieces of software running to do the MIDI routing. However, it is not too ugly either: If either MIDI Translator or MIDI YOKE crash, the BCR would continue to work as normal, but the LEDs would no longer match the software.

I have also tried mapping Send Monitor State to the Shift button, inverted so that it gets sent when the key is released. This works fine but you need to ensure you releae the Shift button long enough (~300ms) after you stopped turning the encoder. This solution proved ineffective because I instinctively release the button as soon as I achieve the desired sonic result, only to realise that the LEDs no longer match the software because I didn't hold the button down long enough.
Leoma Larouche
04.11.2013
Originally Posted by Stewe
It seems that controller didn't refresh the output of the modifier state. Try to map Send Monitor State command to your shift button. Don't forget to assign correct mod vales for both Output commands.
Not quite THE solution but certainly a good compromise.

Essentially the BCR blocks incoming MIDI to any encoder that has just been turned, for a few hundred milliseconds, say, 500ms. This delay is obvious if you map both the main out level meter and also the main out level knob to the same encoder. When you turn the encoder the LED ring "freezes" for a short time, and then continues to be updated after the said delay.

Traktor sends MIDI as fast as it can, and to the best of my knowledge there is no way to insert a delay in Traktor.

I'll see if I can believe of something else, and if I do I get a feeling it's not going to be pretty.
Latoria Kavulich
03.11.2013
Paging Tekki to the Batphone !
Kellie Myrum
03.11.2013
It seems that controller didn't refresh the output of the modifier state. Try to map Send Monitor State command to your shift button. Don't forget to assign correct mod vales for both Output commands.
Leoma Larouche
03.11.2013
Same issue reported in Post #5 of this thread.

Also, Post #3 in this thread hints at the fact that relative mode is the way to go but LED rings won't work. Shame, I do like those pretty LEDs.

<< Back to Reviews of DJ equipment Reply

Copyright 2012-2023
DJRANKINGS.ORG n.g.o.
Chuo-ku, Osaka, Japan

Created by Ajaxel CMS

Terms & Privacy