andymees
2015-11-02 13:57:39
Hey All
Very new to all of this, and trying to build accurate translators for an old set of flying faders for use with Adobe Premiere.
The translator's transform function for mapping hardware fader control to the software faders is working okay.
All the possible values for variables calculated within the translator's rules fall within allowable range (i.e. within signed 32-bit integer range)
But the inverse transform function, for the translator which maps software fader control back to the hardware faders, is not working.
Lots of potential variable values that are well outside acceptable range + a constant value that is larger than acceptable range.
Is there a proper method / best practice for dealing with 32-bit integer limitations?
My translator should provide accurate translation using the transform below:
xx=oo+7756
ss=xx*xx // creates large values for ss, but within 32-bit integer range
pp=ss*241238 // can create values outside acceptable 32-bit integer range
rr=xx*475309458 // can create values outside acceptable 32-bit integer range
pp=pp-rr
pp=pp/306987237600 // this value is too large to be held and is truncated to 2044559584
where oo is the input value, ranging from -7756 to 5980
I've created an "approximate" transform that keeps values within range, but it's not accurate and the software and hardware ends up fighting itself with the faders readjusting after I've let them go.
Appreciate any help and guidance.
Best
Andy
Very new to all of this, and trying to build accurate translators for an old set of flying faders for use with Adobe Premiere.
The translator's transform function for mapping hardware fader control to the software faders is working okay.
All the possible values for variables calculated within the translator's rules fall within allowable range (i.e. within signed 32-bit integer range)
But the inverse transform function, for the translator which maps software fader control back to the hardware faders, is not working.
Lots of potential variable values that are well outside acceptable range + a constant value that is larger than acceptable range.
Is there a proper method / best practice for dealing with 32-bit integer limitations?
My translator should provide accurate translation using the transform below:
xx=oo+7756
ss=xx*xx // creates large values for ss, but within 32-bit integer range
pp=ss*241238 // can create values outside acceptable 32-bit integer range
rr=xx*475309458 // can create values outside acceptable 32-bit integer range
pp=pp-rr
pp=pp/306987237600 // this value is too large to be held and is truncated to 2044559584
where oo is the input value, ranging from -7756 to 5980
I've created an "approximate" transform that keeps values within range, but it's not accurate and the software and hardware ends up fighting itself with the faders readjusting after I've let them go.
Appreciate any help and guidance.
Best
Andy