BCF2000 + LC2412

Archive of the non-categorized posts related to the QLC+ technical support.
Please do not create new threads here, instead, use the categories above !
Post Reply
Jano Svitok

I have written [small howto](https://github.com/mcallegari/qlcplus/w ... and-LC2412) for connecting LC2412 through BCF2000 and using them both as control devices. You may find it useful.

Please let me know if you find any unclear parts, or you have any improvements!
Willy_Pinguino

the setup semes be interesting... but the LC2412 is a non common hardware... can be done the same thing with other China-made consoles that have a midi out? (maybe I can try it directly following your howto...)
in any way, all the faders and button in LC2412 are selectable in QLC+ to assign it in VC?
do you use the "auto select" function to assign it?

can you describe your setup and configuration with the BCF2000 to have a correct feedback? I've a BCF2000 in test just now but if I want use the feedback function, when I move a fader and some other is not to 0, the not 0 faders moves down in casual ways (not completely to 0 but moves down around 70/80% less the previous value) and I don't understand if the problem is in the BCF2000 setup or in my QLC+ configuration (I use it on OSX 10.6.8, with Artnet output via LanBox LCE)
Jano Svitok

First: I created this topic in wrong forum, let's get this to Feedback forum.

Nevertheless, I was able to reproduce the problem as well. That means most probably you configured your stuff properly. The problem is in QLC+. See https://github.com/mcallegari/qlcplus/issues/141
Jano Svitok

Hi Willy,

I was able to fix the problem last night. If you can compile from source, try it, otherwise you have to wait for the next release.

For me now QLC+ and BCF behaves normally (Ubuntu 13.04 here).
DJefke

If with the "China-made consoles" you refer to the SceneSetter consoles, the answer is no. Well, you can use the MIDI out on those consoles, but they only do MIDI for the buttons, and not the faders. Quite useless.
Willy_Pinguino

thanks for the help! I'm happy to don't be the cause of this strange issue :)
really I'm happy that the problem isn't in my hardware (would be a problem because "my"hardware is only a loan...)
well in the last live I've used the BFC2000 without the feedback and it isn't so bad... ever better that use all with mouse only :)

I'll try to compile the patched code to see if it's work for me too, but I'm not so used to compile programs from sources... well we will see the results :)
Matthew Marks

I've just acquired a BCF2000 and I was impressed with how well integrated it is, but also experienced the feedback bug, so I'm glad to read about the fix - thank you.

I was a bit disconcerted to find that half a fader's potential resolution is lost as only 7 bits are transmitted (0-127 which QLC+ doubles), until I read in the manual about 14-bit mode. Unfortunately this makes no difference with QLC+ because I assume it's ignoring the lower bits. I haven't looked at the code yet but I imagine that fixing this would be quite simple and something I would be capable of doing when I have the time, but I'm mentioning it here now in case anyone has any thoughts on the metter. Studying the fix might also point me a where I should be looking in the code.

I'm going to start another thread with further ideas about the BCF2000.
Jano Svitok

14-bit mode works by sending two consecutive CC messages (one for high-order 7 bits and the other for low-order 7 bits). That means you need to add some caching to QLC - currently QLC maps MIDI messages to DMX values 1:1. You'd need to implement both ways (input and feedback/output).

Additionally, you'd need to define that a particular CC is sending 14 bit data since it seems that it's not detectable in runtime. This definition most probably belongs to profile definition.

Starting point is this: https://github.com/mcallegari/qlcplus/b ... otocol.cpp
Matthew Marks

Thanks. I have hooked the BCF2000 to a midi monitor and that's indeed what it does. The first CC message is high-order and has the number assigned to the fader (3rd rotary control - "PAR"); the second one is that number plus 32. It insists on the number assigned being less than 32, otherwise the mode returns to 8-bit when you stop editing. That's to distinguish between the high and low order messages unambiguously. (I read that it is permissible to send high- or low-order messages consecutively if only the one value needs to be updated, but the BCF2000 doesn't seem to do this.)

You could use a strategy to guess the mode: if it receives two consecutive CC messages within a certain period, numbered x and x+32, where x < 32, then that's pretty certain to be a 14-bit value; a confidence counter could make it even more robust. If you set the fader range to 0-255 then the high-order value will only ever be 0 or 1, making the distinction even clearer.
Matthew Marks

I have got 14-bit input with automatic mode detection working - an actual contribution to the code :-). Detection does not use a time limit or a confidence count so I've set it to expect a range of 0-255 to provide the best protection against erroneous interpretation of 8-bit commands as 14-bit.

I need to do 14-bit feedback before the patches are fit for release. I haven't looked at this yet but the input code will need to tell the output code what mode to use, and as input and output are handled by separate classes, this might be tricky.
Matthew Marks

I've now had some time to do work on feedback, though so far only for ALSA (Linux). Although conversion from MIDI to DMX is done in the common file midiprotocol.cpp, the corresponding reverse conversion code is not used, so there may be something preventing the use of shared code in this situation.

Once I've added the other architectures and it's approved, QLC+ will automatically detect any BCF2000 faders, BCR2000 encoders, or push encoders that are in 14-bit mode (and max value set to 255), doubling the resolution. It seems to work well, the only problem being that feedback to a 14-bit control from the virtual console won't work until the physical control has been moved once. This is because QLC+ defaults to 7-bit mode and learns that a control is 14-bit by receiving input from it. I haven't tried yet but I imagine that storing the controls as a preset and then recalling it would teach the program the mode of all controls, as it should dump all the control positions. This will also cause the control surface to remember the modes permanently.
Travis Cook

I'm trying to read your how-to for using the BCF2000, but the link appears broken. I just get a page talking about translations and how to build QLC+

Any chance you can post a new link?
Jano Svitok

Sorry,

I moved the page to online help and deleted the wiki page. I have now reverted the wiki back as it was. Sorry for confusion.
Post Reply