The interpolation is very similar to the automation.
It sends a set of values over time, given by a curve, and it is green instead of red.
However, instead of sending values that graphically looks like the curve, it sends values
that are interpolated between the first and last state of the parent constraint for its address.
From an edition point of view, an interpolation is identical to an automation : it is just a curve.
In order to work, an interpolation requires :
- An address.
- A start state with a value for this address.
- An end state with a value for this address.
For instance, with comment blocks to show what’s in the states :
For now, this curve behaves exactly like an automation : at t=0, the value 0 will be sent, at mid-course, the value 25, and at the end, the value 50.
A first difference arises if the states are in the other order :
Here, even though the curve seems to increase, the value will actually do 50, 49, …, 25, …, 0.
- A point at the bottom of the curve has the value of the start start
- A point at the top of the curve has the value of the end state.
The interpolation is also useful with arrays : each array value will be interpolated one-by-one.
For instance, in this case :
The sent values will look like [ 10, 0, 5 ], [ 9, 1, 5 ], …, [ 5, 5, 5 ], …, [ 0, 10, 5 ].
Values of non-interpolable types (strings) will just be copied for each sent message.