I would like to apply a negative offset to a Cantabile gain slider so that, wherever the slider is when first addressed, it reduces by my desired range of offset when the ‘dumb’ (non bi directional) CC is received from the controller.
It’s easy to have a non offset action like this but the offset protocol is eluding me.
Not mentioning any names, but…… @dave_dore!!
If you’re not Lazy Sunday Afternoon (ing) is it possible?
Hi Ade,
I know how to offset the MIDI input value but I would need @brad to explain how to offset db values. (if it can be done). To offset the input slider you can go with a binding like this. The problem is that the logarithmic scaling of the Cantabile slider will provide different amounts of gain reduction depending on the location on the scale that you rest at.
hope this helps but would love to get Brad’s input.
ADDENDUM
This not right with the minus one in the expression, it causes a huge jump to 0 db when it sees the 1 so I will need to look at it some more. Sorry for the confusion.
OK, I came up with this, which is what I was meaning to show in my first try. It tracks like expected along the range of the scale. Make sure the MIDI Control curve is the same as the Slider Control Gain curve in options for it to align correctly. My example is minus one MIDI CC value with respect to the input.
Cheers,
Dave
Wow, looks good!
Will try ASAP and report.
Not sure I really understand this discussion, but it sounds like something where jump prevention might be useful. Jump prevention lets you map a controller to a setting but it only takes effect once the source value catches and passes the target value.
I think Ade wanted to have a binding that allowed him to take the MIDI CC (0~127) as a source to a Cantabile slider (infinity to +7.3 db) as the target but also include a negative offset (in db) to the target. So on a standard binding 127 MIDI source would be +7.3 db target slider but in the binding with the negative offset included a 127 MIDI source value would produce something less than +7.3 db and determined by the negative offset amount in db.
I couldn’t figure it out but wanted verification that it either wasn’t do-able or how to script it.
Thanks for looking at it.
Just for clarity, the objective is that a dumb controller slider, with no knowledge of Cantabile’s status, can address the target, in this case a Cantabile gain slider, and move it from wherever its current position is, by a prescribed amount (negatively, in this case, but either up or down as required) and then to be able to return to the starting value.
I’m guessing that jump prevention will be a crucial component.
I ended up doing this a simpler way, with a binding to gain that always operates in the desired range, then use a gain slider above that in the hierarchy to set the start point.
Not quite the same technically but for all practical purposes…,
I was over complicating.
I am not sure if this is the same, but I had a similar issue and solved it by writing a ReaJS script, see ReaJS script to turn absolute rotators into relative - #6 by TorstenH
I used it for rotators, but a slider would be similar.
Your Abs2Rel is working well on my SL88+Mixface.
I didn’t thank you when you posted it. I thank you now.
I also use it on the SL88 + Mixface. I briefly mentioned it for Brad and suggested it as a standard feature for Cantabile, but it is very different from the other midi filters, as it requires a ‘memory’ for storing the previous value. All other midi filters are just on-the-fly calculations. So I’ll stick with the Abs2Rel solution for now. Still prefer to use standard features if at all possible - my setup got far too complicated (it crashes at nearly every rehearsal gig), so I keep looking for ways to make it simpler.
I know the feeling, I have been struggling with these things since the first polysynths with memory.
The Nord Lead 3 was (and still is) great, with its rotary encoders surrounded by LEDs. The alternative is motorized pots.
So, your Abs2Rel is welcome.