Old 01-21-2019, 02:04 PM   #1
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default BCR2000 rotary encoder feedback from plugins

Hey all,

I recently purchased a BCR2000 and want to use the encoders to control various plugins. I first set up plugin parameters with the learn function to be controlled by encoders, which works fine. But I want to LEDs on the encoders to change to the right settings when I change tracks---and, not absolutely required, to respond when I change the parameters within Reaper.

I could not find any way to do that natively, so I looked for plugins/scripts. Both ReaLearn and LBX Stripper manage to send feedback to the encoders, but in both cases the encoders become jerky and slow. I reckon because the sending and receiving of messages gets messed up.

Is there any way to implement feedback without changing the responsiveness of the encoders? That would be stellar.


Btw, this is ReaLearn: https://www.helgoboss.org/projects/realearn/
And this is LBX Stripper: https://forum.cockos.com/showthread.php?t=182233 https://github.com/L-B-X/LBXStripper
Garwyx is offline   Reply With Quote
Old 01-21-2019, 10:49 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

This is what "CSI" is all about. See the appropriate thread right here.

-Michael

Last edited by mschnell; 01-30-2019 at 08:01 AM.
mschnell is offline   Reply With Quote
Old 01-21-2019, 11:18 PM   #3
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Thanks. I think this is what you mean: https://forum.cockos.com/showthread.php?t=183143
Am I correct? I'll delve into it.
Garwyx is offline   Reply With Quote
Old 01-29-2019, 04:32 PM   #4
jamesd256
Human being with feelings
 
jamesd256's Avatar
 
Join Date: Dec 2015
Location: Folkestone
Posts: 196
Default

I also grabbed an old BCR2000. I'm going to hijack your thread, as we're on the same path and maybe we can help each other.

I think I understand the CSI project. Got it installed and seems to work for MCU compatible devices I have.

It's early days, so I am not sure where to start getting my BCR all set up via this route, and we are pre-alpha. I would hope in time this becomes the way to go and config will be available for the BCR. I'll do it myself if and when it's needed and I figure things out.

I've also read the thread of lb0's Smart Knobs script, which also promises to map out the controls on midi surfaces to FX params, with feedback and with some nice additional convenience features:

https://forum.cockos.com/showthread.php?t=204972


There is also this, a ported 64bit extension for the BCR, but the links are dead, so if anyone has the dll?

https://forum.cockos.com/showthread.php?t=204972


Finally, there is just trying to learn and map the encoders with the built in tools, obviously with no feedback, but this is behaving weird for me.

The BCR I bought is a rescue job. Doesn't show up when connected via USB, but the midi ports do work it seems. Reaper sees it, and I enable the input and also for control.

Mapping this midi data source to either actions (CC) or FX, via learn doesn't work, because reaper doesn't see the signal. The strange behaviour is that if I have a track armed and set to receive midi from the BCR, I can then map the encoders as expected. If I disarm the track again, silence. Surely this is not normal?
jamesd256 is offline   Reply With Quote
Old 01-30-2019, 12:53 AM   #5
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Thanks for diving in.

If I enable Input + Control on my BCR, the learn function works, and I can also write automation. If I read back the automation and have the track send MIDI, this shows up on the BCR. So indeed I would say the behaviour you describe is not normal.
Garwyx is offline   Reply With Quote
Old 02-08-2019, 01:16 AM   #6
theFRXST
Human being with feelings
 
theFRXST's Avatar
 
Join Date: Mar 2017
Posts: 132
Default

I have a midi fighter twister, never been able to get the encoder knobs to work with visual feedback, if you figure it out i want to hear about it
__________________
thefrxst.com
theFRXST is offline   Reply With Quote
Old 02-10-2019, 06:23 AM   #7
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Using realearn to map to the faderbox mentioned in the lbx smart knobs script works exactly as you want it to.

With realearn sending the feedback, there are no parameter jumps. And the smart knobs script is fantastic for mapping and it does a great job. No bugs, no "forgotten mappings" The leds update on my twister when I change plugins and when I move parameters with my mouse or even moving them in the smart knob script gui. They all talk to each other seemlessly.

The video doesnt demonstrate the moving parameters but it shows how the twister updates when different plugins have focus.

https://drive.google.com/file/d/1Aae...w?usp=drivesdk

I sort of think I've tried to help one or two of you before and I'd love to try again if it didnt work the first time. I'm so happy with this set up I feel like it's a dream!
cjewellstudios is offline   Reply With Quote
Old 02-10-2019, 09:31 AM   #8
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Quote:
Originally Posted by cjewellstudios View Post
Using realearn to map to the faderbox mentioned in the lbx smart knobs script works exactly as you want it to.

