Posted: 19 Sep 2011, 17:21
I'm not sure if this is a feature suggestion or just a tip to what you can do with missing responsiveness when using the Soft Take Over option. I haven't digged very deep into the behaviour of the take over; whether it just responds when you have an exact match between the CC value and the fader, or if there's a certain margin involved, but as it is it works best for smooth changes. At least unless the controller sends out all the CC values when moved quickly. Neither my Axiom nor my FC300 do that, and I suspect that most controllers don't. Example values from quickly moving the Axioms's ModWheel from zero to full and back again: 0, 18, 48, 89, 127, 120, 70, 1, 0.
Before it was introduced as an option in Usine, I tried to create some scripts to simulate a soft take over behaviour that I liked without success. But now - as I'm creating a workspace where I need both smooth and rapid changes - the new equation module started me thinking anew, and I think I've found a good compromise between smooth and rapid, and it's easy on CPU too. (Not that this couldn't be done with standard modules, it's just that being able to use a good, old IF-statement made me think again.)

I'm using different checks:
- abs(b-c)<=d*.02: A small percentage of the max (or max-min) value to have a margin where the slave will snap to master.
- a==c: The previous master value equals the current slave value.
- (a<c and c<b) or (a>c and c>b): The master values have "crossed" the slave value.
If one of the above conditions is met, the slave receives the master's value, otherwise it gets its own value.
The down side I can see to this approach, is that the physical controller sending the CC values might have been moved since the last update of the patch values, either because some other preset has been used sending some other CC message, or that the patch has been turned off, but I can live with that.
The Soft Take Over option obviously has to be turned off in setup for this to work.
Before it was introduced as an option in Usine, I tried to create some scripts to simulate a soft take over behaviour that I liked without success. But now - as I'm creating a workspace where I need both smooth and rapid changes - the new equation module started me thinking anew, and I think I've found a good compromise between smooth and rapid, and it's easy on CPU too. (Not that this couldn't be done with standard modules, it's just that being able to use a good, old IF-statement made me think again.)

I'm using different checks:
- abs(b-c)<=d*.02: A small percentage of the max (or max-min) value to have a margin where the slave will snap to master.
- a==c: The previous master value equals the current slave value.
- (a<c and c<b) or (a>c and c>b): The master values have "crossed" the slave value.
If one of the above conditions is met, the slave receives the master's value, otherwise it gets its own value.
The down side I can see to this approach, is that the physical controller sending the CC values might have been moved since the last update of the patch values, either because some other preset has been used sending some other CC message, or that the patch has been turned off, but I can live with that.
The Soft Take Over option obviously has to be turned off in setup for this to work.


