It’s my first time using the new MIDI remote after getting a Stream Deck Plus yesterday. Among many other things, I want to use the Stream Deck as a controller for Volume, Pregain and Sends for the selected track, but I’m running into an issue where small movements will immediately jump back to the previous value. Broader rotations work somehow, but are very janky and need 4-5x the rotation than should be necessary.
I’ve attached a short video below. As you can see, moving the left knob by 1 click will shortly advance to the next value but then immediately jump back. Rotating it faster works somehow, but is extremely janky.
The middle knob which I’m using afterwards shows how it should look like (this one is using the pickup mode).
This is not a problem if I use a Generic Remote, but there I don’t have a way to control the pregain fader which I depend on, so it isn’t really an option. It also seems to be no problem using any other mode than ‘Jump’, but that way the controls on the Stream Deck don’t update when switching to another track.
So does it send inc/dec values, or does it send exact values, please? Could you provide an example, what exactly happens, if you move the encoder by 1 step/click to the left and 1 step/click to the right, please?
It sends exact values. What happens is this (mostly visible in the video I posted above as well):
The volume fader on the Stream Deck is at -5.66db
I turn the knob by 1 click. It quickly flashes to the next value (-5.28db), but immediately jumps back to the previous value of -5.66db.
In Cubase the actual value always stays ‘1 CC value’ ahead. So if the Stream Deck shows -5.66db it’s actually -5.28db in Cubase, -4.9db is -4.53db etc
But the weird thing is that this only happens in specific ‘ranges’. For example from -2.65db to 0db, there is no rubberbanding and the Cubase and Stream Deck values are perfectly in sync. Same thing from -13.2db to -12.1db.
Yes! In the video at the beginning the left knob is at MIDI CC 1, value 80, which corresponds to -5.66db. I then turn it to the right, which sends out CC1 at value 81, but Cubase seems to send back CC1 at value 80 again which immediately resets the knob to value 80.
I didn’t find any related issues when searching, but now I see those old threads emerge. So this problem has been known for over a year and it still isn’t fixed?! Can’t say I’m surprised anymore… Just tried the freshly released 12.0.60 and that update of course doesn’t fix it either.
So is it possible to circumvent this bug somehow? Maybe with scripting? I’m not a programmer, but willing to try it to make this work (if Steinberg can’t fix their stuff, I have to do it myself I guess…).
Then it must be the same issue. Because it is the same situation in fact. The hardware sends a new value. Cubase receives it but it sends the old one back to the hardware. The value in the hardware becomes updated (to the original one) and jumps back.
There is no way around at this moment. Can you change the encoder mode on the hardware by any chance? Can you set it so it sends inc/dec values, like Mackie V-Pots do?
Hi @Bockbier, I assume you wrote an API based Script? You can stop the hw-feedback of the Knob’s messages by NOT calling “.setOutputPort” in the mMidiBinding. If you used the Surface Editor-UI, you can deselect the “transmit to hardware” checkbox.
No, this is entirely using the the Surface editor, no scripting yet. And yes, disabling ‘Transmit to Hardware’ does indeed ‘fix’ the rubberbanding, but of course then my volume/decibel values do not update on the Stream Deck when switching between tracks, which for me kind of defeats the purpose of having this device in the first place.
I think the trouble is that MR values are processed as a decimal ratio of the total range.
i.e. All VST parameters go from val 0 to 1.
When these get rounded back to a CC value they can fail to move on correctly.
I.e. if you had a parameter that had 4 values (Such as an EQ type or something) you’d get something like this:
So value 1 = 0.25 in the MIDI Remote, which gets sent back to your controller as Val 32 (Once Rounded).
But when you start getting to higher range parameters (>127) the rounding can go astray, which is where you need to use the API to apply a correction, or buffer to allow the controller to go beyond the rubber-band point.
i.e. this shows the duplications (in red) that occurs if the VST parameter you’re controlling has 160 steps:
So an example of that chart, If you were currently on VST Value 31 and turned one increment on your controller, VST Value 32 would return CC Value 25 - which then rubber-band it, as CC Value 25 = VST value 31 too.
Hope i’m making sense!
Can you use a higher resolution on your controller perhaps? (14 bit) - I’m not sure if that would work or not, but people have volume feedback running on the stream decks so it’s clearly doable.
I’ve made a conscious effort to not mess about with controllers for the past few months and get back to making music, so not really up to speed with it all right now. But hopefully this can guide you in the right direction.