helgoboss / helgobox

Helgobox: ReaLearn & Playtime
https://www.helgoboss.org/projects/helgobox
GNU General Public License v3.0
211 stars 20 forks source link

Add controller preset for Behringer BCF2000 #375

Closed helgoboss closed 2 years ago

helgoboss commented 3 years ago

Preset location (quoting from the user guide):

Thanks a lot, I missed that.

So, attached is my first attempt of a preset for the Behringer BCF2000 (https://www.soundonsound.com/reviews/behringer-bcf2000-bcr2000). This preset covers the Behringer factory preset 1 of the controller, in which all the relevant encoders, buttons and faders send CC messages on channel 1. I mapped all the controllers that do send such messages, but left untouched those buttons that do not send any MIDI message in that preset either. The excluded buttons instead define 4 banks for the push encoders, allow to switch presets etc. I mapped all the banks, i.e. there are 32 encoders in the mapping, while there are only 8 hardware encoders on the device.

I think the actual mapping of this Behringer factory preset is fine and finished, but I am not yet 100% happy with the current projection layout. It just needs a lot of space currently. This device features push encoders, i.e. the rotary encoders additionally function as buttons, that send different CC than the encoder. In the projection, I represented all those push encoders by two GUI elements, an upper element representing an encoder, and a lower one the controller sent when the encoder is pressed like a button. I think ideally these two elements would be arranged in a concentric fashion, e.g., with the button being represented by an inner circle. However, I don't know how this would be best handled graphically in this interface such that the value feedback and the labels don't get in each other's ways.

Also, as mentioned I explicitly represented all 4 banks of the device directly. The advantage of that would be that one can see the mappings and current values of all the 32 encoders at the same time. On the other hand, this again takes rather much space: the four banks are represented in four rows (each controller as a pair, as discussed above).

BTW: The lowest row of encoders in the projection is bank 1, bank 2 is above that and so forth. The idea here is that bank 1 is that way closer to the faders. So, in case one uses only 1 or 2 of the banks one can zoom in at the projection display so that only those rows are shown.

OK, below is the relevant link. Feedback on how this can be improved is most welcome. :)

bcf2000_preset_1.json.zip

PS: In principle it is possible to turn all buttons on the device into controller elements and that way gain 10 more buttons for whatever mapping. I did not do this here, because when using a plain factory present there is then no need for others after downloading this Realearn controller preset to also download somewhere else some custom Behringer BCF2000 preset and to upload that to the device (which is a bit tricky). Perhaps more importantly even, if all buttons on the device are "captured" and used for custom mappings then it is not possible any more to switch Behringer BCF2000 presets on the device. So, doing something like that would only be interesting for people who want to fully "surrender" their device to ReaLearn. (The DrivenByMoss mappings happen to do exactly this, and I had figure out that I would first need to delete their Behringer BCF2000 preset before being able to use the device differently again.) I think the beauty of ReaLearn is that if you need more buttons you can simply get yourself another MIDI controller and add that!

Originally posted by @tanders in https://github.com/helgoboss/realearn/discussions/373#discussioncomment-765098

tanders commented 3 years ago

BUG of the linked file: I renamed the preset file without renaming the actual preset. The file name is probably more clear than the current preset name...

helgoboss commented 2 years ago

Thanks a lot for the contribution. I finally managed to make this available here. Not in ReaPack because unfortunately I can't find enough time to look into those presets and check if they adhere to the standards.