With realearn sending the feedback, there are no parameter jumps. And the smart knobs script is fantastic for mapping and it does a great job. No bugs, no "forgotten mappings" The leds update on my twister when I change plugins and when I move parameters with my mouse or even moving them in the smart knob script gui. They all talk to each other seemlessly.

The video doesnt demonstrate the moving parameters but it shows how the twister updates when different plugins have focus.

https://drive.google.com/file/d/1Aae...w?usp=drivesdk

I sort of think I've tried to help one or two of you before and I'd love to try again if it didnt work the first time. I'm so happy with this set up I feel like it's a dream!
Please! In my case the LBX Stripper also makes the encoders behave jerky (although not as bad as with ReaLearn).

But you do not have a BCR? It might be different with the fighter twister.

Last edited by Garwyx; 02-10-2019 at 09:56 AM.
Garwyx is offline   Reply With Quote
Old 02-10-2019, 09:44 AM   #9
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by Garwyx View Post
Please!

But you do not have a BCR? It might be different with the fighter twister.
Yeah I just have the twister so it could be different but it also could be the same. They are just endless rotary encoders. Plus I believe I've seen videos of bcr's taking feedback.

Anyways, try the lbx smart knob script out.

When you get to the point where you are mapping your controller to the faderbox plugin, use realearn instead of native midi learn, and then select the bcr as the feedback device on realearn. And make sure you disable anything related to feedback in the smart knob script.
cjewellstudios is offline   Reply With Quote
Old 02-10-2019, 10:07 AM   #10
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Quote:
Originally Posted by cjewellstudios View Post
Yeah I just have the twister so it could be different but it also could be the same. They are just endless rotary encoders. Plus I believe I've seen videos of bcr's taking feedback.

Anyways, try the lbx smart knob script out.

When you get to the point where you are mapping your controller to the faderbox plugin, use realearn instead of native midi learn, and then select the bcr as the feedback device on realearn. And make sure you disable anything related to feedback in the smart knob script.
So you use ReaLearn to quickly learn the MIDI commands from the BCR and parameter settings of FaderBox instead of the plugins themselves? Then I expect ReaLearn will still send and return data all the time, resulting in jerky feedback.
Garwyx is offline   Reply With Quote
Old 02-10-2019, 10:15 AM   #11
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by Garwyx View Post
So you use ReaLearn to quickly learn the MIDI commands from the BCR and parameter settings of FaderBox instead of the plugins themselves? Then I expect ReaLearn will still send and return data all the time, resulting in jerky feedback.

Yes precisely. Except for the jerky feedback. I dont know the technical reasons and behind the scenes business but I would venture to guess it's actually a good thing that realearn is just looking at faderbox and smart knob script is doing the interfacing with all the mappings. It really works out extremely well.
cjewellstudios is offline   Reply With Quote
Old 02-10-2019, 11:01 AM   #12
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

I think I don't know enough of how LBX works. What is FaderBox? There is nothing in the downloads called that way.
I can right-click a parameter encoder within LBX Stripper and set MIDI Output, so it sends MIDI data to the BCR as feedback. That is slightly less jerky as with ReaLearn. The polling rate is probably lower.
Garwyx is offline   Reply With Quote
Old 02-10-2019, 11:20 AM   #13
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by Garwyx View Post
I think I don't know enough of how LBX works. What is FaderBox? There is nothing in the downloads called that way.
I can right-click a parameter encoder within LBX Stripper and set MIDI Output, so it sends MIDI data to the BCR as feedback. That is slightly less jerky as with ReaLearn. The polling rate is probably lower.
You have to get faderbox from the lbx stripper repository on github. He mentions this somewhere in the instructions either in the forum post or the smart knob repo on github.

Faderbox is just a super simple plugin that the smart knob script recaps every time a plugin takes focus. (I think that's how it works anyways)

But the lbx "smart knobs script" is what I use. Not stripper (although that seems cool too)
cjewellstudios is offline   Reply With Quote
Old 02-10-2019, 12:51 PM   #14
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Quote:
Originally Posted by cjewellstudios View Post
You have to get faderbox from the lbx stripper repository on github. He mentions this somewhere in the instructions either in the forum post or the smart knob repo on github.

Faderbox is just a super simple plugin that the smart knob script recaps every time a plugin takes focus. (I think that's how it works anyways)

But the lbx "smart knobs script" is what I use. Not stripper (although that seems cool too)
Ok, I got things working! It seemed the FaderBox plugin was a file without the .jsfx. I now have it set up as follows:

- Track called __LBX_SKCTL with ReaLearn on the Input FX and FaderBox as an Insert FX
- ReaLearn Source is a BCR encoder, and Target a fader on FaderBox
- With the LBX_SRD_SmartKnobs.lua script, faders of the plugin are mapped (either automatically or manually)

The feedback is still jerky, but a lot less. This is actually usable! It does not matter whether I have FaderBox's "Send Midi Feedback" enabled or disabled, because it is ReaLearn that is sending the feedback. Maybe things can be optimised?

Edit: there might be another issue. I want the BCR to control the plugin on the selected track, regardless of whether it is in focus. It seems Smart Knobs works with focus. Are they mutually exclusive?
Garwyx is offline   Reply With Quote
Old 02-10-2019, 01:18 PM   #15
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by Garwyx View Post
Ok, I got things working! It seemed the FaderBox plugin was a file without the .jsfx. I now have it set up as follows:

- Track called __LBX_SKCTL with ReaLearn on the Input FX and FaderBox as an Insert FX
- ReaLearn Source is a BCR encoder, and Target a fader on FaderBox
- With the LBX_SRD_SmartKnobs.lua script, faders of the plugin are mapped (either automatically or manually)

The feedback is still jerky, but a lot less. This is actually usable! It does not matter whether I have FaderBox's "Send Midi Feedback" enabled or disabled, because it is ReaLearn that is sending the feedback. Maybe things can be optimised?

Edit: there might be another issue. I want the BCR to control the plugin on the selected track, regardless of whether it is in focus. It seems Smart Knobs works with focus. Are they mutually exclusive?
So yeah, that's how it works, plugin has to be in focus.

I wonder why it's jerky. Mine has been buttery smooth! I would disable feedback from smart knobs just to be safe anyhow, you definitely aren't using it like this. What are your settings in realearn?

here are mine:

EDIT: tried to attach an image but I suck at that for some reason. Anyways, the important stuff is... Character is set to knob/fader and type (down in the bottom section) is set to absolute


Since this worked so well for me. I just adapted my workflow to make sure Im focusing the plugins as I go.

LB0 actually helped out with that too! There's another script of his called LBX FX Positioner. It can basically center a plugin on your monitor which is cool in it's own right. But because of my request, he made an option so that when you scroll through the plugins with his actions, it actually focuses the plugins too.
cjewellstudios is offline   Reply With Quote
Old 02-10-2019, 01:21 PM   #16
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

Quote:
Originally Posted by cjewellstudios View Post
So yeah, that's how it works, plugin has to be in focus.

I wonder why it's jerky. Mine has been buttery smooth! I would disable feedback from smart knobs just to be safe anyhow, you definitely aren't using it like this.
I think the problem is in the BCR. The encoders seem to receive their status from the LEDs, which creates a weird kind of internal feedback. Mixed with the plugin feedback causes a mess.

Quote:
What are your settings in realearn?

here are mine:

EDIT: tried to attach an image but I suck at that for some reason. Anyways, the important stuff is... Character is set to knob/fader and type (down in the bottom section) is set to absolute
Same. That should work.


Quote:
Since this worked so well for me. I just adapted my workflow to make sure Im focusing the plugins as I go.

LB0 actually helped out with that too! There's another script of his called LBX FX Positioner. It can basically center a plugin on your monitor which is cool in it's own right. But because of my request, he made an option so that when you scroll through the plugins with his actions, it actually focuses the plugins too.
The cool thing with the BCR would be that I would never have to look at the plugins, but simply use the BCR.
Garwyx is offline   Reply With Quote
Old 02-10-2019, 01:31 PM   #17
cjewellstudios
Human being with feelings
 
Join Date: Sep 2017
Posts: 998
Default

Quote:
Originally Posted by Garwyx View Post
I think the problem is in the BCR. The encoders seem to receive their status from the LEDs, which creates a weird kind of internal feedback. Mixed with the plugin feedback causes a mess.


The cool thing with the BCR would be that I would never have to look at the plugins, but simply use the BCR.
Strange! Maybe that's what it is then.

And yeah, I'm trying to get there too with my setup. My idea was a diy console one with my choice of plugins. Pretty much there, but I have to memorize all of the controls. Something similar with scribble strips and then having the ability to send the track parameter names to the scribble strip would be ideal.

But Im glad we at least took a step in the right direction, even if we also took a step back
cjewellstudios is offline   Reply With Quote
Old 02-15-2019, 09:19 AM   #18
Garwyx
Human being with feelings
 
Join Date: Oct 2015
Posts: 63
Default

I just found out something upsetting about ReaLearn: it works on FX number. So if I set up a certain parameter for a certain plugin that is set as the first plugin on the track, it works, but if I set another plugin as the first one on that track, the same controller will now manipulate a parameter of the new plugin.
Garwyx is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:42 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.